
Game Design
& Programming
An overview of various game design & programming projects that I have undertaken over the years.
Barrels, Barrels, Barrels!
DOOM II | 1994
Quick levels designed all around barrels.
In order to finish the level, the player must destroy every barrel.
These are intended to be short, fun, & accessible levels with custom assets including new enemies, hazards, & tools.


Red Rock
DOOM II | 1994
This WAD (Term for a custom Doom Mod/Level) was a speed-mapping exercise I did alongside a friend. Unlike many modern Doom WADs, this WAD is made within the original constraints of Doom’s limitations. Technically, it could play on the original hardware in 1994. In hindsight, I can see that enemy placement is quite purposefully bullish in an attempt to one-up the difficulty of my friend’s WAD.
Most interesting about this WAD, however, is the custom enemy which I had made. Totally unique to this WAD – something I have not seen before or since. A utility enemy – the Mine Layer. It hovered around, firing rockets which would drop to the ground. After 5 seconds or so, the rockets would explode. The player, however, could pick these rockets up for ammunition if they were quick enough. An interesting dynamic – keep the Mine Layer around for ammunition or destroy it to keep the arena clear of hazards.
*The level was restricted to using only the ‘redrock‘ texture.
Pepperbox
DOOM II | 1994
Part of a Community Project I participated in during 2023.
The limitations imposed on all the levels was that they had to be contained with a 1000×1000 unit box (Very small. For reference, the player is approximately 32 units wide, so about 30 players squared.)
I was pleased with some of the set pieces and variety of areas I was able to include considering the size. Notably, the opening encounter with Archviles where the player must use their ammunition carefully. If they need ammunition, they must lower a pillar which decreases the amount of cover and risk the Archvile resurrecting a crushed enemy.
The map’s theme is loosely based upon The Very Hungry Caterpillar. In the level, appear conveyor belts of the various foods which the Caterpillar consumed. As well as a looming grotesque of the Caterpillar which spews enemies.


Another Fine Mesa
DOOM II | 1994
Part of the same Community Project I participated in during 2023 – this one was a collaboration with a fellow mapper.
Once again, the limitations imposed on all the levels was that they had to be contained with a 1000×1000 unit box.
This was a collaborative effort and one which I’m very pleased with. Although some of the encounters do have a slightly nasty bite, if I say so myself. They keep fresh and add a sense of scale to an otherwise tiny map.
The basics of the layout was largely my design, but was brilliantly elaborated on by my partner to great effect.
I recall a very unique fight, where the floor continuously moved beneath your very feet that had to be chopped due to the Project Leader not approving of its rather creative means of achieving it. (The method didn’t work on a particular Source Port and for the purposes of accessibility, we had to take it out.)
DOOM II | 1994 | Modification
Good Heart & Desire to Please | 2024
Part of another Community Project I participated in during 2024 – this was a collaboration with a fellow mapper.
SMW | 1990 | Modification
Climb to the Sky | 2022
A Super Mario World Level designed around verticality.
Unity
Random
Caves
Using Perlin noise to generate a cave system with tunnels that the player could reasonably traverse.
What makes DOOM great?
In many ways DOOM represents the perfect distillation of what a ‘Shooter’ game is. Everything which worked in 1994, still works today, over 30 years later. And, with time those things have been developed and endlessly expanded upon by a community of devoted players.
DOOM did for its respective genre what Super Mario did for the platformer.
Today, you can engage with DOOM in a manner which is unlike many other game. It can certainly be played mindlessly, no doubt about it, but few other games have such an open dialogue between player & designer. This is key & something which has been present throughout, from 1993 to today. Whether it’s John Romero or someone who has uploaded their new WAD to the archive.
Level design is at the absolute forefront of DOOM. Its simplicity of game design offers countless choices for potential interesting level design. Simultaneously, it does not give the would be designer anywhere to hide. Level design must be sharp.
And through the years the community’s acumen for design has only become sharper. This is what has kept DOOM so full of vigour all these years later.
C++ & SDL
Mandelbrot Set
Who hasn’t made a Mandelbrot set?
C++ & SDL
Ray Tracer
A simple ray tracer (not real-time).
C++ & SDL
Sprite Sheet & Level Tiling
A system for loading in sprites & a basic tiled level creator.
Unity
Borderlands Style Weapon Generation
A weapon generation systems akin to Borderlands. It would generate statistics randomly and assign specific parts based upon those statistics. The system also provided origin points so each piece would fit together nicely. This limited proof of concept couldn’t generate the bazillions which Borderlands boasted, but there was likely a few thousand combinations.
C++ & SDL
Convex Hull
Create an area around the outermost points plotted on a graph.
C++ & FreeGLUT
Voxel World
A basic voxel world with collision that the player could walk upon.