Building a Space Invaders game in Lua using the Love2D framework.
Previously wanted to build this in rust, but then I realized
that I despise rust, and I don't want to use it for anything.
I enjoy using Lua for neovim, so I decided that I would do some
cool stuff with it to build a game outside of the context of neovim.
okay, now writing this after the fact. Love2D is awesome. It's so easy to just rip out a game. Great experience and very fun to build a 2D game.
Below is a general todo list that I used to keep track of what was left.
It's somewhat incomplete because I started halfway through the project,
and normally I would remove it, but I like it. I tried to build this game
mostly without the help of the internet or AI, so I tried to break everything
down into really small steps. It was fun.
-
UI
- show score
- Make scoreboard
- Make scoreboard less ugly
- Show lives
- add bottom line
- show score
-
Create a player
- Add ability to shoot
- Center bullet shooting from player
- Restrict to one bullet at a time
- Add player death animation
- Pause everything else during death animation
-
Create shot patterns
- Straight
- Zigzag
- Squiggly
- Plunger
-
Create enemies
- Add enemy death animation
- Create octopus enemy
- Customize to have correct behavior
- Create crab enemy
- Customize to have correct behavior
- Create squid enemy
- Customize to have correct behavior
- Implement correct shooting behavior
- Implement correct movement behavior
- Create the UFO
-
Create the game loop
- create grid of enemies
- Add enemy movement with increasing speed
- Add rounds and ultimate end state
-
Add supplementals
- Properly manage game state
- Correctly transition between states
- Add start screen
- Add game over state
- Add game paused state
- Add save files
- Add high scores
- finish scoreboard
- make game over look nice
- Add music and sounds
- Properly manage game state