[dev blog] Half-Life: Alyx Mod — Compound

Rohit Sharma
16 min readMar 5, 2023

--

Hello! I am an aspiring level designer and a master's student at Carnegie Mellon’s Entertainment Technology Center.

This is the dev blog for the upcoming Half-Life: Alyx mod that I am working on. I will be updating this log every week sharing my process and progress.

Project Information:

Platform: VR

Role: Level Designer/Scripter

Tools: Source Engine

Duration: 14 weeks

To do before starting:

  • Complete playing Half-Life Alyx.
  • Play mods made by the community.
  • Get familiar with the Source Engine
  • Get used to Lua syntax.

Week 1: Pre-production: High-level idea

Goal:

The first week was to brainstorm the high-level idea of this level and freeze the direction that I’d want to go in.

Idea:

I recently finished watching Stranger Things Season 4 and I absolutely loved it. I was always fascinated by the idea of the existence of an alternate dimension. ‘Upside down’ in the show was exactly that. The idea of having a mirror world that is identical in its layout and geometry but differs in its setting and inhabitants was really interesting to me.

I quickly realized that the game elements in HLA can be divided into two classes: City 17 and Xen.

These classes can be used to define two separate dimensions.

I was happy with this idea and felt like this would help me craft a unique story for the level.

But I wanted to do more than just add a new story. I wanted to add something for the players to use. Like a new game mechanic, maybe? I wished to keep the same overall idea and add a mechanic that would pair well with this direction.

After a lot of thinking and googling, I came up with the idea of giving the player the control to switch between these dimensions. I felt like this would add a lot to the gameplay. My brain quickly moved to Titanfall 2’s time travel mechanic in the mission: Effect and Cause. That was exactly what I wanted to achieve, but instead of time, it would be switching between different dimensions in this scenario.

This sounded very promising but there was still the uncertainty of if I will be able to add this mechanic in the source engine with VR. I wanted to build a prototype of the mechanic before committing fully to this approach. The next step would be scripting the mechanic.

Week 2: Pre-production (cont.): Prototyping the new mechanic

Goal:

Start building a prototype of the dimension shift mechanic as proof of concept.

Approach:

The easiest way would be to replicate the level x units away from itself and teleport the player between these two levels. The distance between the different player positions in both dimensions remains constant.

1st Prototype:

The player could teleport between the two rooms.

The player’s relative position remains constant.

Week 3: Pre-production (cont.): Improving the prototype

Goal:

Improve the mechanic:

  • The player should be able to carry objects between the two dimensions. This will provide a lot of opportunities to create puzzle scenarios.
  • When the player jumps dimensions, there should be an indication of where the NPCs are in the other dimension. This is important as it indicates the position of the NPC and allows the player to re-position better to their advantage.

2nd Prototype:

The player can carry physics objects between dimensions.

I added a floating orb that would indicate NPCs in the other dimension.

While this mechanic was far from complete and could be improved a lot, this was good enough for prototyping and starting my level design process.

Week 4: Pre-production (cont.):

Goal:

Listing down the details and developing beats for the level.

Details:

Audience:

-Experienced HLA players. (they are familiar with all the mechanics of the core game)

Premise:

-This is a different timeline where Xen creatures did not teleport to this dimension during the Black Mesa incident. The combine, however, has taken over the earth.

Story points:

-Russel asks Alyx to investigate some suspicious activity at a combine research facility.
-Alyx experiences dimension shifts in the facility.
-They get to know that the experiment is causing this shift.
-Alyx gets the shift gear from one of the experiment units that can control dimension shift.
-She uses this gear to fight NPCs and advance in the level.
-She gets to the main area and shuts down the experiment.

Experience Goals:

-The player should learn how to use the shift mechanic.
-They should feel confused when they move to the alternate dimension the first time.
-They should eventually understand that they are being teleported between two dimensions after a few shifts.
-They should feel powerful and at an advantage when they get the shift mechanic.

Gameplay Pillars:

-Combat.
-Puzzle.
-Exploration.

Shift Mechanic:

-Introduce dimension shift to the player.
-Train the player with the new mechanic.
-Test the player.
-Add a twist. (carry objects from one dimension to another)
-Test the player.

Different elements of the Shift mechanic:

-Existence of an alternate dimension.
-Different enemies in that dimension.
-The enemies in the other dimension are represented by a blue orb.
-Toggling between dimensions.
-The player can carry objects between dimensions.

When would the player use the mechanic?

-The player is blocked in one dimension, they use the mechanic and progress. in the other dimension. (traversal/exploration)
-The player is under heavy attack, they shift to dodge the fight, and gain. health, and ammo. (combat)
-The player moves shifts between dimensions to solve a puzzle. (puzzle)

What items can be carried between dimensions?
-Literally any physics object
-Xen grenade
-Normal grenade
-Power source (maybe as the lightning dog)
-Rotating valve
-Door keycard

NPC types
-Combines of different types
-Headcrab
-Black headcrab
-Lightning headcrab
-Zombies
-Strider
-Jeff

Other elements
-Combine forcefield
-Explosive barrel

Ways to unlock a door
-Red lever
-Breakable lock
-Disable combine forcefield
-Energy source to unlock
-Spatial puzzle

Research Facility Dimension 1 layout reference:

Research Facility Dimension 1 lighting and mood reference:

Research Facility Dimension 2 lighting and mood reference:

Beats in the level:

Following the 4 part story structure of Ki-sho-ten-ketsu to pace out the story and gameplay beats in the level.

Intensity vs Time graph

I made a graph mapping intensity vs time. While I am aware that this will change as I start the blockout process, it will definitely help me as a reference.

Week 5: Blockout (Introduction Phase):

Goal:

Begin the blockout of the introduction phase.

Scope for introduction phase:

Topdown view:

Blockout images:

Next steps:

  • Refine the areas of the level and script sequences before blocking further.
  • Rethink scope of the level: Cut down parts of the level that are not important. They make the level feel longer, especially given the VR platform where movement is slower.

Week 6 and 7: Blockout (Introduction Phase cont.):

Goals:

  • Add the other dimension of the level and blockout further.
  • Rethink scope of the introduction phase.
  • Internal Playtest with Dave Culyba (Instructor).

Rethinking scope:

  • I realized that with the time I have, it’s better to cut few sections in the beat map and focus on the really important ones.
  • I did not want to do a lot of things and make them half-baked. I focused on doing less things and made sure they were well polished.

Topdown view:

Blockout images:

Dimension 1:

Dimension 2:

Internal playtest insights:

  • The shifts between dimensions felt abrupt without any anticipation or warning.
  • As the player has no context of why it is happening, they feel that they are triggering the shift somehow. They are confused, which is a good thing but it is important to explain it to them later.
  • The goal of the level is unclear to the player. It felt like they are sort of aimlessly exploring.

Next Steps:

  • Blockout further areas.
  • Explore the option of adding audio conversation between the player and Russel.

Week 8: Blockout (Development Phase):

Goal:

Blockout the next puzzle/combat area of the level.

Revised scope for development phase:

Idea for the first section:

  • Create scenarios where the player can use the shift mechanic to their advantage for traversal and during combat.
  • Grab an object from one dimension and use it in another.

Process:

  • Add traversal blockers to get the players familiar with the shift mechanic.
  • Overwhelm players with enemies in a tight space to encourage them to use the shift mechanic and teach them that they can dodge/escape combat.
  • Add Xen grenade spawner so that the players can carry and use grenades in the other dimension.

Blockout images:

Week 9: Blockout (Development Phase):

Goal:

Blockout the large combat section of the level.

Idea & Planning:

  • Create an open area with a lot of space to move around. The goal is to provide less cover to the players and keep them exposed from multiple angles. This will encourage the players to strategize and use the shift mechanic accordingly for cover and movement. They can re-orient themselves and get the advantage in one dimension, then shift and take out the enemies in the other.
  • Different types of combine soldiers spread out.
  • To contain the player in the area until they take out all the enemies, attach a mini puzzle on the combine door that needs to be solved to unlock it. This will require the player’s full attention and significant time and thus, cannot be done when the enemies are shooting at the player.
  • The other dimension will have resources (ammo and health kits) for the player to obtain during combat.

Blockout images:

Week 10: Playtesting:

Goal:

Playtesting the level with different types of players.

Player profiles:

  • Jason (Experienced HLA player)
  • Biprateep (Never played HLA)
  • Abhi (Seen playthroughs of HLA)
  • Boyang (played the first 30 mins)

Playtest summary:

~ Premise ~

Jason: I did not completely understand it. But I realized I was shifting between two different areas. That is understandable as this is a blockout. Adding some text on walls might be helpful.

Biprateep: I knew you were doing something along the lines of stranger things so I assumed it was like the upside down.

Abhi: I felt like I was moving between past and present.

Boyang: I was confused but when I saw the start area through the window I thought I was in a dark future. As I moved ahead it sort of got clearer.

~ Initial shifts ~

Jason: Felt abrupt. Maybe add an effect that warns the player later on in development. Is good enough for now as you’re still testing your design.

Biprateep: Was sudden and no warning. Add a portal or something to make it clear.

Abhi: Was confused but interested to know what was going on.

Boyang: Was sudden but can be improved.

~Experiment room view ~

Jason: I did not realize the purpose of the room until you mentioned it. A voice-over or some text will help.

Biprateep: Did not know where to go from there until prompted.

Abhi: I tried to go through the combine door that was locked. I thought I was missing something but felt stupid when I realised I had to go towards where I initially came from.

Boyang: I was waiting for the shift to happen so I could go inside the glass area.

~ Combat in pillar room ~

Jason: Was pretty easy.

Biprateep: I had difficulty hitting the headcrabs.

Abhi: Nice challenge with the fight. Had enough time.

Boyang: I killed everyone without a problem.

~ Successive Shifts ~

Jason: I think it was a good low point before getting the power to shift.

Biprateep: I think I understood that the shifts were happening but was in an awkward spot with the soldiers.

Abhi: I felt overwhelmed.

Boyang: I thought that was a bug and that I will die.

~ Using the mechanic ~

Jason: Felt good. I wanted more challenges with it and more options to explore instead of just going forward.

Biprateep: I did not know when to shift. I only shifted when there was nowhere to go.

Abhi: Pretty cool. I tried avoiding everything. If I could not avoid then I’d think about how to clear the area.

Boyang: Hard to figure out where the enemies are in the other dimension. I shifted very close to them a few times and panicked, but otherwise, it felt powerful.

~ Using object in another dimension ~

Jason: It was cool but I could essentially just run through and never use it.

Biprateep: Struggled with grabbing the Xen grenade.

Abhi: I can just dodge the guard so I did not require to use it.

Boyang: I did not know I could store grenades in gloves. I was trying to get one grenade at a time so felt tedious.

~ Reception combat ~

Jason: I wish I had a better gun. Felt tedious.

Biprateep: Too overwhelming even with the shift. Can't aim properly with the pistol.

Abhi: Pretty smart. I liked the idea of shifting for cover.

Boyang: It felt longer and a little frustrating because I only had a pistol. Too many enemies and no weapon.

Learnings:

  • Might need to add weapon upgrade options.
  • The reception area needs to be cut as most of the space is unused by the players during combat.
  • Multiple doors in the reception area are confusing to the players.
  • Need audio or text to convey important information to the player
  • An incentive to explore side areas
  • Too much effort and time killing combines with pistol (tedious challenge)
  • Make the introduction for ‘object transfer between dimension’ a hard gate to make sure the players cannot move forward without learning it.

Week 11: Iterations and Blockout:

Based on the insights from playtesting, I believe making iterations is more important than trying to finish the level. I will be focusing on iterating for the next two weeks to make sure there are no major flaws in the level thus far and that it provides the intended experience.

Goal:

Making iterations to the level based on playtest feedback.

Playtest-driven changes:

  • Redesign the reception area.

The reception area had a few problems:

~The open space available was too much. A large part of the area was unused by the players during combat.

To fix this, one side of the room was cut and I made adjustments to the overall area and removed the excess negative space.

~The exit door was too close to the entrance into the area. Because of this, players did not have any incentive to explore the other half of the room.

I re-routed the golden path of this area so as to make the player go around the room and finally end up in front of the exit door.

~As there are 3 doorways apart from the entrance, the player had to go close to each door to check if it was the correct one.

I added clear visuals to deny affordance to the player through the decoy doorways.

  • Giving a new weapon to the player.

During the playtest almost every player felt it was a painful task to take on so many enemies with a pistol. They knew what they had to do in order to take out the enemies but the process was not fun as it was tedious and took forever.

To make it fun, I added a shotgun pickup just before the combat area. This meant the player will have two weapons now, one of which is more powerful and deadly at close range. Thus, rewarding the player for using the shift mechanic at the correct time to re-orient themselves in advantageous positions.

Week 12: Iterations and Blockout:

This week I continued working on the iterations.

Goal:

Making iterations to the level based on playtest feedback.

Playtest-driven changes (continued):

  • Adding gameplay gates to areas.

In order to prevent the player from just running through the level using the shift mechanic, it was integral to add hard gates at certain sections.

  • Make the object transfer part more obvious.

The part where I wanted the player to learn that they can carry objects from one dimension to the other, was not very strong. Players could cross that area without having to carry anything. To really make sure that they understand and learn this, I added a lock and key scenario where the lock is in one dimension and the key is in the other.

  • Adding text for information.

Added prompt text at places for gameplay context and shift mechanic control tutorial for playtest.

Week 13: Complete Blockout before final area:

Goal:

Complete blockout before the final area and make iterations on feedback (if any).

Idea:

I wanted to add a rapid combat area to increase the intensity after the puzzle area and before the twist. I added consecutive blockers and enemies forcing the player to shift frequently and take out enemies.

Blockout images:

Week 14: Final Playtesting and Postmortem:

Goal:

The goal is to make sure the level is playable till the ‘twist area’. Also, playtesting with friends.

Postmortem:

What went well?

  • Following the four-act story structure (Kishōtenketsu) for the level map out helped in setting a direction and following it from start to finish.
  • Playtesting with different audiences: Even though the primary player audience for this level is experienced Half-Life Alyx players, it was helpful to have insights from people who had varied experiences with the game.
  • The goal of the study was to make sure the level was playtested multiple times and iterated based on learnings from the playtests.
  • Planning and implementing a new mechanic: As this level revolves around introducing and teaching a new mechanic to the players, it was important to have a working mechanic before the design phase. The implemented mechanic was good enough to test and play the level by the players.

What can be improved?

  • Even though playtesting with varied HLA experience was helpful, there was only 1 playtester who was the most experienced and had actually completed the base game. He was the primary audience for this experience. It would have been great to get more people with similar experiences to make more informed decisions during iteration.
  • Scoping was a big challenge for this experience. I started with a relatively large scope and had to dial it down as I was developing the level. With the limited time, it was important to make sure that the blockouts I was making were playtested and iterated well. I did not want to keep building the level without any sort of validation. This led to rescoping a few times during development.
  • Currently, the level does not have any light. For a game like HLA, it is really important to consider lighting while designing the blockouts as it could play a key role in different sections of the level. I wish I had taken this into consideration since the beginning and included it in my blockout process.
  • Showing the presence of enemies in the other dimension. In my mechanic prototype, I implemented this feature where the enemies in one dimension view as blue orbs in the other dimension. This was implemented to show the position of enemies in the other dimension so as to provide the player enough information to re-orient and position themselves better. But unfortunately, it made the experience less exciting. The next step would be to find a balance between showing the blue orbs always v/s sometimes and playtesting it to see what works.

--

--

No responses yet