Programmer
Projects
MSc Thesis: Combining Game-Engine Technology, Game-Based Learning and Sports Data Analytics to Reinforce Tactical Decisions in Football
The aim of this project was to develop an application that combines open-source footballing data from real matches and game-engine technology to instruct the player in situation specific football tactics. Data will be modelled and used as the main mechanism for formulating a score system used to assess player decision making within the game.
(Click to download)
Computer Game Projects
A Starry Maze
The application created is a playable demonstration of a procedurally generated user-controlled maze-themed exploration game, developed in Direct X 11. Maze layouts are generated using an adaptation of a Randomised Prim’s algorithm. An A* search algorithm was created to find the optimal solution of each maze. A perlin noise algorithm is used to generate the surrounding terrain.

Once Upon A Dime
The application developed was part of a group project completed during my MSc. The application is a fantasy trading game in which the user finds themselves as the owner of a tavern in a fantasy midieval setting. The user must obtain gold through trading with NPC's via minigames in order to grow their wealth. This allows the user to upgrade their shops and stock, in turn allowing them to access more features. The game design and artwork was developed by my teammates whilst I was solely responsible for the development of the application within Unity, and scripting all mechanics within the game.

Computational Physics Projects
All executable code and visualisation of these projects can be found on GitHub:
Cycling in Alpe D'Huez
The purpose of this study was to create an accurate model of elite level cyclists in a racing environment combining both physical and physiological aspects accurately, in order to return a model that can be used by cycling teams to formulate technical tactics and racing strategies.
SIRS Epidemic Model
Susceptible, infected, recovered mathematical model of disease spread using cellular automata (Game of Life), with real-time visualisation.
Partial Differential Equation Solver
Utilised both Jacobi and Gauss-Seidel algorithms with successive over-relaxation to solve Maxwell, Poisson and Cahn-Hilliard equations. This was used to visualise the phase separation of a physical system, described by the Cahn-Hilliard equation, over time.