- Create a player
- Shoot projectiles
- Create enemies
- Detect collision on enemy / projectile hit
- Detect collision on enemy / player hit
- Remove off screen projectiles
- Colorize game
- Shrink enemies on hit
- Create particle explosion on hit
- Add score
- More accurate object removal
- Add game over UI
- Add restart button
- Add start game button
- UI Animations
- Player Movement
- Homing Enemies
- Spinning Enemies
- Homing-Spinning Enemies
- Power-Ups
- Dynamic Score Labels
- Interactive Background Particles
- Sound Effects
- Background Music
- Mute Button
- Screen Resizing
- Mobile Events and Performance
- Revisiting setInterval (clearInterval for powerUps and on tab switch)
- Deployment