ChaseDown — Devblog 4

Added death, HUD compass, damage shows on the screen, camera shaking when being hit by bullets or explosions and very old inventory exploits quite fixed. It’s been a long month. Enjoy this patch!

Death Screen

It shows how long you’ve been alive until you died and if the player died of “kill” command or other actually explained causes, it will print the reason of death and who/what killed you. The Respawn button does respawn the player somewhere else in the map (supposedly) and reset your inventory/hand held items leaving a copy of your dead body in the same place where you died which can be looted. The body has a limited lifetime, so you should be quick on finding yourself if you want your items back. Hand held items with pop out of your player when died.

Hurt Screen

Worked on this for about 2 days and finished it with success. Learned some maths besides writing code of how to clamp/resize values between a range to get the result wanted. The screen will now show how good/bad your health is by lowering saturation and increasing grain, so does lens distortion and chromatic aberration and also audio, which lowers the clarity and quality of the audio based on low frequency levels. Also added blood splatter on screen when the player is hurt. Next month I will add the splatter showing on the part of the screen representing the direction the player has been hit.

Camera Shake

Now the camera gives motion whenever the player gets hurt or an explosive thing explodes near it.


With that, I added some nice cinematic handheld camera shaking, which feels smooth. It can be enabled/disabled in the settings.


Cleaned up code this month, went through pretty much all the current source code and removed few unused scripts and attempted to optimized some minor ones.

Also rewrote few major code strips and corrected a lot of namespaces (pretty much all), everything is pleasingly organized (just took me about 2 hrs to plug everything back in; missing namespaces, renames, etc.).


I wrote some library code that allows me to easily edit blogs, update them without having to patch the game project each time I change it. It’s only for Unity, since it’s using ScriptableObjects, but that’s quite enough that I use News for. You can now see latest 4 blogs posted in the main menu.


With the Humanlights.News, I wrote a major library that helps to hold and check versions of game features and/or patches. Typically, generates a file with a token and checks if the game data matches with it. Not the best way, but not the worst either.

Plugins & Modding

I started writing some plugins, with that a Sample plugin that helps users to create their own. They can become fun, since nothing is limited in the compilation; so, anything can be changed/manipulated. If you have more plugins and want to reorder their execution, use the Priority parameter.

Just add the .cs files in a folder named “Plugins” in the game root directory.


Added a horizontal compass.


I disabled builds for OSX and Linux since I currently cannot debug them, not having any virtual machines installed.


Added "global.outputlog" command
Added Camera Shake
Added Compass
Added Crosshair for weapons (better aiming)
Added Death Screen
Added few Shity level (useless) gametips
Added large notification popup
Added player corpse (lootable)
Added resolution dialog (back)
Added visual/audio effects based on hurting/health values
Automatically hold items when picked up
Disabled demo recorder (since it's broken right now)
Fixed bug in the slot template
Fixed entire code namespacing
Fixed few surface decals
Fixed interaction UI
Fixed lantern recharging bug
Fixed most of the inventory indexing problems/exploits (hopefully)
Removed fullscreen and resolution settings in game
Removed quick craft from build settings
Renamed "City1" level to "Shity"
Updated news panel (can preview 4 latest blogs)
Updated plugins
Updated post processing
Updated Store Panel
Updated to C# 4
Updated to new Humanlights.Manifest system
Updated to new Humanlights.News system

Leave a Reply

Your email address will not be published. Required fields are marked *