Fun things

"Without a tagline since 2010"

What is fun?

Coding is fun. Creating little games and toys is my favourite hobby. Show me some recreational mathematics, leave me alone for 30 minutes, and I'll have written a script to play with the ideas. The most fun projects are the ones which are not only fun to create, but also fun to play later. The most rewarding projects are the ones without any end point. I hope you find these projects as fun to play with as I found them fun to make.


Generic block stacking game

This was my first serious Javascript project which was written some time in 2009. I chose to write a Tetris clone because it was a well defined project that would teach me how to use Javascript. In addition to Tetris I also made Tritris and Pentris to see how well balanced the three games are compared to each other. It turns out that Tetris is about right, with Tritris being too easy and Pentris being too hard.

Visit the page

Generic block stacking game Generic block stacking game

Generic code guessing game

This project was made as an exercise in dynamic HTML manipulation. It's a clone of a classic code guessing game where the player plays against the computer.

Visit the page

Generic code guessing game Generic code guessing game

Generic dice game

This project is a rewrite of a previous project. It emulates the popular dice game, Yahtzee. This game previusly used PHP, but was converted to Javascript once I became sufficiently skilled to rewrite it.

Visit the page

Generic dice game Generic dice game

Guess the song

This project is a fun game where the user had to guess the song by guessing the lyrics, hangman style, with whole words instead of letters.

Visit the page

Guess the song Guess the song

Maze - Island Quest

Following on from the Platform game and Explorer game I wanted to create a tile based game. This was partly inspired by the game Kharne which I had played many times, and I became frustrated with the lack of similar games online. (It was this frustration that lead to a minor obsession with 91, and the creation of the huge 91 map poster.)

Visit the page

Maze - Island Quest Maze - Island Quest

Only Connect Missing Vowels game

Once I came across Only Connect I became a big fan, and especially enjoyed the Missing Vowels game. I thought this could use a game that people could play online to complement the existing "Connecting Wall" game.

Visit the page

Only Connect Missing Vowels game Only Connect Missing Vowels game


This was something I made a while back for reasons that I can't quite remember. It allows the user to create their own version of the "KEEP CALM AND CARRY ON" posters that have been popular in the past decade.

Visit the page

Parodier Parodier

Pebbling a Chessboard

One of the channels I follow on YouTube is called Numberphile, and they give plenty of good ideas for mathematical games. In this game the user has to move pieces around a chessboard in order to liberate "clones" from a prison. On Numberphile, they suggested playing this game using an actual chessboard, but I decided that a better way to do it would be to write my own game. So here it is.

Visit the page

Pebbling a Chessboard Pebbling a Chessboard

Sliding tile game solver

I was playing a PuzzelScript game involving sliding blocks that i just couldn't solve. So I wrote an algorithm to solve it.

Visit the page

Sliding tile game solver Sliding tile game solver


I love to create games and I try to keep up with the latest web based technology to create open source games. When it became clear that all the modern browsers support the canvas I decided to create this game to see what I could make. It's a clone of similar games such as Loops of Zen.

Visit the page

Tangles Tangles


Conway's Game of Life

Conway's game of life is a very famous mathematical model with a rich variety of "creatures" that can interact with one another. This script is a simple interactive sandbox where the user can "paint" cells to create different shapes. There are a number of predefined boards that the user can choose to investigate some small and interesting patterns as they evolve.

Visit the page

Conway's Game of Life Conway's Game of Life

Skyline generator

One of the features I want on my webpage is the silhouette of a skyline to use as background image. This project is aimed at allowing the user to draw a complex skyline, with the possibilty for animation.

Visit the page

Skyline generator Skyline generator

That Weird Part of YouTube

One of the most fruitful memes on the internet is "That wierd part of YouTube". I saw an opportunity to create a service to find the weirdest videos on YouTube, and I made this webpage.

Visit the page

That Weird Part of YouTube That Weird Part of YouTube


While investigating Conway's game of life I wanted to see if I could easily extend the framework I'd developed to explore other systems. One of the more interesting cellular automata is the rock-paper-scissors system where three populations feed on each other.

Visit the page

Tricolor Tricolor

Things with posters

91 map

I played the game 91 and wanted to create a map of the world. What started out as a simple map to help keep track of the regions soon turned into a larger project which resulted in an A0 sized poster being produced. The creator of the game got in touch and at the time of writing the first poster has been printed and more will follow. The creator is going to publish and sell these posters online.

Visit the page

91 map 91 map

Citadel map

This page shows the map for my favourite game as a child, Citadel, published by Superior Software for the BBC Micro.

Visit the page

Citadel map Citadel map

Marble Hornets

Marble Hornets was a webseries that spans the course of about five years. The premise of the series is that a student film maker started filming an amateur movie in 2006, but abandoned the film due to "unworkable conditions on set". It quickly turns into a horror series that brings with some novel techniques. However what really inspired me to make this project was the asynchronous storytelling narrative, which requires the viewer to piece together the true chronology based on the context of the videos. I'm an active participant on one of the busiest discussion boards for this series and regularly update this project as each new video is released.

Visit the page

Marble Hornets Marble Hornets

Frivolous things

Crazy 2014

When I heard the sad news about flight MH17 I couldn't quite understand what was happening. It seemed like the worst parts of 2014 had come together in a way that nobody could have predicted. I tried to sum up the situation in this infographic. This mini project was in fact an excuse to practice some infographic making skills, which I had not used for a long time.

Visit the page

Crazy 2014 Crazy 2014

Dice simulator

This is another somewhat frivolous script I wrote when playing an RPG game where we did not have enough sets of dice. It simulates dice rolls with various modes.

Visit the page

Dice simulator Dice simulator

Dr Who: White people dance

I had had an idea for a very long time, which was to animate a song using the canvas and a YouTube video. Someone sent a gif image of some Dr Who actors dancing badly, and I saw this as an opportunity to test out my idea in the simplest way possible. So I put the gif together with the YouTube song and button to play/stop the music and animation.

Visit the page

Dr Who: White people dance Dr Who: White people dance

Eye of Argon acronym generator

This project was made to demonstrate a point. A student said that they doubted I could make a simple application in an afternoon, so within about an hour I had made this is. It takes a string from the user and makes a phrase using word from the Eye of Argon to make an initialisation.

Visit the page

Eye of Argon acronym generator Eye of Argon acronym generator


A long time ago I wrote a small collection of Greasemonkey scripts for a website called Thingbox. This is where I store and document them, although many of them no longer fully work due to changes in how the site operates, as well as changing standards.

Visit the page

Greasemonkey Greasemonkey

GRID achievements

The GRID is a globally distributed data analysis system for high energy physics, which stored petabytes of data and simulation. Back in the day it was quite frustrating to use, so someone created a list of achievements to make the process a bit more bearable. Thankfully things are a lot easier now.

Visit the page

GRID achievements GRID achievements

Image morpher

*.gif images have been around for a long time, but this is something a bit different. It takes an array of images and changes between them randomly with random intervals of time.

Visit the page

Image morpher Image morpher


This is another simple and frivolous project. A student showed me a page illustrated a table with three columns that could be used to make an insult. It looked liek it should be coded up, and I had 15 minutes to spare, so I did.

Visit the page

Insulter Insulter

Moving very slowly!

One of my friends challenged me to write an app that play clips from the Strong Bad song "Moving very slowly!" Of course within an hour I had a working webpage that did just that. This was mostly a matter of refactoring the Advent Calendar with a few tweaks.

Visit the page

Moving very slowly! Moving very slowly!

[pdf] On the effects of a massive body...

One day on the way to work I wrote this short paper on the tram. It's short and to the point, and worth a quick read for a laugh.

See the talk [pdf]

On the effects of a massive body... On the effects of a massive body...