Greetings, my name is
About Me
I am a graduate of the University of Edinburgh with the degree of Master of Informatics with Honours (First Class). I specialise in system design and computer graphics.
On the side I am interested in game development and 3D art. I am looking for a job that will let me combine this creative side with the technical skills I have acquired during my studies.
I am currently working on designing a tabletop RPG with special homebrew mechanics. It revolves around vehicle racing and combat in a custom fantasy setting with a full NPC simulation system during races. I hope to share more details about it soon.
Here are a few technologies I've been working with recently:- C++
- C#
- Python
- Unity
- Blender
- Godot
Projects
Unity
C#
Eriast Derby
Simulator for a homebrew D&D campaign where players race and fight in custom-built vehicles. Automates all NPC vehicle behavior across a multi-stage race with a large field of competitors, replicating the full complexity of a D&D combat session with custom mechanics at a scale that would be impossible to run by hand.
Unity
C#
Blender
Fox-Fire Heist
First-person environmental puzzle game set on a steampunk airship, inspired by a Chinese folktale. Developed entirely solo - all game systems, 3D models, animations, level design, and lighting from scratch, with puzzles built around a small set of systemic physics-based mechanics.
Unity
C#
Blender
Moody Space Station
Atmospheric first-person horror game set on a derelict space station. Developed entirely solo - all 3D models, scripted sequences, lighting, and post-processing effects from scratch, with the focus entirely on building a sense of dread through environment and visual design.
Python
C++
Mass-Spring-Charge Systems
Master's thesis research extending soft body simulation with electrostatic charge interactions. Developed a novel algorithm that outperforms the industry-standard PME method, alongside artist-friendly tooling for creative control. Submitted to SIGGRAPH 2025.
Get in Touch
I leave no e-mail unread.