Advance Wars Clone

A completely unoriginal clone of the basic game mechanics and presentation of Intelligent Systems’ GameBoy Advance classic, ‘Advance Wars’. Written as a demonstration of game engine architecture that revolves around separating game logic from the visual representation of it, with a clear and formal system of communication using events. The benefit of using such a method means that the player, AI agents and remote players all use the same interface and are subject to the same validation, as well as making networking and recording as simple as passing/recording event messages. All art and game design elements are the property of Intelligent Systems and Nintendo.

Currently supports 2 player hotseat mode only.

(Windows Installer)

Written in C++ with SDL/OpenGL/LibPNG/FreeType.


Breakdown! is a procedurally generated breakout game for the PC and GP2X handheld console, it procedurally generates all assets in the game (apart from text), notably including a music generation system as well as random level generation. The music generation system randomly creates a song out of multiple tracks, each consisting of multiple sections consisting of sets of notes, with each section having random timing and note length. Uses the C blues scale at different pitches to generate surprisingly interesting funky music. Each note generates a sinewave and is passed directly to the audio buffer after mixing with other tracks’ notes. Total GP2X executable size (excluding SDL) is 106kb but with stripping can be as low as 30k.

(Windows Installer)

Controls for PC are left and right to move the paddle and ‘D’ to navigate menu and launch the ball.

Written in C++ using SDL.

Shootertron 5000

My first foray into rapid game development, a simple 2D shooter made in a day in collaboration with Martin Houlden. We decided one saturday to make a game for the fun of it and ended up with this. Incorporates parallax mapped backgrounds, a few different weapon effects as well as a horribly inefficient, prone to only working correctly on about 5 PCs in the world, accumulation buffer based motion blur effect. Only has the one level and it’s a rather mediocre one but at least it looks pretty.

(Windows Installer)

Written in C++ using SDL/OpenGL.