






























Overview
// Top-down level — aerial view of the prototype arena
Mechanics Prototyping (GDEV40018) was a solo module at Staffordshire University running across eleven weekly sprints. The deliverable was a top-down sci-fi shooter built from scratch in Unreal Engine 5 using Blueprint scripting, with no shared framework - every system was designed, built, and iterated on independently week by week.
It's the largest, most ambitious solo project on the portfolio by mechanic count that I worked on. The scope expanded significantly from what was originally planned - what started as a focused prototyping exercise grew into a game with a full UI suite, a bespoke audio manager, Chaos Destruction environments, a player progression system, a currency-driven shop, AI enemies with Behaviour Trees, four weapons, puzzles, collectibles, and a complete options menu including NVIDIA DLSS and Frame Generation support.
The module was inspired by analysis of Diablo IV, X-Men Legends, and Bomberman Battlefest - specifically their approaches to varied enemies, dynamic difficulty, and destructible environments. Progress was documented weekly on the Digital Academy Forum as a development thread.
Sprint Timeline
Each sprint added or iterated on a mechanic. Development was documented in a 281-page Digital Academy Forum thread covering analysis, builds, crashes, fixes, and reflection.
Weapons
// In-game HUD — health and weapon display
// Laser beam — Niagara VFX particle trail
// Fireball — Niagara VFX burst effect
Four weapons are available, each with distinct stats, range, and a unique feel. The pistol is the starting weapon; all others are obtained through exploration or the shop.
Game Flow
The game is structured across a linear main path with optional branch paths offering secrets, extra weapons, and loot. Seven main nodes drive the critical path; nine branch nodes offer optional content.
Technical Deep-Dive
// Enemy behaviour tree — Blueprint AI logic graph
Bespoke Audio System - Inspired by Final Fantasy XIII's combat/exploration music transitions. The default UE5 sound management approach produces complex, unwieldy Blueprints. The custom system uses separate sound player instances per audio stream to avoid playback inconsistency. BGM transitions dynamically based on combat state. The system also explored MegaSounds as a more robust framework for advanced features.
Chaos Destruction - Destructible environments using UE5's Chaos physics. Nanite was enabled on specific materials to avoid a severe performance penalty (without Nanite, frame rate dropped significantly under destruction load). Destruction SFX randomised per hit. Crate Blueprint spawns a physics coin burst with a random count and prevents duplicate spawning via geometry collective component check.
Occlusion Outline (M_PP_OcclusionOutline) - A custom post-process material that detects when an enemy mesh is occluded behind geometry and renders a visible outline through the wall. The graph samples pixel depth, separates mesh from scene using an outline mask, creates highlights around the outline, and calculates occlusion - all wired into a final composite with a toggle for whether the outline renders when unoccluded.
Enemy AI - Three-state Behaviour Tree: Combat (chase and attack player, strafe logic, EQS-based positioning), Investigating (move to last known location, wait, then revert), Passive (patrol route or idle). Enemy types include: UFO (looping particle trail, magenta laser beam), red spiked ship, crystal/enchanted enemy (poison projectile, ambient aura), and heal enemy (missile fire, chase, healing arc spawn on death). Some enemies inherited Aggressive state, when reaching certain threshold, making them act aggressive and ruthless.
Player UI - Coin counter with animated fade in/out using event dispatcher bindings (Hide Coins / Unhide Coins). Timer-based hide handler prevents the hide event from firing while coins are being actively collected. Level bar and boost bar tracked live via custom events. All UI updates flow through Event Dispatchers to avoid Blueprint coupling.
Niagara VFX - Multiple particle systems authored for the project:
Reflection
stat gpu but the root cause was never isolated — Task Manager showed both CPU and GPU underutilised.
Difficulty balancing — Playtest feedback revealed the early game was too punishing. Players were dying too frequently. Enemy damage values were adjusted and a resistance mechanic was added to mitigate incoming damage. Shop upgrade costs were also too high relative to available currency — lowered after playtesting.
Audio system — Reusing the same sound player Blueprint instance caused playback inconsistencies. Each audio stream required its own instance. The bespoke approach worked for basic BGM/SFX but the more advanced combat-state-aware transitions required further experimentation.
Planning — A recurring theme in the development logs. The approach was characterised by "throwing ideas at the wall to see what sticks" — which caused direction drift mid-sprint. Key lesson: Trello, mind maps, and pre-sprint diagrams are essential tools, not optional. The planning documents produced for this module (bubblemaps, game experience design slides, weapon diagrams) reflect a retroactive attempt to structure what had already been built intuitively.
What worked well — Chaos Destruction received positive feedback and closely resembled Battlefield's Frostbite destruction in practice. The levelling system, driven by Event Dispatchers, was implemented with relative ease despite initial expectations of complexity. Enemy AI was praised for sophistication during testing, despite the limited number of encounters.