Development vlog March
In March we finilized improvements to Timeline, reworked our inventory, added new models, effects and a new cool post-process.

Egor worked with timeline. Now you can speed up cutscenes by holding space.
Andrii helped Egor with timeline and improved the helicopter scene on the roof. Now if the player is hit while opening the final crate, he is immediately killed. Also, now if the player is wandering and does not know what to do – a timer would start right after he climbs to the very top. In 30 seconds, the final scene with zombies flooding would start automatically.


The Katchur family added a new batch of models. We are slowly finishing with Sewer models and moving towards Supermarket’s basement storage models.

I added a sewer underwater pipe burst effect and finally finished a dream of mine from many years ago: Light Color Grading. Now our lights can apply color grading effects. But only where they actually illuminate the area.
[previewyoutube][/previewyoutube]
Color grading is a post process effect that changes the color of every pixel of the final image according to a certain 3d texture map, called “look up texture” or “LUT”. They are also called “Instagram filters” sometimes, because Instagram popularized this technology in their app.

The problem with color grading is that there can only be one LUT at a time. When developers want to change the LUT the standard practice is to just smoothly blend the current one with the next one. It barely works in First Person games – the change is usually jarring, or hidden by a loading screen or cutscene. For our top-down game I wanted to create a system that would have multiple LUTs on the screen that would blend smoothly. Here lies the problem: how do you make these LUTs blend beautifully and coherently? My solution was – attaching a single LUT to a single lightsource. That way as lights smoothly blend between different areas, so will my LUTS.
This is where the largest challenge was: creating a black and white mask of everything that a single lightsource illuminates. Unity lights are extremely complex and when they are computed, they are directly rendered into the final screen texture. If an object in the scene is black, you won’t get any lighting on it, or you will get a specular dot, which is not what I need. My only hope of making my mask was to write a shader, that mimics the scene (assumes the scene’s depth and normals onto itself) and render a white quad lit which will be simply lit by Unity. And that took me 5 years to figure out…
Recently Unity added a node that I thought would help me and I jumped into shaders again. Sadly my knowledge of shaders is very limited, so even with this tool I would constantly make shaders that failed to work, when you moved the camera around.
[previewyoutube][/previewyoutube]
In the end of the day, I was lucky enough to receive help from legendary Remy_Unity on Unity forums and finally created the shader that I needed.

Egor worked with timeline. Now you can speed up cutscenes by holding space.
Andrii helped Egor with timeline and improved the helicopter scene on the roof. Now if the player is hit while opening the final crate, he is immediately killed. Also, now if the player is wandering and does not know what to do – a timer would start right after he climbs to the very top. In 30 seconds, the final scene with zombies flooding would start automatically.



The Katchur family added a new batch of models. We are slowly finishing with Sewer models and moving towards Supermarket’s basement storage models.

I added a sewer underwater pipe burst effect and finally finished a dream of mine from many years ago: Light Color Grading. Now our lights can apply color grading effects. But only where they actually illuminate the area.
[previewyoutube][/previewyoutube]
Color grading is a post process effect that changes the color of every pixel of the final image according to a certain 3d texture map, called “look up texture” or “LUT”. They are also called “Instagram filters” sometimes, because Instagram popularized this technology in their app.

The problem with color grading is that there can only be one LUT at a time. When developers want to change the LUT the standard practice is to just smoothly blend the current one with the next one. It barely works in First Person games – the change is usually jarring, or hidden by a loading screen or cutscene. For our top-down game I wanted to create a system that would have multiple LUTs on the screen that would blend smoothly. Here lies the problem: how do you make these LUTs blend beautifully and coherently? My solution was – attaching a single LUT to a single lightsource. That way as lights smoothly blend between different areas, so will my LUTS.
This is where the largest challenge was: creating a black and white mask of everything that a single lightsource illuminates. Unity lights are extremely complex and when they are computed, they are directly rendered into the final screen texture. If an object in the scene is black, you won’t get any lighting on it, or you will get a specular dot, which is not what I need. My only hope of making my mask was to write a shader, that mimics the scene (assumes the scene’s depth and normals onto itself) and render a white quad lit which will be simply lit by Unity. And that took me 5 years to figure out…
Recently Unity added a node that I thought would help me and I jumped into shaders again. Sadly my knowledge of shaders is very limited, so even with this tool I would constantly make shaders that failed to work, when you moved the camera around.
[previewyoutube][/previewyoutube]
In the end of the day, I was lucky enough to receive help from legendary Remy_Unity on Unity forums and finally created the shader that I needed.
