I'm a computer science graduate from the University of Edinburgh with an integrated master's degree. I have experience across gameplay programming, systems design, tools development, and technical art.
I'm a big fan of systemic game design. I like playing and creating games that give you the tools, put you in a situation, and let you figure things out for yourself instead of pushing you toward one explicit solution. My goal is to make games with a strong and immersive atmosphere, created through visual design and subtle world reactivity, where systems tell stories naturally.
I'm currently working on Eriast Derby, a simulator for a homebrew D&D campaign built around vehicle racing, combat, modular vehicles, and NPC decision-making. You can find it in the projects below.
Data-driven combat and race simulator for a homebrew D&D campaign, built to automate large-scale NPC vehicle behaviour across a multi-stage tournament. Handles modular vehicles, crew-operated subsystems, layered targeting rules, AI decision-making, and custom combat mechanics at a scale that would be wildly impractical to run by hand.
Solo-developed first-person environmental puzzle game set on a steampunk airship and inspired by a Chinese folktale. Built from a blank Unity project over two months, with gameplay centered on reusable physics-based interactions, diegetic puzzle design, and near-complete self-produced art and level content.
Solo-developed atmospheric experience built in Unity, with a custom posterization shader pipeline, 100% self-made assets, and a fully scripted emotional arc. Designed as a technical art piece with visual direction developed in Blender Cycles and translated into a realtime render pipeline from scratch.
Master's thesis and published research on charged mass-spring systems for animation. My contribution covered two areas: debugging and optimizing the DDEF charge-interaction algorithm, and building a complete artist-facing pipeline that takes meshes from Blender, through an interactive simulation tool, and back to Blender as fully animated geometry.
48-hour team game jam project focused on scope recovery, creative reframing, and rapid delivery. Built as a first-time jam entry and ranked highly for narrative and creativity.
View Project
Robotic chessboard built in an 8-person team. I led the software side: designed and built the control layer that interpreted ambiguous physical board input, coordinated LEDs and move validation, and connected the whole system to the chess engine and robot movement hardware.
View Project