This is a full 2D game engine implemented using SDL complete with a game demo. Originally the engine and demo was implemented in my second year of university but I reused the project in my final year when I had to implement and profile a game for the linux-based GP2X Caanoo handheld console (which is why all the images are in 16-bit [r5 g6 b5] format). However the GP2X uses a very old compiler (pre C++11) and so I’ve rebuilt it using a modern compiler and taken out the linux-only code.
The core engine code remains largely unchanged since I wrote it in second year, although I’d like to convert it to a component-based architecture as opposed to its current hierarchical design. It even shows a crude attempt at implementing events in C++ before I really knew what events were.