Below is what I see needs to be done, in the order I would likely attempt to accomplish it
- Enemies move and shoot
- Fire system is similar to implementation on player ship except add delays to automatically fire in bursts
- Use circuit to create enemy movement? or Add forward motion when enemy is in player view?
- Firing at enemies causes damage
- Create hit function triggered by collider that will call a destroy enemy function
- Implement enemy health using a variable that is tracked by enemy’s hit function
- Refactor hit function to take in a “damage” parameter to lay groundwork for player weapon powerups
- Player Health
- Variable on Player Ship that tracks health
- Implement player hit function
- Colliding with enemies reduces health
- Colliding with enemy fire reduces health (with damage parameter to allow for stronger enemies)
- Colliding with environment causes damage
- If collision on player ship belongs to object tagged “Terrain”, reduce player health
- UI Display of player health
- Implement power ups
- Upgrade weapons
- Faster fire
- More damage
- Shield
- Temporary invulnerability
- Armor
- Reduce damage until armor gone
- Upgrade weapons
- UI Display of Armor/Shields
- Implement more enemy models
- Visually change ship with certain upgrades.
- Could either build different prefabs and switch entire player ship GameObject when upgrading, or reach down into player model and swap out modular objects.