An open source metroidvania.
Created from the ground up in C99.
I'm creating this project to build the foundations for many games to come. It is designed as an engine that I want to use - which doesn't necessarily make it a good engine. It is designed with non-linear platform games in mind.
- Basic Rendering.
- Resource management.
- Code hot-reloading for game logic.
- Windows support.
- In-game GUI.
- Debug IMGUI.
- Save-game system.
- Room system.
- Resource Packing.
- Tilemap system.
- Advanced Rendering (Post processing fx, etc.).
- Actually make a damn game.
Generate a Makefile using Premake. Requires a bunch of GCC extensions, because I am bad at programming; Just use GCC.
Before you can run the game in release mode, build the
packer project and run it from the project root to create a file named
res.pck which contains all of the game's resources. The game reads from this file in release mode so that shipping the entire resource folder isn't required.
Dependencies on Linux:
Dependencies on Windows:
Levels are created using the Tiled level editor and exported using a custom binary format. An extension for Tiled to add this format can be found in
Stuff by Other People
Below is a list of pieces of code that I didn't write:
Everything else was written by me, from scratch.