A classic 2D metroidvania with trichromatic artstyle. You, a player, is a wandering spirit exploring a dark limbo-like realm. Fight your way through the enemies, discover secrets scattered generously through every map, gather power and defeat the ultimate Big Baddie! The game is extremely lightweight and should have FPS in hundreds/thousands on most machines.
The player character is a spirit trying to escape its limbo-like realm by moving forward through an increasingly dangerous world.
The world itself is comprised of 12 distinct maps, each map contains several safe zones that function as checkpoints.
Map progression is mostly linear, each map contains a multitude of secrets and optional pathways that reward exploration.
Power progression is based around finding stat-boosting artifacts during the exploration, these artifacts are crucial for being able to handle late-game enemies.
The combat system is mostly based around methodically dodging enemy attacks and striking during the safe window.
Movement system follows a rather standard 2D platforming scheme, charged jumps and short-range teleportation based on a limited energy bar are required to reach many locations.
Note
This is a showcase, all controls can also be found in-game.
Pre-built binaries for Windows x86-64 are available at the corresponding itch.io page.
| Dependency | License | Used for | Type | Build process |
|---|---|---|---|---|
| SFML | zlib | Graphics, audio, input handling | Third party | Fetched by CMake FetchContent() |
| UTL | MIT | JSON | First party | Embedded in repo |
See CHANGELOG.md for a detailed development history.
This game was my first truly large personal project. The codebase underwent several style changes, switched multiple dependencies (SDL, tinyxml ➞ SDL, simple_audio, nlohmann_json, SFML ➞ SFML, UTL) and changed scope several times. Despite some questionable practices in its development (including the incredibly inconsistent style), this project went a long way in terms of my personal improvement as a specialist due to sheer coverage and scale of building a fully custom game engine.
After a few years I went back to clean up the build system, add some documentation, fix a few bugs, adjust some nit-picks, cull dependencies and set up proper CMake with a Linux build using the experience gained from developing UTL.
This project is licensed under the MIT License - see the LICENSE.md for details.











