Best of the bunch

March 2017 - Sep 2020
Language: Unity

A Monster's Expedition
(Through Puzzling Exhibitions)

An adorable and relaxing open world puzzle adventure for monsters who love to learn about humans.

July 2016 - March 2017
Language: Unity

Cosmic Express

A puzzle game about planning the train route for the world's most awkward space colony.

Dec 2013 to Feb 2015
Language: Haxe

A Good Snowman Is Hard To Build

An adorable puzzle game about being a monster and making snowmen. A collaboration with Benjamin Davis.

March 2012 to August 2013
Language: Flash


An elegantly designed puzzle game about chemistry. Logical, minimalist, and crafted with love and science.

December 2010: FlashPunk competition
Theme: 96x96 pixels, black&pink
Language: Flash

These Robotic Hearts of Mine

Narrative-driven abstract puzzle game.

June 2013: WGD competition
Language: Flash


BRICK[bricksmash]SMASH is bricksmash inside BRICKSMASH.

November 2011: WGD competition
Theme: Cowardice
Language: Flash


A horror game collaboration with Jonathan Whiting.

Most recent

July 2018
Language: PuzzleScript

Slime Swap

A puzzle game about using a gelatinous cube to throw yourself around.

Free browser game.

January 2018
Language: PuzzleScript

Hack the Net

Infect the network.

Free browser game.

February 2017
Language: PuzzleScript

Spikes 'n' Stuff

Loot the trap-filled dungeon and get out alive.

Free browser game.

May 2016: TOJam 11
Language: PuzzleScript

Boxes Love Boxing Gloves

In Soviet Sokoban, boxes push you!

March 2016
Language: Unity

Max Capacitor

A very easy puzzle game, made possible by Andrew Shouldice and his incredible talent.

August 2015: Ludum Dare 33
Language: PuzzleScript

Slime Saga

As a gelatinous cube, it's very important to stick together with your kind!

Other favourites

August 2015
Language: PuzzleScript

Skipping Stones To Lonely Homes

Shipwrecked on the mysterious Lilypad Isles!

April 2015
Language: PuzzleScript

A Good Tunnel Is Hard To Dig

It's a hard life, being a gem miner in cave-in central.

February 2015
Language: PuzzleScript

Train Braining

Live the exciting life of a train route planner.

October 2014
Language: PuzzleScript

Mirror Isles

Welcome to the Mirror Isles, here's a lot of mirrors and a lot of puzzles.

August 2014: Ludum Dare 30
Language: PuzzleScript

A Sneeze A Day Keeps The Crates Away

A puzzle game about moving crates with your powerful sneeze.

June 2014: Space Cowboy jam
Theme: Space cowboy
Language: PuzzleScript


It's like a lasso, but more cyber.

April 2014: Ludum Dare 29
Theme: Beneath the surface
Language: PuzzleScript

You're Pulleying My Leg

A game about going up and down.

Feb 2014
Language: PuzzleScript

Happy Birthday Hennell: Sokoban Edition 2014

A birthday puzzle game for my friend.

Jan 2014: Candy jam
Theme: Candy
Language: PuzzleScript

Sticky Candy Puzzle Saga

20 levels of candy-sticking puzzle action!

Oct 2013: WGD mini-competition
Theme: Halloween
Language: PuzzleScript

Spooky Pumpkin Game

A spooky halloween puzzle game.

November 2012
Language: Flash

Monstrous Mini Mazes

Mazes within mazes within mazes: a monstrous idea.

April 2012: Ludum Dare 23
Theme: Tiny World
Language: Flash

Dr. Biology's Educational Game

A short cell-splitting puzzle game.

October 2011: KotM #52, IGF Pirate Kart, WGD mini-competition
Theme: Retro games
Language: Flash

Shit Snake and Camouflage Snake

Two Snake games.

February 2011: MiniLD 24 and TIGSource Versus
Theme: Tetris is now a [other genre] game/Versus
Language: Flash

Tetris Fight Club

Tetris is now a fighting game!

August 2010: Reddit Game Jam 03
Language: Flash

Terrible Tiny Traps

Challenging pixel platformer. Can you make it through the intricate maze of moving deathtraps?

Smaller games

February 2012: TIGJam UK6/GDC Pirate Kart
Theme: A game about betraying wizards after becoming their friend
Language: Flash

The Lonely Wizard

Short collaboration with Terry Cavanagh. Contains dark humour.

October 2011
Language: Twine

Shit Snake 2: Shit Harder

An interactive fiction game based on this comment on Rock Paper Shotgun.

February 2011: SoManyRooms
Language: Flash

Hall of Contradictions

Logic puzzle for SoManyRooms.

June 2010: TIGJam UK3
Language: Flash


Simple two-player dueling game.

May 2010: KotM #35
Language: Flash

Getout: Forever

Breakout with a twist.

Feb 2010: KnP Pirate Kart 2
Language: Flash

Happy Birthday Hennell

A terrible game made for Hennell's birthday as part of KnP Pirate Kart 2.

Unfinished games

December 2011: Ludum Dare 22
Theme: Alone
Language: Flash

By Your Side

A puzzle-story game.

August 2011: Ludum Dare 21
Theme: Escape
Language: Flash

Not the Sharpest Sword in the Box

Don't get stabbed!

July 2011: TIGJam UK5
Theme: Bailout
Language: Flash

Needy Bankers

Puzzle game tribute to Greedy Bankers.

July 2011: TIGJam UK5
Theme: Stars
Language: Flash

Inside a Starfield Sky

Simple two player strategy game.

April 2011: Ludum Dare 20
Theme: It’s Dangerous to go Alone! Take this!
Language: Flash

Legend of Parasite

Zelda-inspired puzzle-exploration game.

February 2011: TIGJam UK4
Theme: Link
Language: Flash

Beautiful Bullet Bounce

Bullet-bouncing arena shooter.

November 2010: WGD competition
Theme: Evil Ventriloquist's Dummy
Language: Flash

Mr Cursor's Chasing Adventure

Chase the dummies to the de-evilifer.

October 2010: WGD mini-competition
Theme: Pong with a twist
Language: Flash

Happy Happy Brick Catch

Breakout with physics.

August 2010: Ludum Dare 18
Theme: Enemies as Weapons
Language: Flash

Super Collide-Em-Up

Protect the Earth from incoming asteroids using your invincible ship.

April 2010: Ludum Dare 17
Theme: Islands
Language: Flash

108 seconds of loneliness

Block-pushing puzzle game.

Jan 2010: Global Game Jam
Theme: Deception
Language: Flash

Flippy gets lost

Puzzle platformer where you can only see your reflection.

Jan 2010: TIGJam competition
Theme: Reflection
Language: Flash


Control two characters who move in opposite directions simultaneously.

Dec 2009: Ludum Dare 16
Jan 2010: GAMMA IV
Language: Flash


One-button platformer with gravity switching.

August 2009 & January 2010
Language: Flash

Space Invader

A single space invader attacks.

July 2009 to Jan 2010
Theme: Circles and only circles
Language: Flash


Throw brightly coloured balls around with physics.

April 2009: Ludum Dare 14
Theme: Advancing Wall of Doom
Language: Flash

Robo-Jimmy and the Bouncy Adventure of Doom!

(In which the shy robotic death fence goes haywire)

A wall of death that only moves when you're not looking at it.

Nov 2008: WGD competition
Theme: Evil
Language: C++


What could be more evil than making babies cry in a variety of ways?

Experimental stuff

Dec 2013: Ludum Dare 28
Theme: You Only Get One
Language: PuzzleScript


It's a puzzle game, not very long or fleshed out.

Nov 2013
Language: PuzzleScript


A PuzzleScript demake of the excellent 868-HACK.

July 2013: chain game
Language: various

Experiment 12

A collaboration with 11 other developers.

December 2012: WGD competition
Language: Flash

Legend of Hamelin

A retelling of the story of the pied piper of Hamelin.

November 2012: WGD competition
Language: Flash

Oh My Gorgons!

Don't look at the gorgons! Close your eyes in real life.

June 2012: WGD competition
Language: Haxe


Audio-controlled Breakout game.

April 2012: Molyjam
Physical game

Holding the baby

An interactive experience closer to theatre than gaming.

February 2012: GDC Pirate Kart
Language: Flash

Happy Birthday Hennell: Puzzle Edition 2012

Another terrible game for my friend's birthday.

February 2012: GDC Pirate Kart
Language: Flash


Pong with awkward shapes.

February 2012: GDC Pirate Kart
Knytt Stories level

Rainy Day Adventure

A Knytt Stories collaboration for the GDC Pirate Kart.

Nov 2007 to June 2008
Language: Java


Four simultaneously controlled characters on four screens.

December 2010: Ludum Dare 19
Theme: Discovery
Language: Flash

Dinosaur Dance-Off

Make a dinosaur and challenge other people to dance-offs.

June 2010: TIGJam UK3
Language: Flash
Theme: Paint Program

Runaway Paint

Not a game but instead a paint program.

Nov 2009: WGD competition
Theme: Stealth
Language: C++

Stealth Cat vs. Invisible Mouse

Two-player deathmatch game where both players are invisible.

Sep 2009: Ludum Dare 15
Theme: Caverns
Language: Flash

F = ma

Zero-gravity cave exploration game with gratuitous rotation.

July 2009: Mini Ludum Dare 11
Theme: Sandbox
Language: C++


Interactive terrain deformation.

May 2009: Mini Ludum Dare 9
Theme: Audio assets
Language: C++

Wacky Audio Experiment

Each of the moving buttons plays a different sound. They create ripples to the rhythm of the music they generate.

May 2008: WGD competition
Theme: Random Name
Language: C++

Day of the Trampoline Assassins

Real-time Worms in a level made out of trampolines.

June 2007: XNA-UK competition
Theme: Ocean Odyssey
Language: XNA


Defeat enemies using two tentacles controlled by analog sticks.

Everything else

July 2014

If I wanted to clone Atomix, this is where I'd start

A set of levels for the puzzle game Atomix.

February 2012: NanoLD
Theme: 48 minutes
Language: Flash

007: Bomb Defusal Expert

Experience an action-packed realistic simulation of 007 defusing a bomb!

February 2011: Klik of the Month and TIGSource Versus
Language: Flash

Time-Dilation Birthday Buddies

Multiplayer birthday-racing fun made for Hennell's birthday.

March 2010: PyWeek #10
Theme: Wibbly-Wobbly
Language: Python

Roly-Poly Samurai

Get as high as you can on a set of balancing platforms.

Jan 2010: TIGJam competition
Theme: Bear tears
Language: Python

Terrible Bear

Talk to a bear on Twitter and make him either happy or sad. Currently hibernating.

Jan 2010: TIGJam 3 hr competition
Theme: Sunshine/energy/bubbles
Language: Flash


Get bigger in the sun's rays; shrink without them. Don't touch the walls or get too small.

June 2009: WGD mini-competition
Theme: Phil vs. John
Language: C++

Phil vs. John

Simple two-player dueling game with one button per player.

June 2009: WGD competition
Theme: Procedural generation
Language: C++


Explore a procedurally generated cave with only a dim torch to light your way.

Feb 2009: WGD competition
Theme: Explosions
Language: C++


First person shooter where the walls are made out of exploding dominoes.

Feb 2008: WGD competition
Theme: Transport
Language: C++


Bounce the pineapple to the goal while avoiding the dinosaur.

Nov 2007: WGD competition
Theme: Time
Language: C++


Platformer where all the platforms are moving cogs or swinging pendulums.

Feb 2007: WGD competition
Theme: Evolution
Language: Java


Platformer with upgradeable limbs for added speed/strength/jump height.

Nov 2006: WGD competition
Theme: Nuclear
Language: Java

Operation Meltdown

Top-down shooter set inside a nuclear power station.



Excellent AS3 library for game development.


Wrapper script for the Flex SDK fcsh tool: for convenient fast compilation of Flash projects.

Large Polygon Collider

My fourth year project was a 2D and 3D physics engine.

Java Game Framework

I wrote this to make writing games in Java easier. Then I realised that Java is just horrible for making games and moved to C++ (later I realised C++ is horrible for making games and moved to AS3).


Warwick Game Design

A student society at Warwick University devoted to creating games. The termly 48 hour competition is what got me started with game development.

Ludum Dare

A tri-annual 48 hour game development competition that I've started taking part in. They also run monthly practice competitions.


A good source of indie-gaming news with an excellent forum.