Update: Added in a third modifier.
——
One of the reasons why I decided upon the shmup genre was an idea that came into my head about weapon modifiers. Usually in shmup games, we see either X different weapon types you can cycle through, or a single/group of weapon types that get upgraded via power-ups. There’s been some interesting twists on this. Take the Force Device from R-Type 3. You choose 1 of 3 devices that distinctly modify the weapon type power-ups. Not only that, but the device can be used to block bullets, attaches on either side of the ship (changing weapon firing direction respectively), and if released from the ship can act as a turret. This is a badass game mechanic that makes your game distinct and memorable, while adding in a new complexity and challenge.
I loved this in R-Type 3, and it got me thinking on what kind of weapon modifiers one can implement to make using weapon types more interesting. Rather than having another ship, I wanted to modify how the bullets themselves interacted. Poking around, I implemented two so far that I was pleased with, the “expulsion” and “slingshot” modifiers. Skip to the demo at the end if you just want to go in and play around.
Weapon Types: (Keys 1 to 6)
1. Basic double shot firing upwards
2. Basic double shot firing upwards + downwards
3. Basic quadra shot firing upwards
4. Circular ring shot
5. Quarter Semi-circle shot
6. Shield shot (Moves with player while this type is selected. If weapon type changed, bullets become inert and sit in that location until destroyed or until the Shield shot type is selected again. At this point, they dash back around the ship.)
Bullet Modifiers: (Keys Q and W to toggle)
Q. Expulsion – With this on, the bullet’s x location is checked against the player’s x location. Depending on the difference between the two, the bullet’s x velocity is changed to “push” the bullet away from the ship. The further the bullet is from the ship, the faster its x velocity becomes.
W. Slingshot – With this on, the bullet’s y velocity when shot is normal. During a small delay, it decelerates until it hits half that of the regular y velocity, then has its y velocity increased by 3x instantly.
E. Suction – With this on, the bullet’s y velocity is changed to always moved towards the ship.
I chose the “gravitational” modifiers (Expulsion and Suction) to affect all bullets on screen, rather than the bullets launched after a modifier was toggled. This creates an interesting strategy of pre-launching bullets and using modifiers to aim and attack. Something like this could be implemented as a strategy versus a boss who’s very hard to hit, has a minimum damage threshold you have to overcome, etc that using only the regular given bullet types is impossible to do so.
—–
Bullet Demo – Updated
Controls:
1 to 6: Different weapon types
Q: Toggle “Expulsion”
W: Toggle “Slingshot”
E: Toggle “Suction”
Arrow keys to move
Space to shoot