Checkpoint Neon
Updated a year ago
In the light, enforcers herd laborers into the Old City. In the shadows, the first shot of a rebellion is fired.

Final Video ( Looks best in full-screen!)

A bit about me

The first time I encountered Unity, I was trying to play a Web Player game I found on the back of a cereal box. My dial-up internet couldn't handle it, so I forgot about Unity for years. Fast forward and, having taught myself programming and Unity, I have a job making educational games with Unity when I'm not busy with university. The real reason I picked up Unity, though, is to make something much more exciting that that. So, I spend most of my free time experimenting with my own indie projects, small jam games and such, while pursuing a career in the games industry. Now that I think about it, probably ~25% of my waking hours have been spent in Unity the past several months.

Why Checkpoint Neon

I've always had some fascination with military checkpoints. In games, in the news, in movies, these intersections of civilian and military capture my imagination. Especially the lighting: stark, cold floodlights piercing through fog and filtered through fencing and concrete. It's beautiful, in a brutalist sort of way.
Seeing what was done in Neon and Adam with volumetric lighting and the Post-Processing Stack, I hoped that it would be possible for me to achieve one of these dramatic environments myself. So, without any proper reference material on checkpoints I began to build Checkpoint Neon.

Unity's free core assets

First of all: the Post Processing Stack. Achieving the bleak, high contrast aesthetic I envisioned for the checkpoint was made surprisingly quick and easy by the new Stack. Using the filmic color grading, I brought the contrast and saturation way up and lowered the temperature for a cold, dramatic color scheme. This coupled with the bloom effect was super useful for emphasizing the intensity of my bright white spotlights as well as the enchaining the glowing elements in the scene, such as the guards' faces. Especially after having used the old image effects system for years, I love how much control I have over the appearance of my environment with little extra effort and no extra cost.
Next up: the Timeline. The Timeline in particular had something of a curve for me at first, but this was eased by my prior experience with linear video editing software. Once I got the hang of it, I was able to achieve an unexpected degree of control and flexibility over my scene while writing less than 30 lines of code over the whole project. Even then, all of the code I wrote was for my own convenience and the same could have been achieved code-free with the timeline. For example, I wrote a small component to add natural-looking variation to the animations of the people in line (which I will cover later in the article). The same could have been achieved if I specified those variations manually in the timeline, but I'm far too lazy for that.
My favorite part of using the Timeline, and what really sets it apart from just using sequences of Tweens, was that I could instantly preview the action at any point in time without even entering play mode. Not having to sit through 2 minutes of animation just to tweak something 2.5 minutes in over and over again saved me hours of time over the week.
What really impresses me is that this all came together over the course of a week in my spare time. If I had to create every asset from scratch, I'd be looking at months of work for a scene like this.
Also: Cinemachine! All of the camera work in Checkpoint Neon is done with Cinemachine virtual cameras blended across a single Timeline track. I'm most happy with the transitions are between Cinemachine cameras, letting me treat each cam as a 'shot' I want to show at particular time, then letting Cinemachine handle everything in between. Again, because it all integrates with the Timeline, I can easily tweak my camera shots and transitions at any point on the Timeline instantly, saving hours of time that would have normally been spent watching the whole animation over and over again.
With the amount of time and tedium these core assets saved me, I focus all of my time and effort into creating something great. Given that I started in the last two weeks of the competition, without these time saving assets I doubt I would have had something significant to submit by the deadline at all.

WIP logs

1/15/18 - Stylizing and Finalizing

I loved the results I got so far for a dramatic, realistically shaded futuristic checkpoint. This achieved what I originally set out to, but I still felt that something was missing. Everything looked great but I still wanted more. I wanted something grittier, harsher. And in the asset Stylizer-Extended, I found what I was looking for. To really see what I mean, compare the 1/14/18 video and final video, especially the lighting.
The presets in Stylizer-Extended were a useful starting point for understanding how to get what I wanted out of the dithering effect before making my own custom color schemes, so I would recommend that over the Basic version.
The real power in Stylizer comes from the ability to easily customize which colors it uses, allowing me to bring out only the most important colors in my environment. I may write a more extensive article on how to accomplish this later.
The one downside is that, while great in real-time, some elements of Stylizer don't translate as well to recorded video uploaded to the web. After the video has been compressed at recording time and by Youtube on upload, a lot of the small detail Stylizer provides is lost or distorted. Differences in video player resolution seem to further distort the effect, so I recommend trying Stylizer out for yourself in real-time rather than relying on the quality of my final video.

1/14/18 - Background, people, and polish

No more are the placeholder models! I've gone into Make Human to throw together some actual human models for the unfortunate employees stuck in line outside Checkpoint Neon and given them new animations from the SCARED! - Mocap Animation Pack for reacting to the rebel assault and being held prisoner by the robots.
Perhaps my favorite addition is the now fully fleshed out surrounding scenery. Before, the checkpoint existed was surround by mostly placeholder cube-buildings. Now there is a complete surrounding environment with foliage, interesting shapes, and visual depth.
Also: the robots now have unique, custom modeled heads! I swapped out their old cube heads for my new custom model, updated the prefab, and BAM: no more cube-bots. I was even able to bring the same material from the old box-head over to the new one. PBR FTW.

1/11/18 - Sound, signs, and setting

Concept updates: I've started to flesh out the setting and reflect it better in the world. Checkpoint Neon stands at the border between the industrial district and a mass of gutted, decaying buildings where the lowest class citizens live. For the laborer class, you are your Timecard. It mandates your career, serves as your ID, and is your one and only justification for existence. Only with enough work hours recorded on their Timecard are you permitted to survive. Holo-signs: Using meshes created with the Snowstorm font and Blender with the holograph shaders from FORGE3D's Sci-Fi Effects asset, I've added holographic text to the checkpoint's gate.
Audio: I've added a loudspeaker to the checkpoint that broadcasts orders to those waiting at the checkpoint. The loudspeaker's messages are made with Amazon Polly, a text-to-speech service on Amazon Web Services. Audio was then mixed using Unity's excellent build-in Audio Mixers to be echo-y, indistinct, and sound as though it was coming from a low-quality speaker. This indistinct sound lets the loudspeaker contribute to the atmosphere without being overwhelming. Additionally, I have a reverb zone in the scene to give audio more of a presence in the world as all audio except the music is at least partially 3D.

1/10/18 - Volumetric lights, kit-bashing, and Timeline with Cinemachine

The checkpoint lies between a slum and an area that is higher income or industrial. Maybe it keeps lower class citizens from entering, or maybe it's part of a system that forces them to enter. After a night of experimentation it is important that I begin to start develop a cohesive story to that this environment should tell. To begin conveying the story behind my environment, I've started to replace my white-boxed architecture with more interesting shapes, kit-bashing together the gate and overhead beams using the excellent free Concrete Blocks Pack from the Asset Store. Also new: Massive lighting improvements using SlightlyMad's Volumetric Lights for Unity. Unity lets me do some great stuff with the lighting already, but this is crazy! Had to rethink how I lit my whole scene, but it was worth it. Now that I have the hang of using the Timeline with Cinemachine, I've also improved the animations and camera work a great deal.

1/9/18 - 3

Worked on this for almost 2 days now and the prototype architecture is starting to come together with the lighting. Also really enjoying the smile-bot checkpoint guards.

1/9/18 - 2

Started to white-box the general layout of things at my checkpoint and also prototyped the gate guards. The architecture is all just scaled default cubes and the guards are the bodies of a Sci Fi Space Mech asset with the heads ripped off and replaced. The glowy bits were made with a pack of Neon Glow displays from the Asset Store. The guards' faces are made from the same assets.

1/9/18 - Better late than never!

Having only found out about this challenge on 1/8/18, I'm a little late to the party. Here we go anyway! My rough concept is to have a checkpoint in a dark sci-fi setting. The checkpoint should be imposing and oppressive, with cold and impersonal guards imposing their will on the people trying to get through. Their may be a common neon 'open' sign over the boarder that, when the border is attacked or a person is rejected from the border, turns into a closed sign. The guards themselves should also incorporate neon in some way, perhaps an eerie face made of neon tubes.

Assets Used

  • Post-Processing Stack
  • Cinemachine
  • Unity Recorder
  • SlightlyMad's volumetric lights
  • Sci Fi Space Mech
  • I used the body as base for smile-bots, then gave them new heads, color schemes, and emissives.
  • Rifle Animset Pro
  • Neon Glow displays vol_1
  • KinoGlitch
  • Yughues Free Concrete Materials
  • Сoncrete Blocks (Pack)
  • Rain & Snow Prefabs
  • Snowstorm Font
  • SCARED! - Mocap Animation
  • Rain Maker - 2D and 3D Rain Particle System for Unity
  • Emotive Piano
  • AllSky
  • Universal Sound FX
  • Chain + Rope (Master)
  • Wet Road Materials
  • Photoreal Debris Pack Demo
  • Modular Prison Fortress
  • Stylizer - Extended
  • Destroyed City FREE
  • Sci-Fi Effects
  • Final IK
  • Chronos

Dan Hewlett
Software Engineer, Unity and Cloud - Programmer