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.


My entry for the 2017 js13k game jam. Adrift is a game about the loneliness of being lost at sea. You have to struggle against the elements and even against your own boat to get it to go the way you want to go. There's little to find out on the ocean - other than somewhere out there, the key to returning home.


A clone of Terry Cavanagh's Super Hexagon, a fantastic mobile game that you should definitely play if you haven't already. Could probably use some more development work at some point but I think it gets the general feel across.


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.