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.

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

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

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.