BioRand: A Resident Evil Randomizer

A randomizer for all three classic Resident Evil games for PC. Supports randomized doors, with sophisticated key item placement, randomized non-key items, randomized enemies, randomized NPCs with matching random voices, and random background music. All highly configurable and easy to share seeds and configurations.

Handbell Stadium

A 3D simulator for practising and performing change ringing on handbells built in collaboration over the course of 2020. Both the server and client are written in C# with the client built using Unity. UDP packets are transmitted for a fast and real-time connection between the performers.


An open-source clone of Chris Sawyer's Locomotion (2004) written in C++. I started the project at the beginning of 2018. Chris Sawyer's Locomotion was built on top of the RCT2 engine so much of the knowledge and code from OpenRCT2 can be used to re-write the game.


An open-source clone of RollerCoaster Tycoon 2 (2002) written in C++. Heavily inspired by OpenTTD, I started the project early 2014 and has now had over 15,000 commits from over 200 different contributors. The project is recieved well by many fans of the original game as it now allows RCT2 to be played on Windows, OSX and Linux and adds many enhancements and improvements on top of the original game, one of the most popular additions being cooperative online multiplayer.

Sonic 2 HD

An unofficial complete overhaul of Sega's Sonic the Hedgehog 2 (1992). The project was initially cancelled due to the former engine developer leaving but revived with a new engine I wrote in C#. The game aims to mimic the original game as closely as possible while rendering new high definition graphics.

Composition Library

An interactive web application for change ringers to view or add methods and compositions with advanced search capabilities. The application is roughly 50,000 lines of C# code written over seven years and has undergone several transformations between different frameworks and re-designs. A lot of the time was spent on engineering the backend to be re-usable, efficient and scalable allowing over 1,000 compositions to be proved in a second over multiple cores.

PvZ Tools

A small mod for Plants vs. Zombies which can be used to spawn any zombie at a set interval. A demonstration video of this and the tool itself became strangely popular.


A well-featured WYSIWYG level editor for creating new levels for Peggle Nights written in C#. I started by reverse-engineering the level file format and a trial and error approch to editing the levels. Then creating a editor with standard editing functions like the moving, selecting, copying and pasting of objects. The editor is also capable of simulating the movement of pegs in a level. Unfortunately the game was no longer popular by the time the editor was finished, but a few user created levels can still be found around the web.

Tools for Populous: The Beginning

Populous: The Beginning helped provide inspiration into my early programming. I began by reverse engineering the level files and then writing applications to modify them. Over the years I have written hundreds of different tools and mods for this game alone, some of which were used by other fans of the game. The programs were written in VB6, VB.NET, C++ and C#.


Software Developer at Micro Focus within the Visual COBOL / Enterprise Developer development team. Primarily involved in developing a compiler, Visual Studio, and Visual Studio Code extension for COBOL in C, C++, C#, Java, TypeScript, and COBOL.


Graduated with a Master of Engineering in Computer Science from the University of Manchester in July 2015.