Posted June 02, 2025 by ZeroByter
Until now, the you would simply place down radars & launchers and sit back and watch them perfectly fire interceptors at enemy rocket barrages.
I realized this made the game boring, sort of like you "watching a movie" or "watching the game play itself".
And so, I made it so you have to manually fire interceptor missiles from launchers at incoming rockets.
This definitely made the game go in the right direction, for several reasons:
It's about time I changed the interceptor launcher model.
When placing or moving down the launcher, it automatically aims towards the enemy territory, and when an interceptor launches it launches at a slightly angle, instead of straight up (which is what happened until now)
I created a new enemy firing pattern system, which is essentially a 'waves' system, defining a wave as a start and end time, how many missiles it should fire (at random intervals) in-between the start and end times, and at which range.
It's important to note, I don't necessarily want to turn this game into a 'waves defense' game. I planned for this to be a more 'simulation-esque' defense game. This 'wave firing system' is (so far) completely transparent to you, the player and I just made it as an easier way for me to control when and how the enemy fires rockets.
However, I feel this system is limited (literally), and so I plan to take inspiration from this system and make a new, similar one that will procedurally generate infinite 'waves' in real time, until a set limit at which point the game will be over, and you will either win or lose.
Interceptors now get random names upon creation! And they keep track of statistics such as 'how many rockets I intercepted', 'how many lives I saved', and 'how many interceptor missiles I wasted' (wasted = missile self destructed after fuel exhaustion (flying too far away) or hit the ground)
Soon, I plan to make a UI that will show all your launchers in a table view, with their names, stats, etc.
Before the interceptor missile code logic was overly complicated in an effort to make it realistic.
This didn't work well, and sometimes (out of realism) the interceptor didn't behave the way you'd expect it to, without necessarily understanding why - I figured this would just frustrate players so I simplified the code (at a cost of being slightly less realistic).
An upside of this is that now the code is simpler (obviously), easier to maintan and modify and add/remove new features in the future.
Stay tuned for more in the future!