The Invasion
Retro arcade shooter written from scratch in C++ with Allegro 5, compiled to WebAssembly.
About this one
My first programming project, written in the first semester of my degree, before I had met a design pattern or a build system. Everything is here from scratch: the game loop, the collision maths, the sprite animation, the wave pacing and the difficulty curve that tightens as your score climbs — in C++ against Allegro 5, targeting Windows. What you are playing is that same game rewritten as object-oriented C++ and compiled to WebAssembly, so it runs in the browser with nothing to download. The rewrite also turned up a few things the original got away with, including a division by zero that crashed the game once the score got high enough.