Custom C++ Engine & 2D Fighting Game
Elementals is a 2D fighting game built entirely on top of a custom game engine written from scratch in C++, developed as part of a technical game development college course using the Dragonfly framework methodology. Every system in the engine — display, input, world state, logging, resource management — was implemented by hand before a single line of game code was written.
Once the engine was functional, a complete local 2-player fighting game was built on top of it. The game features a character system with complex input-driven move trees, a full hitbox and knockback system, and custom hitstun mechanics — all implemented without relying on any physics library.
Built a complete game engine from the ground up in C++ using the SFML 3.0 library. All necessary managers were created from scratch: Display Manager, Input Manager, World State Manager, Game Manager, Log Manager, and more — forming a fully functional engine foundation before any gameplay was implemented.
Designed and implemented a character data structure that, at startup, constructs a large tree representing all possible moves for each character. Moves support string-input sequences — players must press specific button combinations in order to execute special moves, mimicking traditional fighting game input systems.
Built a custom hitbox system capable of applying knockback, hitstun, and damage to opponents on contact. Both knockback and hitstun were implemented as separate custom systems, giving the game a feel closer to traditional 2D fighters without the use of any physics engine.
The game supports two players sharing a single keyboard, each controlling their character with a dedicated set of inputs — keeping things accessible while showcasing the full depth of the move and combat systems.