Phew… this little java game is turning into a somewhat bigger project. I’ve stopped counting hours but know for sure that more than 50 hours of work has gone into this now. My summer holiday is over and this leaves even less time for crazy projects like this.
The game pretty much looks the same as before, but a lot has been changed.
The game now has a soundsystem that is built using the Observer pattern to keep it completely independent of the game engine.
The little ship now has a jet stream that flows from it when the player uses the “booster”.
The ship can shoot bullets that can collide with the world.
Every moving object is nicely affected by “air resistance and gravity”.
Certain tiles can be shot and thus removed to let the player move further into the level.
Transparent tiles and no-collision tiles make it possible to design nice levels where the player flies behind tiles, and can see himself through small windows in the tile.
Leveldata and a lot of settings are now read from files instead of being hardcoded.
Delta time rendering and movement
Since performance of the game varies quite a bit between different machines I could not use a simple java timer solution to keep the game in sync. I changed everything into using “delta time”, just as every proper game does these days.
The ship now has limited fuel. Refuling can be done a special stations.
The player can land on landing zones.
Unfortunately its not even a game yet, because the player can’t win yet. I still need to make:
A level editor because creating the levels in notepad looking at a bunch of numbers is getting way to difficult.
A system with a number of lives and a way to reset the game without exiting the application.
A way for the player to customize keys etc.
A save system… no one wants to start from level 1 every time.