BioShock – Mad God

BioShock – Mad God | Personal Project | UE 5 | 2022

NOTE: This is an live page which I’m using to document my level design process. Apologies if its a little all over the place.

Level Design work

  • Created level blockout inside UE5 using cube grid and modeling toolset.
  • Collected reference, designed level layout, planned gameplay beats, spaces and encounters, designed and implemented puzzles
  • Used blueprints and sequencer to script player interactions, gameplay events and enemy routes us
  • Conceptualized and scripted narrative moments.

Download and play the current version of the level here

Player experience

First off, I wanted to identify what experience I was trying to create for the player. Steve Lee has an excellent video detailing how he creates a paper overview of a level before any editor work begins. He notes that its critical to establish what type of experience you’re trying to create for the player.

Level design goals

  • Create a BioShock level – the first level a player would play
  • Portfolio piece
  • Show level design – 3D layout, level scripting, environmental storytelling, puzzles, lighting and gameplay ideas
  • 3-5 minutes in length
  • Theme – mystery & intrigue – why is the player here?


  • Introduce player to crouching and jumping
  • Introduced player to melee combat / plasmids
  • Introduce a main character
  • Keep the pacing relatively quick to get the player into the main part of the game (next level)
  • Create mystery & intrigue to hook the player

Gameplay beats

  • Player gets a melee weapon
  • Player gets a plasmid (fire)
  • “Show the puzzle first” sequence – can be solved with plasmid

Level Design Research

I began by replaying BioShock, BioShock 2 and Minerva’s den to get a general feel for how the levels are designed. As I played, I noted down, the general layout of the levels, environmental storytelling aspects, story events, splicer attacks and pickups.

Planning & Reference

Blueprints & Sequencer

The following shows some of the various gameplay blueprints I’ve scripted e.g actor blueprints for the Secruis doors so I can reuse them throughout the level, the teleport blueprint contained in the Level Blueprint and the sequence which plays the lighting event as the player enters the lighthouse.

Actor Blueprint for opening and closing door
Level Blueprint to teleport player
Fig. 3c – Main door & Lighting sequence

Related pages

  1. BioShock – Level Design Project – Reference
  2. BioShock – Level design project – Lighthouse
  3. BioShock – Level design project – Planning
  4. BioShock – Level design project – Update #1


Role: Solo project / research | Platform: PC | Genre: Racer | Engine: Unity | 2022

Play here:


CyberDrome_2085 is a prototype that I created after an analysis of Nintendo’s Mario Kart Tour core loop (please see Fig.2). As I was in the midst of my analysis, I thought it would be an interesting to design a prototype based on mechanics from classic anti gravity racers such as wipE′out″ and combine it with Mario Kart Tour’s core loop. In addition, it would also help me explore and further understand the design behind the game.

CyberDrome_2085 Core loop

  • Players race around a track and compete to earn points
  • Points are based on:
    • Base points (BP) – Pre-race selections e.g. choice of track, character and racer
    • Action Points (AP) – Performing actions during gameplay e.g. jumps, turbo pads entered and credits collected
  • At the end of the race BP and AP are added together for a total points score for that race

Due to scope and time restraints base points are awarded slightly differently in CyberDrome_2085 than Mario Kart Tour. Although the position of the player is tracked, for this version, I decided not to add points based on the players position again due to scope and time restraints. The prototype could be extended to include points for players positions, lap times and overall time for example.

Software & Attribution

Level design and asset creation

I created the prototype track using Probuilder, a modular race kit and some custom pieces built in Maya and based it upon some classic race tracks. Photoshop was used to create the 2D assets and stock models were used for the character and racer models.

Mario Kart Tour Analysis / Observations

Core Game loop

  • Players race around a track and compete to earn points through placement and performing actions
  • Points are broken down into three categories:
    • Placement in race (e.g. 1st = 2050 points, 2nd = 1085 points, 3rd = 928 points)
    • Bonus points (Actions performed in race e.g. jump boost, turbos, land a hit)
    • Base points ( Base attributes for any given character, kart and glider)
    • Players also loose or gain experience points (Player level) depending on their finishing position in the race
  • Each course has its own favored and favorite selection of drivers, karts and gliders. If players use these they earn more base points during a race
    • Favored – allows 2 items lots
    • Favorite – allows 3 items slots – can activate “frenzy” – boosts bonus points
  • Bonus actions, performed during a race, increase bonus points awarded during a race – Jump boosts, collecting gold, landing a hit with a weapon.
  • Combos – performing multiple bonus actions in a row produce combos within a predetermined time frame
    • Combos slightly increase bonus points earned
    • Time to string combos together can be extended by using favored / favorite gliders – making it easier to accumulate higher amount of combos thus increasing bonus points
  • Seasonal content / Tours
  • Gold pass
  • Cups are locked until players complete the first cup

Mind Mapping

Fig.1 – Mind mapping Mario Kart Tour

Core Loop

Fig.2 – Mario Kart Tour – Core loop

Last Line

Role: Individual university project | Platform: PC | Genre: 2D side-scrolling shooter | Engine: Custom| 2008

This was my first attempt at coding a game and the project brief was to design and build a game using Adobe Flash CS3 and Action script 2.

The game specification:

  • On screen instructions for the first time player.
  • Levels should be different in terms of game play (i.e. change of difficulty to allow for flow)
  • The game should feature some kind of scoring system and/or win/lose scenario.
  • It should be sensitive to the user’s needs (i.e. playable!).

Game Design Process and Documentation

My original idea was to design a game based around Atari’s 1981 Defender.

The game loop was to control a space ship while either:

  1. Either avoiding environmental hazards or oncoming ships
  2. Destroy oncoming alien craft while

Difficulty would ramp up each round by increasing the challenge to the player. An example of this was achieved by moving from static obstacles to moving obstacles (enemies) . Moving from moving obstacles to obstacles that shoot the player and then by adding in static obstacles with enemies that shoot the player.

Here is the original documentation for the game and the prototype for the game is here.

Big Tidy Up

Role: Designer | Platform: PC and Xbox | Genre: Casual | Engine: Custom | 2010 |


The Big Tidy Up Game was a team university project for the design for industry module. It was pitched to the Keep Britain Tidy charity as part of their big tidy up campaign in 2010. After finishing university, the team decided to keep working on the game and add further polish eventually releasing to the Xbox Live Indie Games (XBLIG) platform.


  • Worked with client and designed games around their creative vision
  • Tuning and balancing of game systems 
  • Authored and maintained Game Design Documentation and project management
  • Created 2D assets
  • Organised play test sessions with student clubs and collected feedback
  • Play tested and documented design issues and bugs
  • Brainstorming with the team to iterate on features


The game was entered into the 2010 Game Republic Student Show Case and received the following awards:

  • 1st place for the Sumo Digital award for Game technology
  • 2nd place for the Team 17 award for Game Design
  • 2nd place for the Rockstar Leeds ward for best Team
  • 3rd place for the Just Add Water award for Game Art

Store links

Trailers and Game play


Developer | University Individual Project | 2009-10

Junk was an XNA game prototype built using Torque X 3D. It was submitted for my final year individual project at university at took around 3 months.

The core game loop was based on the character’s jump pack, collecting and exploring.

  • Designed and developed original concept for the game
  • Wrote all of the game worlds lore and script
  • Designed all puzzles
  • Scripted all game play events – triggers, cinematic events and Turret AI
  • Created all art assets
  • Organised play test sessions, collected feedback and iteration

Devlogs and Game play

The Corridor: On Behalf Of The Dead

Role: Designer | Platform: PC and Xbox | Genre: First-person horror adventure | Engine: Unity | 2015-2021

Store links


The Corridor: On Behalf Of The Dead is a sci-fi horror game set in a dystopian future where law enforcement invade criminals’ minds to uncover their guilt.

I was involved in all aspects of the games development and worked in close collaboration with artists, programmers and animators to create a rich, immersive and engaging player experience.


  • Designed and developed entire sections of the game. Worked from high-level design briefs and pushed them to release-quality player experiences.
  • Created blockmesh level prototypes. This included – but not limited to – level layout development, world building, narrative beats, puzzle design and AI encounters.
  • Designed and scripted player interactions, and gameplay events using various tools including visual scripting, cinema director and Mecanim.
  • Designed and implemented AI behaviour tree for enemy encounters and paths for NPC’s enemy encounters.
  • Authored and maintained several documents including GDD and golden path level playthrough documentation for use by team members.
  • Designed and implemented world space User Interface with a focus on compatibility with traditional and VR experiences.
  • Worked in close collaboration with a programmer, artist and creative writer to craft an immersive and engaging player experience.
  • Play tested and documented design issues, bugs and other aspects that affected player experience.
  • Organised play test sessions through discord and collected feedback
  • Organised a multidisciplinary team of 4, virtually across multiple time zones

Trailers and Game play