Mondays (Evil Gordon)
A Single Player level made for Half Life 2.
Tools
Half Life 2, Hammer Level Editor, Trello, Git
Role
Level Concept, Designing Level using BSP brushes, AI and Prop Placement, Level Scripting, Scripting AI using Scripted_Sequence, Implementing Systems using entities available within hammer.
Duration(Length)
2 Month
Completion
September, 2022
Overview
Its Monday. Again. Time to head up to the labs to work on a very secret, a very important experiment that just might save the humanity. However, this Monday feels like a very different one.
This level is made using Hammer and Half Life 2 for a level design jam during the 2-month period between August, 2022 and September, 2022.
Taking inspiration from Prey (2017), I aimed to create a level that was small but non-linear, was set in a single location and conveyed the story through player interactions and the environments, apart from fulfilling the Jam’s theme; Systemic AI Combat.
Level Features
1. Interconnected Area.




2. Areas made unique and memorable using appropriate props.




3. Player initiated combat.
4. Player and Systemic Interactions.
Detailed Info
Pre-Production
-
Constraints:
-
The level must be created using Half Life 2 Episode 2.
-
The level must contain systemic combat between at least 2 AI Factions.
-
Level must be completed within a month.
-
Goals:
-
I wanted to play around with the ability to turn hostile NPC into friendly.
​
-
I wanted the level to take place within one location where player goes back and forth between areas.
-
There has to be a possibility to have some form of variations in ways a player plays through the level.
-
Tell a story that has a beginning, a middle, and an end.
-
Try out the level design and scripting tools available in Hammer.
-
I came up with the following basic sequence of events that would take place in the level:
-
Player enters the labs to work on their experiments as per the usual routine.
-
The lab gets raided by the enemies.
-
Player has to survive the raiding squad and exit the area.
-
Based on the above sequences I drew a bubble diagram.
-
The bubble diagram features the areas within the level, their purpose, and ways to travel between them.
-


-
Next I started collecting some references for a typical RnD lab, museums, etc.




-
Based on the bubble diagram and the reference images collected, I made sketches of different areas of the map.
-
Considering non-linear nature of the level, I thought about the locations where the player might find weapons and health kits.
-
I created a test map which I initially used as a gym to find the sizes of corridors and entrances that I found appropriate for the level, since most of the data about things like player and other NPC hull sizes, minimum player height was available online.
-
Later in development, I started using the test map to create and experiment with various scripted events and interactions before adding them to the other levels.
-
Scripting Tests:
-
Creating the bubble diagram of the level helped me come up with interesting scripted events and I decided which area would host these events, to support the core themes and story of the level.
-
I quickly created a few scripting tests before starting to work on the level to identify the difficulties in the implementations of various scripted events.
-

Production
Iteration #1:
-
For the first iteration, I blocked out the level referencing the previously created the level sketches. I also implemented previously planned scripted events.
-
I used the models available in half life 2 to find the right size of a room, and used brushes to create remaining models.




-
Due to compile time issues, the map was broken into two separate maps. So to link both maps, I came up with a basic level transition system that would allow the player to move between both maps.
-
A Basic lock and key mechanic, where a trigger filters the entity based on their name. So, when the player picks up the key, their name gets changed to an appropriate string.
-
I scripted a raid and sniper sequence to make the thing more exciting and push the story forward.
-
When I felt that the map was ready for playtesting, I send the maps to some of the people I knew, people who were participating in the Jam, and played the whole thing myself to identify what was working in the map and what was not.
Iteration #2:
-
This iteration I mostly worked on fixing scripting bugs and updating the map based the feedback I got from the people who played my map and my own findings.
-
Here is the before and after of the sequence and layout changes to the Final Combat/Exhibition Hall area that I did based on the feedback.
-
The idea for this area was that this is a museum, and I decided to use collection of zombies as the main attraction.
-
I placed a couple of boxes with the most dangerous zombies in the middle of area, and made 2 separate sections with fast zombies in it.
-
This is the room where the combat between the second raid squad and the player takes place.
-
I wanted to give the player the time and space to think about how they want to approach the combat.
-
To even the odds, the player can turn the zombies hostile and break their glasses to release them onto the raid squad.
-
But as the zombies attack everyone once they turn hostile, the player would then have to manage both zombies and raiding enemies, simultaneously.
-
I thought the layout was alright but it was quite flat, so I added multiple levels of verticality, and used planters to allow the player to quickly move between lowest to highest level.
-
I further expanded some of the areas to make them more interesting. For example, here is the transformation of Research Lab, and Dev Lab.

-
I added more scripted events for various player interactions that would fit the theme of the area.
-
I also did a basic lighting pass to the level.
Post-Jam Updates
-
I added a few more rooms in some of the areas, placed more weapons and items around the maps, cleaned up the brushes and scripts, and turned appropriate brushes into func_detail.
-
I added more routes that would allow player to travel between "the playground" and the Labs.


-
Sniper Sequence changes.
-
Originally, what I wanted was the player to backtrack the same way they came from while dodging sniper fire. But some people wanted to fight the sniper, walk around "The Playground" area, and have a different way to reach the entrance.
-
I added a couple of rooms and elevators to travel between the labs and "The Playground".
-
I placed grenades for the sniper within the lab which was easy to reach, and placed an RPG specifically for the sniper and couple of shield items and grenades in "The Playground" area, which was especially challenging due to the presence of large number of enemies.

-
I added an appropriate VFX to show when an NPC is hostile and when it’s not.
-
I used sound entities to provide more information and story to the player.

Final Thoughts
-
Creating a complete level with quality gameplay was a fantastic experience. All the credit goes to the Fast and easy to use hammer editor and its input-output scripting system.
-
But the easy usability of these tools led me to over-scope the level constantly. I believe the level would have been much better if It was more tightly paced and clearly conveyed key mechanics to the players.
-
Making this level helped me improve my process of making levels and ways to think about non-linearity and player freedom within a level.
-
This level also made me realize I should improve my combat encounter layouts.
-
I have a feeling that I achieved the idea to make the whole level as a kind of an exploratory escape room instead of a roller coaster ride. Although, I do believe things like clarity of the player objective could have been improved even further.
-
I realized how important it is to covey things to the player, such as “what happens when I press this button?” or “Why are citizens attacking me?”, not only from a level designer’s point of view, but also from a game designer’s point of view.
-
Apart from learning hammer, I also learned and started using Trello and git by the end of the development of the level.