StealthOps is now released for Android, HTML5/Web, Windows, Mac, and Linux. StealthOps was my “game a month” challenge for the month of June. It was a developed over the month of June in my spare time. It’s a 2D top-down stealth game where the objective is to assassinate a target without alerting and getting caught by guards and security cameras. I especially enjoyed putting this game together, mainly because this is a style of game I enjoy playing, so it was fun to test out different level designs and tweak the guards A.I. to make the stealth a little more intense each iteration.
You can download the game and test it out for yourself here:
I will definitely be planning to add additional levels to Stealth Ops over time as I enjoy the game as-is, but it has a lot of untapped potential still in different level designs, more advanced guard A.I., and adding additional stealth mechanics.
All development projects hit their various road-blocks and this one was no different. In this case the lighting system turned out to be poorly optimized for HTML5 and Android, so I had to redo it from scratch with only a few days left in the month. I originally implemented the lighting and guard/camera detection field-of-view using the Godot game engines built-in Light2D Node. This allowing for quick setup of a dynamic 2D lighting system, with shadows and all. Unfortunately after testing I found the built-in Light2D to be poorly optimized for Android and HTML5 deployments, making the game mostly unplayable on those platforms. I first attempted to tweak the Light2D system to put less stress on the system, however the FPS was still in an unplayable range so I decided to scrap it and implement a field-of-view system from scratch.
Implementing such a field-of-view system wasn’t too back, the lights are simply 2D “light” textures that I move with the guards and security cameras and apply an “Additive” blend mode so that it appears to light/brighten whats underneath it. I’m would have liked to tweak this lighting a bit more as during the last-minute transition to the custom implementation, I lost occlusion and shadows. so it doesn’t look quite as good as it did but at least it allowed me to have good performance on HTML5 and mobile. If I spend more time on this game, the lighting system is an area I would like to focus on polishing as well.