My GitHub
About Me
See Below for Projects ↓
Hello I'm Joe, a software engineer
I have been coding casually for over 10 years and worked in industry for 2. I enjoy making software, finding solutions, and creating games.
Previous work includes ↓
Master's Dissertation
For my master's degree dissertation, I created a city-building game with an agent simulation.
Game Jam Projects
I have entered several game jams in the past, completing 5 published games on itch.io. I came 164th place out of 5 thousand people in LD46 & 8th in PB Game Jam 4.
Undergraduate Dissertation
For my final year dissertation, I created a hierarchical pathfinding solution for a tower-based agent simulation.
Experimental Projects
I have experimented with JavaScript, C#, Java and Lua languages. I have used Godot 3, UE4, Unity, Game Maker and Construct game engines.
I have recently finished my degree in artificial life and adaptive systems. Here are some of the projects I worked on throughout the year.
Mini Metropolis
During the summer of 2026, I worked on my master's dissertation I made a simulation game where the player constructs a city, while virtual people go about their lives. It was inspired by SimCity and Cities: Skylines, and integrates some of the modules I studied throughout my course.
Skills Used
→ 3D Modelling
→ Network Science
→ UX Design
→ Agent Simulation
→ Unity Game Engine
Programming Language
→ C#

Development Process
The game builds on my undergraduate work, where I applied my knowledge of pathfinding to a broader game. For the first time, I wanted to try creating a game in a 3D environment. To achieve this, I used the Unity game engine.
An Evolutionary Approach to Game AI: Genetic Programming in Connect Four
In my adaptive systems module, I evolved an AI to play connect four. I used a technique called genetic programming.
Libraries Used
→ matplotlib
→ tkinter
→ deap
Programming Language
→ Python
A diagram showing the AI's fitness overtime as it evolved.
The outcome of the evolved AI (red) vs minmax (yellow).
The Structure of Urban Transport in Planned Towns across the UK
In my network science module, I used Python to analyse road networks across towns in the UK.
Libraries Used
→ osmnx
→ networkx
Programming Language
→ Python
Visualisation of the road network in Milton Keynes.
How uniform the roads are in Milton Keynes.
JavaScript A* and BFS Implementation
In my final year of my undergraduate, I wrote a paper on A* pathfinding, comparing it to breadth-first search. The primary goal was to produce an efficient solution to a simulation game with 1000s of agents.
Inspired by Project Highrise and SimTower, I set out to use a hierarchy to structure the graph. This increased search speed 4-fold.
After my initial goal, I created a finite-state machine for action selection. This created a time-based schedule for agents to follow.
The project was created fully in JavaScript.
Skills Used
→ JavaScript
→ Pathfinding Algorithms
→ Finite-state Machine Logic
→ Building Tools and UI

A* Implementation
The A* algorithm was used on a waypoint graph. Agents navigate in a 2D space, traversing the floors using lifts.
This was paired with an action selection system, and contained a buildable tower for dynamic graph generation.
I have been entering game jams since 2017. Everytime I enter, I try to challenge myself in new ways, often picking a new engine, genre, or language. All of my jam games have been made independently by me, which includes: game design, artwork and programming (intermittently sound).
Brackey's Game Jam 2026.2 - 'Totally Legitimate Republic'
In September 2026, I participated in the Brackey's Game Jam with the theme trust no-one. I decided to make a political satire game, this time in my own engine.
Skills Used
→ Engine Programming and Design
→ User Interface Design
→ C# and .NET

Concept
The game was made in my own engine using C#.
It is designed around a political satire where you play as a minister in parliament, with the goal to get
your secret party's policies passed.
Mini Jam 202 - 'Crazy Powerful Golf'
In January 2026, I participated in an itch.io Mini Jam with the theme power-up.
Skills Used
→ Physics
→ Transition Animations
→ Vector Art Creation
Concept
The game was made in GameMaker and uses physics to play golf.
It features puzzle elements as different power-ups give differing effects.

Ludum Dare 50 - 'Goblin Escape'
In April 2022, I participated in the 50th anniversary of Ludum Dare. This became the 4th time I entered into LD. The game came 156th, scoring 25th in graphics.
Skills Used
→ User Interface Design
→ Enemy AI
→ Task Queueing

Concept
The game is a real-time strategy, with resource management and role assigning.
You can build buildings and recruit people to work in them. Eventually, waves of goblins attack, becoming a quasi-tower defence game.
PB Game Jam 4 - 'Room Sneaker'
In August 2020, I participated in the 'PB Game Jam'. The game came 8th place.
Skills Used
→ Turn Based Strategy
→ Enemy AI
→ Puzzle Design
Concept
This game was my first take at turn-based strategy. I combined elements of stealth and puzzle to make a game that fit the theme of the jam.

Ludum Dare 46 - 'Fish Escape'
In April 2020, I participated in the Ludum Dare 46. The game received 94th place in the fun category.
Skills Used
→ Physics
→ Platforming

Concept
This game is a physics platformer, where you play as a fish in a tank. The aim is to escape
out of the room.
There are 5 levels, each with their own theme.
Ludum Dare 43 - 'The Cure'
In December 2018, I participated in my second game jam.
Skills Used
→ Art
→ Puzzle Design
Concept
This game is a puzzle game based on finding a cure. The objective is to test out diseases on patients to see which environments give immunity. The environment traits can then be used in the cure.

Ludum Dare 40 - 'Sheep Chaos'
In December 2017, I participated in my first game jam. For me, it was a defining moment in my programming career, starting a hobbyist interest in game development and giving me a foundation for programming concepts. I had very little programming experience at the time and had just finished secondary school.


I have experimented with tools, engines, languages, and techniques.
Custom Game Engine
Over the past few months, I have been experimenting with creating my own game engine/framework. This engine was used to create 'Totally Legitimate Republic'. It is written in C# using libraries such as SDL3.
3D Experiment
I experimented with making the game Goblin Escape in 3D. This was a prototype.
Bridge Physics
I made a bridge building demo using trigonometry. This clip shows a more rope like physics with smaller segments of bridge.
NetLogo
In my Artificial Life module in university, I experimented with cellular automata.
KS2 Educational Game
I made a learning tool for children. This tool was used in a class with KS2 students.
LD45 Element Game
For LD45 I was making an element puzzle game, where you try to get points from a having specific tiles. This game was never published.