This project is a self-contained game written in C++ and SDL2. It features a simple home cooked collision/physics system using axis aligned bounding boxes and the Separating Axis Theorem.

The architecture is based on classic object-oriented principles for quick development purposes and for the fact that the game is simple enough that performance is not an issue. For instance, there is only a single dynamic physics object, which makes collision detection trivial and performant by default. Future work on this project could include introducing more advanced graphics such as simulated 2.5D using PBR shading and introducing physics into more parts of the world. E.g. some blocks could respond to gravity.

The game itself is a tribute to an old flash game called “Motherload”.

Credit for the soundtrack goes to Chan Walrus. Check out his royalty free music on his website.