Small Projects

Homegrown Website

This website was designed and developed by myself. I use my own C# tool to parse templates and generate a full HTML output from a set of module files. This allows me to make quick and easy changes to the site whenever I like without having to dig into miles of HTML but I can also deploy my site anywhere without having to install server side tools.


Rook is a small mobile puzzle game that I made before visiting EGX a few years ago. You move a rook chess piece around different levels, attempting to get to the crown. The column that the rook rests on can be rotated 90 degrees in either direction, and when you do this any white components on the column remain fixed in space. This means that the player must find the correct combination of column rotations and rook positions that lead them to the crown.

The Alchemist

The Alchemist is the game I made for the Ludum Dare 33 game jam. It's the most complex of the 3 games I've made for Ludum Dare, but as it's the least polished it has been pushed to the Small Projects section! I learned a lot during this hackathan about what kind of scope I can actually achieve in 48 hours!

The game is essentially a mini-rpg that presents the player with tough moral decisions. You are an alchemist in a small hamlet who is trying to nurse a shunned traveler back to health by collecting potion ingredients. Over time the inhabitants of the hamlet make it clear that you and the traveler are no longer wanted, but the world outside of this small civilisation is also dangerous. It's up to the player to decide how they want to resolve this situation, the outcome is open ended.

Colour Palette Generator

For AU:Abandon I made a procedural colour palette generator tool. The colour palettes of the solar systems in AU:Abandon use this tool. Although in the end I decided to go for a more analogous aesthetic, the colour palette generator originally supported lots of different colour schemes such as complementary and triadic.

Rendering Engine

After making many games in Unity, and learning C++ at university, I decided that it was time to learn how game engines actually work. I taught myself how to write a rendering engine using OpenGL in order to better inform my other game projects. I have since found this project to be very valuable, as it allows me to visualise the full scope of a game engine and utilise my knowledge of the core systems to improve those that I build on top. It also allowed me to explore shader programming, opening up new artistic possibilities.

Card Game Simulator

Alongside video games, I also enjoy designing physical games (mainly card games and table top RPGs). Recently there has been a high demand for tools that allow people to play physical games online, and applications such as Tabletop Simulator and Tabletopia have become popular. In the past, I was very excited to play card games with long distance friends, so I explored creating my own card game simulator in Unity. This program used a web page to store the game state so that an active or expensive server is not needed.