← Games

The Invasion

Retro arcade shooter written from scratch in C++ with Allegro 5, compiled to WebAssembly.

Controls: WASD to move, Space to fire, Esc for the menu.

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.