The goal of the game is find and get to the green target zone.
Touching any terrain leads to instant game over.
Turning and accelerating uses fuel, you can see how much you have left in the top left corner.
Controls:
- Arrow keys: Steer ship
- R: Restart level
- B: Generate new level
- Escape: Quit
When I was done implementing those, I tried to create a lunar lander-ish game, using my newly created own physics library. The levels are created procedurally.
It went quite okay so far I think, considering the actual game took only around 1 day to make (excluding the countless hours debugging why my verlet and SAT implementations were sometimes failing spectacularly).
Since I originally did not even want to make an actual game, the presentation is rather ugly for now.
My custom verlet and SAT implementations work quite good I think. Some weird bugs I haven't ironed out yet show up from time to time, but nothing gamebreaking.
I really love how simple verlet integration (compared to rigid body stuff) is at its core, but how powerful it is.
I had a lot of fun implementing this and playing around with it.
Even though this example game only features rectangles and triangles, arbitrary convex polygons and also circles are supported.
I might write a blog- and/or forum post about the implementation and properly release the source, if I find the motivation and the spare time. Let me know if you are interested.
The main references I used for implementing the physics were:
- https://github.com/johnBuffer/VerletSFML
- https://www.sevenson.com.au/programming/sat/
- https://gamedev.net/tutorials/programmi ... ics-r2714/
The levels are generated with a Drunkard Walk-like algorithm.
Even though it is so simple, it sometimes manages to generate somewhat interesting and fun to play layouts.
But unfortunately many levels are either fairly boring or very hard/unbeatable. In the end one can not expect great results when using such a primitive algorithm.
If I continue work on this project this is the main area I want to improve, apart from the presentation.
Maybe I'll check out some "real" maze generation algorithms or cellular automatons. I'm grateful for any suggestions .
For now, if you find such a boring or unbeatable level, you can simply press "B" to generate another one.
Things I really would like to add and change are:
- Presentation: Replace the placeholder "graphics" with better ones and maybe add sound
- Generate more interesting levels.
- More danger (eg. faling rocks)
- More interesting goals (eg. landing)
As I see it, the game could also be expanded in various other ways, including but not limited to:
- Items (eg. Fuel canisters in the caves)
- Progression
- Ship upgrades
- Collectables in the cave which you could sell to get ship upgrades
- Destructible terrain