In my opinion, players need some sort of defense systems in any kind of bullet hell / shmup type game. Sometimes the action can get a little too much, and it becomes very difficult to avoid getting hit by projectiles. I have recently been testing homing missiles launched from enemy ships in the game, and sometimes there are tons on screen tracking and hitting the player at any one point in time.
I decided it was time to add some defensive systems to my 2D space shooter game (I still need to think of a name!). Over the last few weeks, I have now implemented two defense systems (amongst other development):
- A deflector shield that absorbs impacts/detonations from enemy missiles – based on a simple “energy field” shader effect I found, and then modified to move the effect to the location of the hit. A shield charge GUI bar element is used to track the strength of shields (Daikon Forge is used here). If the player doesn’t take any hits for 3 seconds, the shields start charging up again.
- Missile defense laser nodes on the player. These work on the basis that one defense node has one pulsing beam laser. Ideally, each node will be attached when collected from an enemy drop, and the more defense nodes the player has, the more missile shoot-down capability he/she will gain. You can see 3 x defense nodes in play in the GIF animation above – a short, pulsing red laser. They start firing at random incoming missiles when the missiles get in range of the player, and subtract “fuel” from each missile object. When a missile runs out of fuel, it detonates, so in effect, the laser defense nodes shoot down enemy missiles 🙂
I’ll probably capture some cleaner, lengthier video of the above two defense systems in play if anyone is interested in better footage, or gaining a better view of how they look and work. Just drop a comment on this post.