Space Rocks
Posted: Fri May 26, 2017 1:44 am
Space Rocks is a game very similar to the 1979 Atari Asteroids.
Infinite waves of asteroids with asteroid speed and UFO shooting accuracy increasing. Top 10 scores are stored.
Controls are on the title page. A UFO has a chance to spawn every 100 points. An extra life is earned every 1000 points up to 4 extra lives. Background sound is similar to the Asteroids' heartbeat the speeds up as the wave progresses.
This is my first game, my first Lua project, first 2D "art", first sound effects. All content except for the non-default font are made by me and my son. The font is Atmosphere by Jay Vidheecharoen. See assets/font/Atmosphere.txt for more info.
Special thanks to the creators of HardonCollider, SUIT GUI libraries and to everyone on these forums supporting each other new and experienced alike.
I am proud of finishing this, but I also realize that there are deficiencies and game design issues remaining. For example, I attempted to get the UFO accuracy to increase gradually with waves, but it really feels like in wave 5 it just becomes much more accurate than in previous waves. I learned a lot and felt like I needed to move on to the project I really wanted to make.
If anyone has time and inclination, I would appreciate feedback on the game and the code.
The next thing I'm going to tackle is using an entity component system (ECS) in a game. I might just remake this game using an ECS. As it stands, GameObject is responsible for all of the common code among game objects: rotation, speed, wrapping around edges of the window, default rectangular collision box. All other game objects are subclasses of GameObject. Some objects override default behavior. For example, Player overrides the update with acceleration due to applied thrust, and Player and Asteroid override the default rectangular collision shape provided by GameObject with a more complex polygon shape.
Thanks again, everyone!
Infinite waves of asteroids with asteroid speed and UFO shooting accuracy increasing. Top 10 scores are stored.
Controls are on the title page. A UFO has a chance to spawn every 100 points. An extra life is earned every 1000 points up to 4 extra lives. Background sound is similar to the Asteroids' heartbeat the speeds up as the wave progresses.
This is my first game, my first Lua project, first 2D "art", first sound effects. All content except for the non-default font are made by me and my son. The font is Atmosphere by Jay Vidheecharoen. See assets/font/Atmosphere.txt for more info.
Special thanks to the creators of HardonCollider, SUIT GUI libraries and to everyone on these forums supporting each other new and experienced alike.
I am proud of finishing this, but I also realize that there are deficiencies and game design issues remaining. For example, I attempted to get the UFO accuracy to increase gradually with waves, but it really feels like in wave 5 it just becomes much more accurate than in previous waves. I learned a lot and felt like I needed to move on to the project I really wanted to make.
If anyone has time and inclination, I would appreciate feedback on the game and the code.
The next thing I'm going to tackle is using an entity component system (ECS) in a game. I might just remake this game using an ECS. As it stands, GameObject is responsible for all of the common code among game objects: rotation, speed, wrapping around edges of the window, default rectangular collision box. All other game objects are subclasses of GameObject. Some objects override default behavior. For example, Player overrides the update with acceleration due to applied thrust, and Player and Asteroid override the default rectangular collision shape provided by GameObject with a more complex polygon shape.
Thanks again, everyone!