This is what it looks like after 10+ years of self-taught game development! There are many demos to come, and if time allows, a lot of old projects too


Source available for all demos


Neural Network

Test a neural network trained to recognize digits


Dithering Algorithms

Implementation of some popular dithering algorithms


ASCII Filter

Render your scene as a set of ASCII symbols


Markov Chain Text

Generate plausible strings of random text using Markov Chains


Easing Functions

Interactive visualization of some useful easing functions


Cloth Simulation

Dynamic cloth mesh simulated using verlet integration


Conway's Game of Life

Cellular automata based on "Conway's Game of Life" ruleset



Interactive Mandelbrot fractal shader


Flocking Simulation

A ruleset of steering algorithms showcasing emergent behavior


Spiral Generator

Create and tweak elaborate spiral shapes in real time


Sorting Algorithms

Visualise a selection of popular sorting algorithms


Dynamic Slow Motion

Explore the effects of time dilation on gameplay and audio



Wacky Bat

You are a lonely bat trapped in a cave! Avoid walls and make your escape

Game Jam Entries

Source available for most game jam entries



3D Puzzle game about perspective and numbers

Made for the 33rd GM48


Jack Gets High

Play as a rolling pumpkin in this 3D Labyrinth game

Made for the 32nd GM48



Close Quarters Combat! Dodge, shoot, and dash to survive

Made for Ludum Dare 42


Time's Up

Take on a barage of mini-games before the countdown clock hits zero!

Made for the 27th GM48


Speed Dating

Race time in a quest for love and laps

Made for Ludum Dare 41



Use your flashlight to find your way through the catacombs

Made for the 25th GM48


Ludum Dart

A whole new 'spin' on the classic darts game

Made for Ludum Dare 40



Shoot rats and punch ghosts to escape a crumbling haunted tower

Made for the 19th GM48


Rocket Rails

An abstract, endless rollercoaster game

Made for the 15th GM48



Play as the last cloud on earth in this bullet-hell

Made for the 12th GM48


Another World

Tear up the terrain and your enemies in this four-color shooter

Made for the 6th GM48

Personal Software Experiments

Source available for all software experiments



Fully functional group voice chat software. Created for use in low-bandwidth conditions.


Verse of the Day

A simple daily Bible verse application


Ethereum Miner Monitor

An interface I created that used to help monitor my Ethereum miners


Infinite Voxel World

Minecraft-like procedural voxel world with perlin noise generator for terrain, simple lighting and dungeons


Quadtree Image Decomposition

An image filter designed to partition an image based on local color contrast