Crushing Depths is a minigame management horror game, You're running a routine diagnostics check in a submarine, until something finds you in the dark crushing depths of the ocean.
A 1-bit narrative game which takes about 10 minutes per play-through with immersive sound and elusive gameplay. Whilst the majority of the game is based on a virtual computer, the main character is situated within the control room of a submarine, isolated from other crew members. Witness the virtual demise of your peers and ominous surroundings as you tackle a series of time based minigames, which challenge your reactions and demand that you provide temporarily relief from a submarine plagued with turmoil and mechanical blight.
This game was developed for a 4 day Game Jam, in which two of three available awards were obtained. The game achieved awards for the best use of theme (1-bit) and for the best game overall.
I worked as one of two programmers alongside 3 designers and an artist, to produce a visually appealing and intense gameplay experience with scalability and the opportunity for further development.
I worked on systems such as the virtual computer cursor, screen space and button collision. I also developed the core system of the logistics for narrative development, allowing events to be triggered and for the storyline to develop from one chapter to the next. This development was conducted in a manner friendly for designers, with interfaces (class abstractions) developed to facilitate modular event construction to speed up the production pipeline, optimise code through object-oriented approaches and code reusability, and scalable solutions to simplify the process of our planned future development of this game.
Additionally, the button system and collision detection was custom built by myself, for optimal and appropriate use beyond the standard system implemented within the Unity game engine.
Unity, C#, Arcade Machine Game
Ad Astra - UoN Tower of Power
Game Jam Winner (2026)
Ad Astra is a single-player arcade style vertical scroller produced for the University of Northampton "Tower of Power". Implemented for a specific screen, the game includes propulsion physics and a simplistic character controller which allows the player to navigate through the atmosphere in the search of helpful items such as fuel boosts and virtual currency. With a limited fuel supply and harmful obstacles, the player must traverse the skies to optimise their resources and attain a higher altitude than their peers.
This award-winning project was developed as part of a 4 day University Game Jam, where I worked as one of two programmers within a team of 6. This game won the competition and achieved the prize of "best overall game".
My main contribution towards this game was the infinite gameplay system. This comprised of two types of level "blocks" which are used to construct the game environment. The first is default level blocks, where item spawn points and locations are decided, along with the background. These level blocks are used at the beginning of the game and will retain the same layout at the beginning of every game instance. The second type of level blocks are randomised. Spawn points are assigned by the designer, alongside every possible item that can spawn in a given point. This ensures that when a random level block spawns, the objects within the block are randomised. These level blocks spawn after the default level blocks, meaning that once the player gets above an initial altitude, predictability diminishes.
The level block system utilises garbage collection and memory optimisation through spawning random level blocks above the player (and out of view) player altitude increases. When a new level block is introduced, the block at the bottom of the stack is deleted. This ensures that the game only ever has a maximum of 3 level blocks spawned at a given time, stabilising performance and negating statistical dependencies.
I also worked on generic bug fixing, performance improvement, optimisation and some aspects of the player controller.
Ad-Astra will undergo a future conversion for suitability as a mobile game, including UI restructuring and a refinement overhaul.
Unity, C#, Specialised Mobile Game
I worked as project lead and one of two gameplay programmers to develop this top-down puzzle game. Secrets of the Labyrinth was a University Game Jam group project which took place over the course of 3 days. It is a game created for an in-house arcade machine which was built by the University. The game jam was for students from first year, to graduates. All five of us were first year students at the time.
The game can be played with one player or two, and is operated using joystick and button controls on the arcade cabinet. In single player mode, the player must find all three keys (with limited lighting) before they can use the exit. In multi-player, the players must race to find all three keys in order to escape before their opponent. The game also includes power ups such as increased light, increased movement speed and teleportation tunnels. If the game lasts too long, a dust storm can also eliminate you from the game. Each instance of the game has a randomly generated maze.
I specifically worked on application flow aspects such as the intro screen and how it transitions to the main game loop. I also programmed the functionality relating to the user interface, as well as collision mechanics between the player and interactable objects. Additionally, I handled all project-lead related tasks including time and resource management, as well as a large portion of the game mechanics.
Godot, C#, Arcade Machine Game
Secrets of the Labyrinth - Godot Arcade Game - Game Jam Winner (2024)
Pit-Stop - Unity C# Project Silverstone Game Jam - Runner Up (2025)
Pit-Stop is a game which was developed over the course of 3 days for a game jam at Silverstone Circuit.
I led a team of 6, where we were tasked to design a multi-player game for a large 10-point touch screen display which features in Silverstone Museum.
My roles involved leading the team, developing the game concept and working on a number of gameplay mechanics. The game involves having two teams, where each team must compete to complete 3 pit stops faster than the other team. This involves having a vehicle pull into the pit lane, having to jack the vehicle up into the air from the front and back, removing old tyres, fitting new tyres, then releasing the vehicle jacks.
I specifically worked on the flow of the application as a whole, including the introduction screen and how it transitions to the main gameplay loop, and concluding to bring the user to a leaderboard after the game has finished. I also implemented all functionality for the game's user interface, including time keeping for each pit stop, a timer for the current pit stop, and a counter to indicate the current pit number. Additionally, I managed a team under strict time conditions and worked with other programmers on extensive debugging and hot-fixing all throughout the project, before we presented it at Silverstone Museum.
Unity, C#, Interactive Touch-Screen Game