Skip to content

Latest commit

 

History

History
76 lines (72 loc) · 2.78 KB

TODO.md

File metadata and controls

76 lines (72 loc) · 2.78 KB

To do

Stretch goals

  • music
  • change collision shape to collision polygon?
  • show controls in HUD
  • add count up timer
  • display survival time in game over state
  • add option to start the game with a few flags in your solidarity meter
  • randomise whether enemy is sprite 0 or 1 on instantiation, favouring 0
  • make player invulnerable for N seconds after being hit
  • make enemy invulnerable for N seconds after being hit
  • add pause state (options/P) with resume, restart, and return to main prompts
  • make the bullets queer iconography - either changing as you power up, or customisable in a menu
  • power up player bullets as flag collection grows
  • online leaderboard

Done

  • player/ship sprite
  • 'bullet' sprite - colour cubes
  • enemy 'bullet' sprite - white cube
  • enemy sprite including three saturation/gayness versions (0: black and white wings; 1: one white black and white wing, one rainbow; 2: rainbow wings)
  • rainbow explosion particle effect
  • project settings
  • spawn player in middle bottom of screen
  • allow player to move left and right
  • prevent player going off screen
  • add bullet scene and script and randomise sprite
  • free/remove bullet instance when off screen
  • on button press:
    • instantiate bullet on/near player
    • move bullet up screen
    • play sound effect
  • move enemy right every physics process
  • free/remove enemy instance when off screen right
  • instantiate enemy as sprite 0 off screen left
  • spawn an enemy every N seconds
  • randomise time between enemy spawns within a range
  • randomise height of enemy spawn within a range
  • instantiate enemy bullet on/near enemy instance
  • move enemy bullet instance down the screen
  • free/remove enemy bullet instance when off screen bottom
  • instantiate new enemy bullet every random N seconds within a range
  • on enemy/player bullet collision:
    • if enemy is sprite 0 or 1
      • move to next sprite up
      • play hit sound effect
    • if they are now sprite 2
      • stop their bullet fire
      • stop their movement
      • play rainbow explosion and free/remove the instance when the explosion ends
      • play queerified sound effect
      • queue free when explosion and sound effect ended
      • add to player score
      • if there are any flags not in the player's collection (solidarity meter), add one of the ones they don't have to their collection
  • on player/enemy bullet collision:
    • derender enemy bullet
    • play sound effect
    • if they have any flags in their collection:
      • remove one random flag
    • else:
      • trigger game over state
  • play sound effect on enemy bullet instantiation
  • spawn enemies from both sides? How to manage overlap?
  • add player score variable
  • add player score indicator
  • change player sprite to Sprite2D
  • menu
  • game over state
  • increase enemy spawn rate and/or bullet rate and/or speed over time