design for real people

Webgames & Toys


FAQ - Update Log - Postmortem

First released September 2013, CivClicker was my first real foray into JavaScript. Loosely inspired by Orteil's Cookie Clicker and the Civilization series, it began as a couple of buttons and grew from there.

After gaining a surprising amount of popularity and becoming one of the seminal games of the "Incremental Games" genre, I eventually drew a line under the project and published a v1.0 release under the GPL in February 2014.


Not strictly finished, but playable. Labyrinth combines two experiments - noise-based procedural generation for creating maps, and sprites drawn on Canvas. I have plans to continue developing this one at some point in the future, adding more complexity and procedurally-generated content.


Pilot a lunar lander across a procedurally-generated landscape. Try to get as far as possible without running out of fuel or crashing. Uses canvas and a pared down noise generation algorithm.

Gravity Golf

Initially a prototype for learning vectors, I happened to code this within the timeframe of the 2015 js13k and it was well inside the size limit. Though I wasn't happy with it as a game (and tbh there's a lot to be desired), I entered it anyway after encouragement from Andrzej (and didn't place last!).


Implementation of Conway's Game of Life with configurable rules. Find out more about cellular automata rulesets.

Check out the Incremental Game version for a brief dalliance with turning it into a game.


Buttons! was an experimental incremental game, coded while taking a break from CivClicker. Very simple and plays quite well on mobile.

Guinea Bits

Quick and dirty, made for some guinea pig lovers. See how far you can get before your guinea pig stops to eat. Pushing the practical limits of CSS with this one so it's somewhat janky when running.

Indev / Prototypes / Experiments


CII is the thoroughly-indev prototype version of CivClicker II, a sequel to the original game. This time it involves a procedurally-generated world map, canvas graphics, and potentially the ability to move units around and interact with the game world.


Not much to do at the moment, but intended to be peaceful, calming, and nonviolent. A this point Cloud is mostly a testbed for using HTML5 audio (in this case, music) in games. More experimenting with noise algorithms too.

Space Trader
The rudiments of a space trucking sim, mostly an opportunity to play with Bootstrap.

Very basic Asteroids clone written to test out p5.js (a canvas media library).


Playing around with rot.js (a roguelike library) to create a simple maze game.


A simple clone of Orteil's very cool procedural generation engine Nested, this was mostly thrown together to play around with object generation and as a testbed for future projects.

Roleplaying Games

Chaos Theory

An entry for 2016's 200 Word RPG Challenge. Short, rules light, and very chaotic as players in the role of the Reality Police jump around time and space trying to track down and apprehend dangerous Reality Criminals, while trying to preserve the timeline and avoid erasing themselves from existence.

[D&D 5e] The Deck of Fate

There are those who like the wackier random elements of D&D like the Wild Magic table and similar effects. I am not one of them. In particular the Deck of Many Things is a major offender with the tendency to derail campaigns and succumb to the wilder excesses of wankery.

The Deck of Fate is a saner (perhaps underpowered) alternative for DMs and players who like the idea of gambling with fate but who don't want to upturn the universe while doing so, based on the traditional tarot deck.

OURPGSoc Society Games (various)

The Society Game at Oxford University's RPGSoc is a freeform LRP usually run for one or two terms for between 30 and 50 players. Games are written by teams of GMs (gamesmasters) under the direction of the CAMPO (campaign organiser), who write the game setting, evaluate downtime submissions and write responses, and run weekly game sessions during term time.

I wrote and was CAMPO for Generation, a dystopic sci-fi game set onboard an interstellar spaceship, along with a small team. I was also a GM for the games Crusade! (a fictionalised version of the crusades with magic and miracles), and Classified (a near-future game inspired by conspiracy theories).

A speculative linear LARP system designed during the run up to the replacement of a previous OURPGSoc linear system. Designed for dynamic combat with heavy theorycrafting inspired by national systems.