Half-Life 2 – Reactor Cooling

Half-Life 2: Reactor D6 | Level Jam | Hammer | 2022

This level was my entry into Steve Lee’s second level design jam. The themes for the jam were “Non-Violence” and “Verticality“. I decided to learn the Hammer Editor for this one as its still one of the best pure level design tools and allowed more time to concentrate on building and scripting the level. I tried to keep my scope small and focused, as time was limited.

Level Design work

  • Collected reference, designed level layout and planned gameplay beats
  • Created level blockout inside the Hammer++ editor
  • Conceptualized and scripted puzzles, interactions & environmental storytelling

Gameplay & narrative beats, intensity and level flow

Fig.1 – Level timeline 

Gameplay & beats

  1. Arrive at the reactor
  2. Wooden planks blockade
  3. Water valve and crowbar puzzle
  4. Broken stairs blockade
  5. Collect the Zero Point Energy Field Manipulator (Gravity gun)
  6. Discover the multi-level structure
  7. Exit level


Fig.2 – Level layout

Design decisions

Composition & signposting

To make use of the verticality theme, I decided to start the player up high to allow them to assess their options and decide on a path. Using this approached allowed me to stimulate the players curiosity and explore the space. I also included a windmill as a landmark to guide the player throughout the level.


I used the classic Bait & Switch technique to draw the player to an obstructed opening which blocks their path. Players can see that the crowbar is located on access walkway above them and they need to reach it. Backtracking, players can find the valve to raise the water level.


The use of gating was used to make the player stop and think about the crumbled stairway problem. The locked door implies that something the player needs is behind it. Affordances associated with scattered wooden planks and metal panels in HL2 provide multiple options for the player to progress.

Planning & Reference

The image gallery below shows some initial sketch work before block-out along with some reference imagery.

Gallery 1 – Initial sketches for the level’s layout

Fig.1 – Moodboard/concept reference

Jam video

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

Gameplay & narrative beats, intensity and level flow

Gameplay & beats

  1. Arrive at the lighthouse
  2. Bathysphere Gas trap
  3. Collect Radio/Meet the stranger
  4. Jumping and crouching (TUTORIAL)
  5. Collect the wrench
  6. Melee Combat (TUTORIAL)
  7. Plasmid puzzle
  8. Exit level

Further reading: BioShock – Level design project – Planning

Blueprints & Sequencer

The following shows some of the various gameplay blueprints that I’ve scripted for the level e.g. actor blueprints for the Secruis doors so I can reuse them throughout the level, a 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
Main door & Lighting sequence

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

Further reading: BioShock – Level design project – Planning

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
  5. BioShock – Level design project – Update #2


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




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 co-created the studio and 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

Level design

Toyama Work Camp – Level design process

Game play and gallery