City Teleports (2019)
A mod for Skyrim, 'City Teleports' added a dozen new spells to the game which allowed the player to teleport themselves to any city and most large towns. A handful of NPCs were added to thematic locations around the world, selling their regional teleports while others could be found throughout the world. The aim of this mod was to add a lore friendly form of fast travel as I personally find map-based fast travel to remove my immersion from an experience and there were no mods that did anything similar. There were two additional mods, one for guilds and one for additional towns but unfortunately updates to Skyrim broke the mods and they have since been delisted. 461 unique downloads is pretty good for my first mod, with the guilds recieving 200 and the additional towns recieving 300.

Nexus mod page
I have been part of a local dnd group since 2018 and writing my own games for the group since 2019. The group is called World's End and is intended to be an episodic experience where players can drop in and out every week, meaning that any games written have to be short 4-6 hour long experiences that provide player characters with gold and experience, returning to status quo in a closed-ended arc.
Homebrew Dungeons & Dragons (2019+)

D&D contents
Saffen's Tower (2019+)
I have been working on my own 'Dungeons and Dragons' campaign over the last few years when I've found the time. Each of the games for this campaign follow a single overarching story but are designed for the drop-in drop-out nature of Worlds End, meaning that each game is self contained and can be run on its own as a short tabletop experience. This project is still ongoing.

Saffen's Tower contents
Lost Media (2020)
All of my work prior to 2020, excluding 'City Teleports', has been long lost to time including early game jams and first games. I will passively try and collect what I can over time but losing access to Imgur defintely lost a lot of old content.
A Dishonored DLC concept set in an alternate timeline where Dunwall has fully collapsed under the rat plague. You play as Corvo across five levels, working your way back to Emily at Dunwall Tower under a three-day in-game countdown. Three factions, the Overseers, the Sixways Gang and the Weepers, are competing for control of the ruined city, each with a numerical power value that shifts based on your choices throughout the run. Whichever faction holds the most influence when you reach the final defence sequence determines the ending. The core intention was that the player is never pushed toward a single approach instead stealth, diplomacy, and outright violence are all valid from start to finish.

Dishonored outcome table
An RNG-heavy, text-based dungeon crawler built in Java. You move through a procedurally generated world arranged in biome rings, starting in The Plains and expanding outward into forests, swamps, snowhills, and deserts, each progressively harder than the last. Every tile is randomly generated based on its neighbours, with enemies spawning on a dice roll as you explore. Combat is a back-and-forth loop where the player can attack, cast spells, block, use items, or flee, while enemies follow a simple pattern of attacking for a few turns then blocking, with a smarter variant that reads the player's recent actions. Rooms have interactable objects with randomised outcomes, some give loot, some start combat, and some just hurt you. The whole thing is displayed through a scrolling 3x3 ASCII grid, with each tile drawn in text art to represent its biome.


RED 2D ascii
A 30-second Maya animation set in a volcanic wasteland covered in giant fireproof mushrooms, rivers of molten lava, and erupting volcanoes filling the sky with ash. Lighting comes almost entirely from the lava itself, with the colour palette leaning into dark browns and blues contrasted against bright reds and oranges in the flora. The animation follows a drone camera moving through the environment, with the perspective ascending a mountain. It ends with a colossal creature becoming visible, turning its glowing eye toward the drone and shutting it down.
New World showcase
A first-person exploration game set in an abandoned sci-fi facility on a planet mid-evacuation. The player wakes as a test subject with no memory and have to navigate three floors of increasingly ruined offices and collapsed corridors to reach and unlock the main exit. The building is heavily damaged by the top floor, with a collapsed mid-section requiring some platforming to cross. The aim was to build a short, atmospheric experience with environmental storytelling doing most of the narrative heavy lifting, with the state of the building and scattered log entries leading the narrative.
Who Am I showcase
A retro themed local multiplayer brawler set in a crumbling pixel art castle. Two to four players face off in an arena where the only way to kill an opponent is to hit them in the back, with a front hit sending the attacker bouncing away. The twist keeps every match chaotic while remaining readable as everyone can see everyone and the rule is simple enough to grasp but takes tactical consideration to pull off.
Behind trailer
A Lovecraftian walking exploration game built in Unreal 5, set in a single abandoned tavern on a tiny island in a storming ocean. The tone follows the three-act structure of the source material, pulling the player from an eerie calm through creeping unease and into outright dread. Each floor of the tavern has multiple ways out, with the player left entirely unguided to find them, and the choices they make along the way quietly shift how the final scene plays out.
Shadow Over Innsmouth showcase
A prototype magic system built in Unity as a mechanic study into modular, component-based spell design. The player selects a shape, effect, and element from a hotbar before casting, with each combination producing a meaningfully different spell. A ball moves from A to B while a line triggers along a path, a chain effect jumps between enemies while a homing effect tracks one enemy, and electric damage doubles on a soaked enemy while fire deals damage over time.
Each component is its own concrete class extending an abstract base, meaning new shapes, effects, and elements can be slotted in without touching existing code. The surrounding game is simple, enemies move toward the player and deal damage when they get close with the round ending after taking ten damage, but it was enough to run structured playtesting across three sessions, producing balanceable data sets and identify which combinations were broken.
Wizard Survival showcase
A cinematic underwater exploration game built in Unreal as a team project for Konglomerate Games. You play as a large sea creature swimming through an ancient submerged village, drowned when the cave system beneath it collapsed. The level design went through several iterations, drawing from river formation geography and real submerged civilisations, landing on a natural winding layout with enclosed caverns and an open cove. Interactable fish swim through the level and flee from the player, and a passive eel guides progression at the start and end of the run.
Through The Waves trailer
An environmental storytelling experience built in Unreal Engine 5 using low-poly models made in Blender. The playerwalk through an underground corporate research facility in the aftermath of a zombie outbreak, playing as a third-party investigator sent in to steal data for a rival company. There are no mechanics beyond movement, so all of the storytelling is done through props, lighting, colour, and spatial design. Each room tells its own self-contained story set across different points in time, some showing what happened before the outbreak, some during, and some after. The focus was on applying design principles like colour theory, visual hierarchy, semiotic shape language, and eye-leading light to make those stories readable without any text or dialogue.
Zombie Lab showcase

Rainbow Reef gameplay
Rainbow Reef
A competitive arcade game built for the Whalesong Park cabinet, supporting one to four players. Each player controls a sea creature moving across a shared grid, leaving a trail of their colour behind them. The player who claims the most tiles wins. Players can grow or shrink in size to overtake opponents, affecting both their footprint and movement speed. Inactive players are replaced by simple bots that wander randomly until a real player joins.
A Just Journey
A tabletop roleplaying game built around a gamified Instant Runoff voting system. Each round, a scenario card presents a crisis and every player argues their proposed solution. Players rank all solutions from favourite to least, the lowest-ranked is eliminated, and the loser of that round leads the next argument. This repeats until one solution remains and a point is awarded. Optional rules let players take trait cards to shape their proposals, or add a sentence to the scenario before it is revealed.
Be Petty
A two-player abstract strategy game played on a shared grid. Each player is secretly dealt four position cards marking the grid coordinates they must cover. Players take turns placing, moving, or rotating tetrominoes to cover their own positions while avoiding disrupting their opponent's. Players cannot communicate about the game during play and pieces cannot overlap, so conflict must be resolved by trying to infer intent without any direct information. Once both players have covered their positions, each player wins.

A Just Journey scenarios

Be Petty game board
A short literature review on horror and how it can have a physical and emotional impact on a viewer. This piece looks into the psychology behind horror, specifically body genres, the sensorium, social emotional bonding and plotlines & tension. This paper made me realise that I enjoy psychology in media and I think played into my interest in game design for the same reason. I'd like to do more bits like this in future.

Literature review front
A procedurally generated hack n slash built in Unity for my honours project, exploring how generated content affects replayability. The player moves through a dungeon made up of randomly placed and connected rooms, fighting enemies using light attacks, heavy attacks, dodge rolls, spells and consumables. Enemies scale in health, damage, size and dual wield chance based on an adaptive difficulty system that tracks your performance across each room, measuring things like accuracy, dodge efficiency, combo frequency and clear time to assign you a rolling skill score. A boss sits somewhere in each floor and defeating it opens a portal to the next layer. The game also exports the players session stats to a text file, which fed into anonymous participant testing to evaluate whether procedural generation meaningfully drove players
RED 3D showcase
A momentum-based puzzle platformer following Pepper, a solarpunk scientist riding a hoverboard through an abandoned laboratory. The movement is physics-driven, building and preserving velocity through ramps and transitions, while a ranged seed system lets the player reposition terrain ahead of them without breaking flow. The core design challenge was merging momentum gameplay, which wants to be fast, with puzzle gameplay, which wants to be slow, and the seed system was the solution to that.

Pepper's Quest showcase
A digital adaptation of 'Right 2 Roam' (2023), an applied board game about the threats of city nightlife and urban travel anxiety. Players move through a procedurally generated first-person street scene, encountering threats and using guardian cards to handle them, with each scene type generating unique environments and interactions. The core design challenge was preserving the board game's conversational purpose inside an immersive digital experience without pulling players out of the discussion it was designed to start.

Right 2 Roam showcase
whatever comes next (2026)
who is to know