Back
MECHANICS PROTOTYPING
96% · First Class

What is Mechanics Prototyping?

Mechanic prototyping aerial view // 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.

11Weekly Sprints
160UE5 Crashes logged
4Weapons
3+Enemy types
35+Mechanics built
  • Full bespoke audio system - BGM/SFX manager with dynamic combat/exploration transitions, inspired by Final Fantasy XIII
  • Chaos Destruction - destructible environments with physics simulation, Nanite optimisation, randomised destruction SFX
  • AI Behaviour Trees - Combat / Investigating / Passive states, EQS queries, strafing, patrol routes, projectile diversity
  • Player levelling system - XP, level-up UI with Event Dispatchers, stat growth, level bar in HUD
  • Currency shop - coin pickup system, coin radius upgrades, Health Capacity / Regen / Attacker / Defender upgrades
  • Full options menu - Screen resolution, V-Sync, FPS cap, NVIDIA DLSS, Frame Generation, texture / shadow / shading quality
  • Pressure plate puzzle - 9-plate 3×3 grid, wrong-combo enemy spawn penalty, correct-combo wall explosion to unlock next area
  • Tutorial system - animated slide-in overlay panel tracking completion of tutorial steps
  • Ambulance spawner - checks player HP, conditionally spawns a response unit ("NEEE NAAAAW")
  • Occlusion outline post-process material - enemies remain visible as outlines when behind geometry

Week by Week

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.

Week 0 - Analysis
Research phase. Analysed Diablo IV, X-Men Legends, Bomberman Battlefest. Identified key design pillars: Varied Enemies, Dynamic Difficulty, Destruction. Set scope for the module.
Week 1 - Core Foundation
BGM/SFX player Blueprints, Pawn possession, fireball WIP skill, reactive lights, rotating mesh props, firing mechanic, destroyable targets. Cyberpunk 2077-inspired level design start.
Weeks 2–4 - Player Systems
Player Character Blueprint (BP_PlayerCharacter) built out — movement, damage/death, sound, passive mechanics, weapon switching. Health system, boost bar, tutorial overlay animated panel.
Weeks 4–5 - Enemies & AI
Enemy Behaviour Tree with Combat/Investigating/Passive states. EQS queries for positional awareness. Strafing logic. Patrol routes. Multiple enemy types: UFO, red spiked ship, crystal/enchanted enemy, heal enemy. Projectile diversity - pistol bullets, missile, laser beam, fireball, enchanted projectile (poison).
Week 5–6 - Destruction & Props
Chaos Destruction integrated. Crate BP spawns physics coin burst on damage. Destructible object BP with randomised destruction SFX. Nanite enabled for performance. Sliding door with 'Swooshy Mooshy' animation timeline. Archway procedural mesh generation.
Week 6–7 - Economy & Shop
Coin pickup system (spinning coin, random value, radius debug trace). Sushi Shop UI - three upgrade tiers (Health +25, Health Regen 5 HP/2s, Coin Radius). Upgrade cost balancing based on playtesting. Sushi Gogo van prop placed in shop area.
Week 7-8 — Progression & Puzzle
Player levelling system with XP and Event Dispatcher-driven UI updates. Pressure plate puzzle (9-plate grid, possession mechanic, wrong-combo penalty spawns enemies, correct-combo wall explosion). Kinder Egg Easter egg collectibles.
Weeks 9-10 - Polish & UI
Full options menu (Screen Settings, Graphics Settings, DLSS, Frame Generation). Occlusion outline post-process material (M_PP_OcclusionOutline). Player UI coin counter with fade animation and timer-based visibility. Ambulance spawner. Tutorial system completed.
Week 11 - Balancing & Submission
Difficulty balancing after playtest feedback - initial segment was too punishing. Adjusted enemy damage values, added player damage resistance. Shop upgrade cost rebalancing. Performance investigation (stat gpu, 30fps drop on startup - root cause not isolated).

Arsenal

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.

Pistol
Starting Weapon
DMG 15
Fire Rate Normal (1.0s)
Range Long
Accuracy Very Accurate
Travel Time Normal
Machine Gun
Mid-Game
DMG 10
Fire Rate Very Fast (0.1s)
Range Very Long
Accuracy Fairly Inaccurate
Travel Time Almost-Instant · Trail particles
Shotgun
Mid-Game
DMG 30
Fire Rate Average
Range Medium
Accuracy Very Inaccurate
Travel Time Fast · Pellet spread · Lifespan 0.65–1.5s
HP Explosive Rifle
Late-Game
DMG 65 Radial
Fire Rate 4-Burst Semi-Auto
Range Very Far
Accuracy Very Accurate
Explosion Radius 350 · Self-damage possible

Level Structure

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.

  • Node 1 — Tutorial area: player learns controls, core mechanics, and encounters first enemies. Kinder Egg #1 accessible.
  • Node 2 — Exterior patrol: open exploration zone, a few patrolling enemies, ambient world-building.
  • Node 3 — Puzzle approach: more enemies surrounding the building. Find clues on walls and floors (press E to memorise). Branch: control panel room, exterior for Kinder Egg #2, and a weapon pickup.
  • Node 4 — Pressure plate puzzle: possess the cube, activate the correct 4-plate combination on a 3×3 grid. Wrong combo temporarily evicts the player and spawns enemies. Correct combo explodes the wall into the city.
  • Node 5 — City entry: end goal blocked by explosive wall, console must be activated. Shop access available. Kinder Egg #3 hidden here.
  • Node 6 — Horde wave: endless enemies spawn until a timer expires. Side locations accessible with coins and weapon pickups.
  • Node 7 — Final push: reach the end goal while enemies are still active.
Easter eggs — Kinder Egg Surprise Three Kinder Eggs are hidden across the level. Collecting all three unlocks a secret reward. The mechanic rewards thorough exploration and completionists.

Systems Built

Behaviour tree // 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:

NS_LaserBeam_PurpleLight Fireball Explosion UFO Trail Orbs Sparkle Burst Cyan Firework Portal Ring Pink Rose Particles Ground Fire Trail Magenta Ribbon Beam

Challenges & Lessons

160 documented engine crashes UE5 produced ambiguous bug checks with little actionable information. One particularly painful instance: the shop UI Blueprint had an infinite loop caused by an event that shared nodes with several others performing similar functions. The fix was hardcoding a call limit — which later became redundant when the underlying issue disappeared on its own. A gradual performance drop (approximately 30fps lost seconds into gameplay) was investigated using 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.