
Scenario 22B
Overview
Design Goals
Constraints
A short, action-oriented Half-Life 2 level, where the player is tasked to defend a rebel base from a Combine attack, all happening inside a Combine-run simulation!
-
Push my scripting skills to their limits
-
Create varied and interesting encounters
-
Base decisions on intentional design choices and extensive playesting
The level was originally made for the Level Design Jam hosted by Steve Lee
The jam theme was escape or illusion.
​I chose illusion and set the level inside a Combine simulation
From the start, I also planned to keep working on the project after the jam, iterating and polishing it beyond the deadline
Video Breakdown
This is a full video breakdown where I talk about all of my design decisions throughout the level.
If you'd like to watch the gameplay video with no commentary click here.
​
If you'd like to have a look at my process, continue reading.
My Process
High level approach
At a high level, the thing I value the most when making a level is playtesting. Documentation supports my process, but the final validation I always look after comes from how players interact with the level.
There has never been a first playtest where things went above decent. Because of that, I plan my time so that a fully playable first draft is ready roughly halfway through my deadline. This allows me to playtest a lot, playtest early, and iterate continuously from there.
Text-first
I always like to start text-first. I open a simple notepad file and divide it roughly like this:
Constraints
I wrote down external constraints from the jam and internal constraints I set for myself. For this level, I decided to focus exclusively on the Combine faction as the enemies and avoid zombies entirely.
Ideas
Any idea I get at any time goes here. If I am away from my PC, I write it down on my phone and transfer it later. Ideas can come from other games, movies, real life, or anywhere else.
Even ideas that feel absurd or unfeasible get written down.
This section is never final, as I keep coming back to it during development whenever something new comes to mind.

Narrative
I value narrative a lot. I like when players feel immersed and understand the impact of their actions and the world around them.
I always try to answer the basic questions: why the player is here, what is happening, where they are, and how they are involved.
Sequence
This is where I write the full level flow from start to finish.
I describe player action and set pieces without focusing too much on layout or visual theme. The focus is on the experience.
If a spatial detail affects gameplay or perception, though, I note it.
Updating
After and during each iteration, I always go back to this document and update it to reflect the current state of the level.
A couple examples of my text document at the end of development

Sketch
Scribbles
While writing the sequence, I love to very roughly sketch down interesting situations I write, to try to visualize them. This includes layout ideas, encounters, anything really.

A collection of some of my scribbles for this level
Rough Layout
Once I’m happy, I create a simple
top-down layout using basic shapes in tools like PowerPoint. This helps me visualize the level’s structure from start to finish; knowing how spaces connect or loop back into each other, if that’s the case.

The rough layout I ended up with
Reference Gathering
Once the direction was clear, I started to gather some references. The level takes place in a rebel base under attack during a Combine simulation, allowing for unusual narrative moments. To give each section its own identity, I collected references from industrial facilities, nuclear plants, factories, and abandoned structures, and organized them into a reference board.
As development progressed, sections were added or cut based on the needs of the level.
​
Whenever this happened, I went back to this phase to gather new references and kept the board up to date.



Before and after pictures of my reference board
Blockout
Once I am satisfied, I jump into the editor.
I block out spaces using simple geometry and dev textures and start scripting encounters.
​
If I come up with an idea that might be risky or unclear to implement, I test it in a separate test map before touching the main level.
​
This phase is very iterative. I constantly go back to the text document, add ideas, remove others, and sketch new solutions.
As soon as the level is playable from start to finish and the core experience is there, I move straight into playtesting.
Editor

Two images of my test levels

Playtesting & Iterations
This is the most important phase for me. Playtesting answers whether the level actually works, feels good, and communicates what it is supposed to. It never works on the first try, which is exactly why I test early and often. Below are the main iterations for each key area, presented in the order the player experiences them.
Dormitories
The main issue here was scale.
The area felt too large, and many playtesters missed the opening event where the citizen gets killed.
​
I lowered the ceiling and removed two dormitory sections, making the player spawn closer to the action.
The citizen now dies directly in front of the player’s window. After this change, every playtester noticed the event.





Office Halls
Similar to the dormitories, the hall initially felt too large and empty. It did not encourage interesting decisions during the breach encounter.
​
I significantly reduced the arena size and focused iterations on cover placement and player and enemy flow.
​
The flares were actually added only in the last iteration. This idea emerged while working on lighting and ended up enhancing the tension and giving novelty to the fight.
​
Originally, this section also contained a simulation anomaly using a looping sliding door. Playtesters interpreted it as a bug rather than a feature. I tried iterating on it several times, but was never sufficiently satisfied with it so I removed it and replaced it with system messages spread throughout the level.





Corridor
Many playtesters missed an optional but important moment here, where a rebel with an RPG salutes the player through a window, foreshadowing the final arena.
​
To fix this, I reworked the corridor layout, added a downward slope to block the player’s line of sight, improved the window’s framing, lighting, and trigger placement.
After these changes, playtesters consistently noticed the event.





Stairwell
The main issue here was again scale. I initially removed one floor because the rappelling soldiers took too long to reach the player, and added some cover.
​
Later, I reintroduced it as an upper path, creating a meaningful choice: go up for high ground or go down to secure the AR2 that one of the soldiers drops.
I also retimed and reframed the rappelling event so players would not miss it.
In the final iteration, I moved one soldier to the rooftop instead of rappelling, creating a dynamic threat balance with stronger pressure from below and lighter pressure from above.





Sewers
This section started as a purely narrative space with a second simulation anomaly, but playtesters did not understand its meaning just like in the hall.
After removing the anomaly, I redesigned the area entirely into an encounter where the Combine were already present inside the space and set up a defensive position with a turret.
This shifted the player role from defending to pushing forward.





Elevator Shaft
After reworking the sewer encounter, I realized I could carry the turret forward into the next section.
​
This led to the elevator shaft sequence, where the player rides the elevator while using the turret.
​
Playtesters responded extremely well to this section, often citing it as their favorite.
​
Based on feedback, I expanded it slightly and added a narrative moment where players could influence the outcome using the turret as help.





Final Arena
This was the most iterated section of the entire level and went through one major redesign.
​
Initially, playtesters felt the space lacked cover and that combat distances were too long, forcing them to rely almost exclusively on the AR2.
They liked the original ending with a Combine gunship, but the fight itself lacked variety.
​
I reduced the arena size, restructured each wave, and scripted the second wave of soldiers to destroy the turret (now part of the encounter) to avoid trivializing later phases.
While this improved the encounter, something still felt missing. In the final iteration, I opened the space visually and rewarded the player with a large vista over City 17.
Each wave now focuses on a different combat dynamic, ranging from long-range engagements to kiting, to area control.
I wanted to experiment replacing the gunship with a strider, which offered more interesting scripting opportunities and a stronger final showdown.
Playtesters consistently preferred this version, so I decided to keep it as the final ending.




