MAXIM CALLAGHAN

Game Designer · BA (Hons) 2:1 · QA @ Keywords Studios
← Back

PROJECTS

Three uni projects and a game jam, plus some stuff I'm still building. Each write-up covers what I was actually going for, what ended up in the build, and what I'd do differently. Some of these have playable downloads.

Professional Keywords Studios QA tester on NDA titles. 2025–present.
Freelance QA
// University Projects
// CASE 001

MAYDAY RACERS

Unity · 23-Person Team · 2024–2025
Role Project Lead
Team Size 23 People
Engine Unity · C#
Duration ~9 Months
Responsibilities
Lead UI Docs

Overview

Mayday Racers is a combat racing game in Unity, built by a 23-person team across three departments. I was Project Lead, which mostly meant keeping everyone pointed at the same game rather than quietly building three different ones. Harder than I expected.

Annotated track map — sections, shortcuts, hazards, and boost pads
Track map: sections, hazards, alternate paths
// Project Goals
  • Get 23 people, across three departments, building the same game
  • Establish documentation everyone actually reads and uses
  • Ship a playable vertical slice, then a final build
  • Help handle the UI side when I had a chance so I had skin in the game
// What I Learned
  • Documentation only works if it stays alive. A Notion that goes unupdated is worse than no Notion.
  • Decisions need to land in the build, not die in a meeting
  • Leading means knowing when your best move is to stop doing and start unblocking

Systems & Contributions

Notion wiki — GDD, task boards, sprint timelines
// 01
Discord & Notion Infrastructure

Set up the Discord server with role-based channels so departments weren't constantly in each other's way. Built the Notion wiki from scratch, with a shared GDD, task boards, sprint timelines,accessible to everyone but lead-moderated so it didn't turn into a dumping ground.

UI design concept
// 02
UI Design & Iteration

Handled the main menu, character select, and in-race HUD. Agreed on a visual language with art and programming first, then iterated on layout based on what read at speed.

// Git graph screenshot (Still to locate)
// 03
Source Control Setup

Created the Git repo and branching convention. Handed day-to-day control to the tech lead once it was running, programming was doing the heavy lifting. Branching kept experimental features off main.

Screens

▶ Outcome

We shipped a playable build with a full track, car controller, combat pickups. Cross-department communication broke down in the middle and we cut a chunk of content to make the deadline. Tutor feedback called that out directly, which wasn't a surprise. We worked with what we had and got something playable, but it was a struggle.

The main thing I took from it: communication is key. Without it, plans fall apart and the team fragments. I tried to keep everyone in the loop but I could have done more to make sure information was landing and being used.

Documentation

Sprint planning & Agile Notion wiki UI design Cross-team coordination Playtesting
// CASE 002

THE CAPTAIN'S PYRE

Unreal Engine 5 · Solo · 2024–2025
Role Solo Developer
Engine UE5 · Blueprints
Tools Twine
Genre PSX Horror
Responsibilities
Design Narrative Level

Overview

Solo PSX-style horror project. You're a ship captain losing himself at sea. The investigation I proposed: build dread through narrative and audio, no cheap jumpscares.

The Captain's Pyre — atmospheric scene
The Captain's Pyre — atmospheric scene
// Project Goals
  • Solo UE5 vertical slice, falling within a deadline
  • PSX visual style using UE5 post-processing
  • Branching narrative with choices
  • Use audio and environment as primary horror tools
// What I Learned
  • Narrative branching gets time-consuming fast, Twine helped me see the shape before coding it
  • Creating effective horror can be quite challenging when you're trying to build dread without relying on traditional horror tropes
  • A small scale project can easily turn into a massive undertaking if you're not careful

Systems & Contributions

Twine narrative flowchart
// 01
Narrative Architecture

Mapped the full branching structure in Twine before touching UE5. Having the shape of the story visible made it easier to identify which branches led nowhere and which choices would potentially matter.

Blueprint inventory data table
// 02
Inventory System

Item data lives in a Blueprint data table so I could add and edit entries without touching the interaction code. Kept the logic and content cleanly separated.

Audio cue tree
// 03
Audio Design

Ambient audio tied to each level, weather shifting, the ship groaning, the sudden clang of something dropping. No music. Silence and atmosphere pulls more weight than a horror soundtrack.

Screens

▶ Outcome

Submitted as my final year solo piece. The PSX filter and ambient audio did most of the heavy lifting, atmosphere-first was always the goal and it landed. The branching held together better than I expected from a solo Twine-to-UE5 pipeline.

If I rebuilt it I'd expand upon the narrative. A couple of the endings feel like they stop rather than finish and some of the dialogue felt flatter than I wanted it to. Playable build is on itch.io.

Documentation

Solo UE5 Twine narrative Blueprint scripting PSX post-processing Audio design
// CASE 003

SOHVANII

Unreal Engine 5 · Duo · 1 Week
Role Duo Developer
Engine Unreal Engine 5 · C#
Duration 1 Week
Genre Anomaly Horror
Responsibilities
Design Code Art

Overview

Spot the anomalies. Survive the night. Duo jam entry, one week, for a uni brief. It's Five Nights-adjacent but we tried to make the environment do the work instead of cheap scares.

Sohvanii — gameplay
// Project Goals
  • Complete a full game loop in one week, with my friend Ben
  • Create tension through environmental change, not scripted scares
  • Design a space that reads clearly enough for anomalies to register
// What I Learned
  • Scope always wins. You plan more than fits in the time.
  • Readability matters more than atmosphere when the mechanic is visual comparison
  • Duo in a week means every call is final. No revision, no second pass.

Systems & Contributions

// Floor plan (still to locate)
// 01
Level Design

The apartment needed to feel lived-in but be readable at a glance. Object placement was driven by what could be spotted as wrong quickly, anomalies in peripheral vision work better than ones you have to hunt for especially on a timer.

Anomaly state
// 02
Anomaly System

Objects have a normal state and an anomaly state. The system picks a random subset each round and flips them. Player has to identify which ones changed within the alloted time. Simple to implement, surprisingly effective in play.

Screens

▶ Outcome

The core mechanic worked. Playtesting showed people leaning in and paying attention, which is all the anomaly system needs to do. The space ended up smaller than planned but that actually helped; readability matters more than scale in this kind of game.

A week is enough to ship something playable. Not enough to polish it. Given another week we would have added more rooms and a proper win condition.

Documentation

Duo UE5 1-week jam Anomaly mechanic Environmental horror
// Work In Progress
Grinda Horror level
Grinda Horror tunnel
Grinda Horror inventory
// WIP
GRIND AND MINE
UE5 Blueprints · First-Person Horror Puzzle · Active Dev
Project Grind and Mine
Engine UE5 · Blueprints
Genre First-Person Horror Puzzle
Status Active Development

What Is It

Grind and Mine is a first-person horror puzzle I'm building in UE5 Blueprints. Still in early development, I'll update this section properly once there's something worth showing.

// Also Shipped
Eco Island
// 004
Eco Island
UE5, 7-person team. Shared survival game about resource depletion. I handled the GDD and source control.
View on itch.io ↗
// 005
Fishout Jim
Game jam duo in UE5. First jam I did. Learned how different everything is when you only have 48 hours.
View on itch.io ↗
// 006
Unearthed
First lead role, Unity. Started too big, learned to scope. First real production lesson.
View on itch.io ↗

DOWNLOADS

Three games on itch.io. All free, all playable right now.

Mayday Racers
// 001
Mayday Racers
Arcade combat racer. Drive fast, shoot missiles, try not to crash.
Racing Unity Windows
Download ↗
The Captain's Pyre
// 002
The Captain's Pyre
PSX horror. A captain at sea, slowly losing his mind. Branching narrative, multiple endings.
Horror UE5 Narrative
Download ↗
Sohvanii
// 003
Sohvanii
Spot the anomalies, survive the night. Made in a week for a university jam.
Horror UE5 Game Jam
Download ↗
Menu — Hover
♫  Atmosphere
Now playing…