Okay, let’s work on upgrades for WarpLooper.
The goal is to have a shop between waves where the player can spend their money to purchase upgrades.
Upgrade ideas:
- Movement speed
- Torpedo with AoE damage
- Homing missiles
- Mines
- Weapon that takes time to fire, necessitating bigger loops
- Area buff that takes time to charge, necessitating bigger loops
- Weapons
- Damage
- Fire rate
- Accuracy
- Damage fall-off (over distance)
- Knockback
- Cool down time
- Armor pierce
- Shield damage / disruption
- Life-steal ?
- Crit
- Util / debuff
- Slow or stop movement (stun)
- Push back or transport to a nearby space farther away
- DoT (bleed / burning)
- Slow or stop attack (stun)
- Disable regen / shields
- Black hole / singularity that pulls enemies in
- Make enemy vulnerable to damage
- Buffing within a radius
- Attack
- Fire rate
- Shield
- Armor
- Regen
- Trail length
- Dash / warp
- Turrets on the space station
- Deal damage when taking damage
- Invest in the long term
- Provide extra money each time in the shop
- Enemies drop extra loot
- Improve chance to find more powerful upgrades in the shop
- Less damage from friendly fire to player, to base
- Clones have more health
- Clones have more attack damage, speed, fire rate?
Do we give players multiple weapons and let them choose between them? Or just one weapon? Maybe they can keep a weapon in storage and swap it out later. Can even upgrade it. Should also be able to sell it. Maybe let them choose a primary and a secondary.
Another possibility is to make different characters to choose from. Each flies their own kind of ship with their own weapons. One is focused on defense with heavy armor and shields, another is a glass cannon, another is stealth oriented.
Scope creep much?
…
So I studied the Strategy pattern for modular upgrades.
The example from Bitlytic uses strategy classes which implement a method to apply the upgrade to a bullet. With the list of upgrades above I’ll need to do more than that.
Which upgrades would be easiest if I’m just trying to get a shop up and running?
- More health
- Armor (flat damage reduction?)
- More damage
- Faster fire rate
- More clones
- Trail length
- Clones have more health
- Movement speed
And what’s the most interesting?
- Area buffs!
A lot of these upgrades make changes to certain parameters. Health, damage, fire rate, max clones, trail length, clone health, speed. Would it make sense to have a class which stores all the upgrades and has methods to retrieve each of these values?
…
How do I set up a shop?
I’m thinking create a shop scene, add it to each level and the level will display it before loading the game.
Alternative would be to have every other level be a shop.