DevLog #4 – You shall not pass my powerful shield!
Last time I showed a bit more the campaigns in Destroy The Monoliths. I hope you enjoyed reading about the world map, the permanent upgrades and the technology tree! This week, let’s get back to the fighting mechanics and present the new shield feature I implemented!
The downsides of the shield system in Skycliffs
Before talking about Destroy The Monoliths, I need first to explain how I implemented a shield mechanic in my first game Skycliffs.
The system was heavily inspired from Faster The Light (FTL). The player has shield points that drop when hit by a bullet and then take some time to recharge. Shields do not require any input action from the player, which makes them a very powerful defensive ability. It is actually so strong that the best strategy often consists of upgrading your shields as soon as possible. Once you have more shield points, you can block more bullets at the same time and feel safer.
But that means that harder enemies in the further zones not only need to inflict more damage but also need to fire more bullets. Otherwise they cannot harm the player at all. This is a technical challenge because having a lot of bullets at the same time make the scene less readable and may decrease performance. The former is even more true in Skycliffs because of the verticality with a top-down camera.
To avoid firing too many bullets and having one upgrade strategy that takes too much precedence over the others, I adopted similar solutions to what exists in FTL:
- Shield points are limited to 4
- Shield upgrades are quite expensive
- Some weather events disrupt shields
- Contact attacks and special projectiles completely ignore shields. This encourages to keep focus on dodging and to also buy armor upgrades instead.
Despite these interesting solutions, I think the shields remained a bit too overpowered in Skycliffs. So I want to try a different system in Destroy The Monoliths.
Get the shield up!
The first change consists of turning the shield into an active system. The player now needs to press a key to activate the shield and block incoming shots. Also, I should mention that the player moves half slower when the shield is up. This encourages to keep it up only when it seems relevant.
In Skycliffs, one shield point blocks one bullet no matter the damage. This needs to change too. So I decided to forget about discrete points and use instead a continuous range. The shield has a maximum capacity and shots tax the shield proportionally to their damage.
Finally, let’s modify how the shield recharges. When it absorbs a shot, it gets heated up. To allow the shield to cooldown, you need to deactivate it (i.e. release the input key). You can do this at any time to make sure the shield level remain below its capacity. In case the shield absorbs more damage than its capacity, it becomes overheated, ceases to function and behaves a bit differently. While overheated, the shield cooldowns slower and cannot be activated again until it has fully recharged, which means you become vulnerable in the meantime.
Here is a short video that illustrates all of this:
I find this new shield mechanics quite interesting. If you do not wish to mess too much with the shield system, you can ignore it or simply keep it up all the time. It will overheat regularly but you still benefit from protection most of the time.
But if you master timings to have it up at the right time and let it cooldown otherwise to always avoid overheating, this system becomes a powerful defensive tool. Not because it is per se, but because you learnt how to use it efficiently. This makes for a more skill-oriented gameplay and that’s what I wish to achieve a bit better in this second game. Easy to pick up, hard to master.
If you have suggestions to refine the shield system and make it even more enjoyable, please tell me in the comments!
For now, thanks for reading this quick devlog, and see you next time for another 😉