Post-Human
Finding the fun
Developing Post-Human actually started as a series of "action blocks"--experimental levels to test out ideas. The main goal was to understand how to do a zombie/survival focused experience in Half-Life: Alyx. There was a lot of trial and error involved, especially when it came to understanding how to do ammo balancing. Some of the research we did resulted in creating an article on the Valve Developer Community Wiki on this very topic (getting this right was a struggle all the way up to release).
Over the course of development, 73 videos of playtests were recorded. Many different types and ideas for encountners were thoroughly tested. You can see an example of this in the accompanying video. Some ideas were inspired by how testers reacted, and others were copied wholsale. Ultimately, many ideas had to be cut, but they were often distilled down to their core "feeling". While implementation may have differed, in the final product we captured all the emotions we created during testing.
Due to the diversity of play style for Half-Life: Alyx we made sure to keep a diverse testing group. It was here that we began to truly see the depth of the variety of players for this game. Some were slow, some were fast, some were never engaged, and some were exhausted. Due to this, we ultimately decided on a "shotgun" approach, and aimed to create an experience that had something for everyone. If one experience pillar failed to engage someone, hopefully another could.
One thing we could not slack on, though, was pacing. That was the largest take away from testing. Even the most skilled and quickest player became habituated. And that even if enemies weren't present, that doesn't mean the Player wouldn't prepare for them. This control of pacing is partly why the Addon became as long as it did. We finally had the extra room to create the tension vital to a survival experience. This lesson, and others from testing, inspired a google doc I created to guide people who wanted to make a similar experience.
Lessons Learned:
This heavy emphasis on "grey boxing" early in development allowed for a lot of quick iteration, but did come with downsides late in development. A rigid adherence to these early layouts would sometimes hamper art passes. A space would not have the flexibility to become whatever art needed it to be. The compact nature of Post-Human's layout did not help matters. (And, as we learned when optimizing, this really should have been multiple levels)
The A-Team on its A-Game
After the main layout was done, Colin Medinis, Gunnar Kafel, and Vilhelm Faldbakken came onboard to help out with art and lighting. This was one of the most rewarding team experiences I've ever had. We would often bounce ideas off each other, and add little touches to each other's work that elevated the whole experience. I still remember late nights where we would have long back-and-forth talks about every detail.
One area that showed this off in particular was the area known as "tree pit". I had created the initial layout, but we were struggling to create a good lighting and mood for the scene. One of the first things the concept artist, Max Shadiy, did for us was create lighting and paint over concepts for this space.
This was the anchor we needed to truly bring it alive. Everyone threw their all into this scene. Colin with his nature work, Gunnar with his lighting, and Vihelm with his destruction and cabling talents. This room became a monument to all the various talent involved in this project.
As development wrapped up, EchoSmoker took some wonderful screenshots to highlight the team's work. We couldn't use all his images for the Steam page, so some more are shared below. He was another unsung hero. Without him, we would've have anything to show off.
The addon was nearing completion, so we got one of our friends, who was a profesional game dev, to play the complete experience. His main criticism: "it needs an ending." We had left hints of a larger plot at play, but never revealed more than that. The experience felt incomplete. Like a piece was missing. It was time to bring that unease front and center. It was time to show the Half-Life: Alyx community something they've never seen before. It was time to show what hid in the Shadow.
But in order to get that ending to work, we also had to add a foreshadowing (pun intended) beginning. This was another weak part of the addon, and with the high bar the team had achieved so far, it was time to show that work front and center. That's where Rostik Fomich came in. I had consulted for him previously on his project Storm Drain, and knew his scripting capabilities. However, neither of us were prepared for how large this "small task" would become.
We went "all in": custom animations, custom voice acting, and even a whole dream sequence. I would mention an idea, and Rostik would just run with it, flooring all of us with his execution.
Even here, though, it wasn't a solo experience. All of us contributed voices, I did the custom animations, and even Alyxandra Guevara (who composed the trailer and ending themes) was kind enough to provide leftover sound bites from her brainstorming phase. One of my favorite moments was when capturing reference footage, one of my friends completely improvised a couple funny mannerisms. This made it into the final animation, and made every tester chuckle.
None of this would've been possible, though, without Rostik's commitment to making the highest quality product. Thanks to him, the whole addon started off with a bang (literally!).
With the introduction well on its way, we needed a custom character model for the big reveal (and an early cameo). I had big ideas for the story of this character, and what I wanted his design to imply, but I struggled to express it. Max Shadiy's skill as a creature artist was invaluable. Going back and forth with him on his study sketches started to give life to what was originally a couple lines on a page.
I wanted a character that hinted at a much deeper story. With scars of a past, and augmentations pointing to a future. A subtly sinister being that was a portent of a much larger threat. A harbinger.
Once Max sent me the final concept, I was flabbergasted. I looked at his drawing and only one thought hit my mind: "What's his story?"
With the concept complete, we brought Richard Makk onboard for his modeling talents. Seeing his modeling and material work is where things started to become unreal. I still remember the first turn-table video where the character was animating and moving around. It was becoming a real and tangible thing. I got to see it go from a germ of an idea to an actual character you could walk around.
I started adding some animations, and Gunnar did some amazing effects work. The character was ALIVE. The entire sequence had come together, but one thing was still missing. Something needed to cap off this moment. Create the feeling that the adventure continued. That a threat still loomed.
It needed an ending theme.
Alyxandra's song, Mox Finalem, fit that perfectly. She did an amazing job. It captured this feeling of dread--of a coming storm. That what you saw was only a warning. These horrors...this devastation and brutality...was just the tip of the iceberg. Something worse is coming...and it is coming fast.
This served as the perfect coda for the addon. It captured all the feelings we wanted to create, and summed up the whole experience. My only regret is that we never gave enough time to hear all her tracks in full.
Aftermath
"No plan survives contact with the enemy"...that's how the saying goes, at least. Post-Human was released for the whole world to see, and it was as much a victim of its successes as it was of its compromises. There was a lot we got right, and we're super proud of the product we made, but that doesn't mean we shouldn't strive to understand its flaws. And it has flaws. Rough edges in need of buffing, and areas we frankly just ended up neglecting due to limitations both with time and the engine.
Some of these were clear as we started wrapping up development (or were problems throughout), others became clear as the reviews and playthroughs came in. I thought I would dedicate some time here at the end to discuss those flaws.
Scavenging Fatigue
One thing that became apparent for players who didn't play Half-Life: Alyx very often, is that they would suffer from "scavenging fatigue". This was a condition where players would find picking up ammunition or other resources tedious, and so do it less frequently.
We wanted to encourage exploration, and make resources feel valuable, so we paced out most ammunition, but we paced it out a bit too much: creating a steady stream of pick ups if a player looked around every corner. This wasn't a bad thing, but it almost came from a place of fear. A fear that the environment itself would not be enough of a reward. Toward the end of development we started to drift away from this, but we never fully let it go.
In some cases, the amount of "stuff" the player could pick-up or search was almost overwhelming in its own right. Granted, we balanced the addon to allow for some "resource" attrition, but--as you'll see--over stimulation is a real issue we struggled with in our VR designs.
In retrospect, there are many parts of the addon that would've benefited from just letting the player breath and move through a space.
Overwhelming
Many of the situations we wanted to put player's in within Post-Human were...uncomfortable--and purposefully so. The sudden surprise of a trap on a precarious ledge, or an enemy slowly pushing you against a wall, these were stressful and tense situations. We wanted to experiment with new problems and styles that the core game of Half-Life: Alyx never touched. We quickly found out how much of a double edge sword this was.
Some players loved this. They had to stay cool under pressure, and improvise a solution. Others struggled. One tester described their feelings as "going into 'panic brain' mode". They would often go with a quick gut reaction--in many cases running away or stumbling into an "exploit". We initially considered fighting against this and being more "hardcore", so to speak. Ultimately, we decided against it.
Many of these "exploits" weren't game breaking, they could just feel odd. Like a zombie being unable to reach the Player. In a way, though, this was the Player's solution to the problem we presented them. It was authentic to the immersive nature of the experience. It also allowed for some "self-regulating" difficulty. If a player was overwhelmed and they found a way out, we should allow that. At the end of the day, we wanted everyone to reach the end of the experience. We wanted them to see the surprises we had crafted for them.
We were able to pull off this design philosophy pretty smoothly throughout all of Post-Human...well....except for one part...
The Final Battle: Lofty Ambitions
The ending battle for Post-Human had the odds stacked against it from the start. The space it was constructed in already had some strict dimension constraints. It was also a late addition, so it often got the short end of the stick when optimizations needed to be done. Yet, it was also vital to the pacing of the experience. The entire addon had been building to this. Scatted enemy soldier radio chatter. The ammunition the player had been collecting throughout. This single battle needed to deliver on the tension that had been building the whole addon.
Oh, it was also an entirely new style of fight that was never tested separately, and it was against an enemy the player had not fought for the past hour or so of gameplay.
Easy.
The Final Battle: Smorgasbord
To continue the zombie themes of the addon, I wanted to include them in the final battle against the enemy soldiers. Something I've never done before. I had figured out zombie encounters and soldier encounters, but together? They both had dramatically different styles. Zombies were close range ambush-style enemies, and the soldiers were long range flanking style enemies. Two very different types of gameplay.
My solution was to try and make a very linear "running gunfight" that would pull players along into each zombie, while also encouraging forward movement to keep the action up. The other key to this was to keep the Player engaged. I couldn't let both factions fight and let the Player eat popcorn. They had to be paying attention and participating.
Turns out...it was a bit too much attention.
Due to the "ambush-style" of the zombies, it would throw a cog in whatever plan a player was building. This worked fine earlier in the levels where combat was slower, but now people were shooting at them. This alone demanded a lot of attention, and now I was asking players to pay attention to an additional thing. Except for the more regular Half-Life: Alyx players, this became a "doom spiral". Mistakes would mount in quick succession, and then they'd be seeing a loading screen.
This was the achilles heel: what was meant to be a quick "think on your feet moment" became a choreographed expectation. It was no longer dynamic, it was predictable.
The Final Battle: Shock and Awe
This was the fight where the "gloves came off". The Player would face the most challenging foes, and they'd have to use their whole arsenal to take them down. The thing was...the gloves came off so fast they left shockwaves. The addon did not prepare players for this fight in the slightest. Most challenging encounters so far had had a tense rise to the action, but I wanted the Combine to retain their threatening characterization, so I thought they had to come out in force.
None of the skills required here had been practiced recently: the players had to position themselves precisely in cover, manage their exposure, and use all their tools. Previously, ammunition management encouraged a varied playstyle, but not necessarily a multifaceted one. Players had been playing defensively so far, but now I wanted them to get aggressive. It was a cold bucket of water to the face. A pop quiz in the worst way.
To make matters worse, the encounter was designed to be engaging if only the soldiers were fighting the Player. That clashed completely with what is described above. The zombies were more like a layer of fodder on top of an existing soldier encountner. But this is the VR game Half-Life: Alyx: fodder-style enemies don't really exist. This wasn't Halo.
The Final Battle: Vendettas
I also had a bit of an agenda when designing this fight. I had loved the feeling of the fights we had created in Tower, and I wanted to bring some of that over to Post-Human. This meant I never wanted the Player to be totally safe. I wanted them to at least need to engage in the fight in some sort of active and interactive way. Focus on using their body, and not just their controls. There were some habits I noticed with players who used a smooth-locomotion style of movement that I wanted to combat. They were able to feel a little too safe and handle the fight a little too easily. I had a vendetta.
The main way I did this was by making cover narrower. You had to be precise and really tuck into cover. I wanted the margin for error when taking cover to be higher. The thing was, most players were not used to this. I was throwing an extra "new" thing on top of all the other "new" things mentioned earlier. This worked in some spaces, but not for the beginning of the fight. It became a constant struggle during playtests to hit a sweet spot. Due to the choices mentioned earlier, it was not easy for players to quickly analyze the situation. So...I had to create a safe space.
This became another problem.
Not only did I need to balance this to keep the tension up, early on, it was a little too safe. There was initially some "free time" at the start of the fight to allow players to asses where enemies were before they started shooting. This became a problem, because suddenly the Player was too safe, the enemies too vulnerable. So, I changed up the start such that the Player was met but a wall of gunfire, and forced to take cover.
It was a constant back-and-forth of plugging holes in an already flawed starting point. I was trying to make the fight do and be everything.
And it started to look like a monster.
Cause the thing was, the soldiers in Half-Life: Alyx hit hard. And there was a lot of them here. The cost of failure was high. The encounter had crossed the line from feeling threatening to being threatening. While thematically appropriate, it wasn't smooth, and completely contrasted with the rest of the established gameplay.
None of this is to say the final battle was a failure. When firing on all cylinders, it is a thrilling and challenging experience. But it is one of the weaker experiences of the addon. Which is kind of a testament to the addon as a whole. This pillar was weak, but as many found out, there was so much more then just one thing to love.
Tower Agency: Revamp
Iron Sharpening Iron
Around the same time I played the original Tower Agency I had just finished a series of videos where I dived deep into how to work with Half-Life: Alyx's Combine Soldier AI. I saw a lot of potential in Jonathan Frost's creation, and he was gracious enough to let me apply what I had just learned. Pictured here is one of the earliest exchanges between us as we discussed how to improve his existing layout.
I helped out with many scripting aspects, but one of my largest contributions was redesigning the 1st floor--arguably--one of the most difficult ones to redesign. It had many narrow sightlines and constrained spaces. A comparison of some changes are shown below. Iterating here, and the design philosophies we developed, were captured in a google doc I created. I released this on several sites including Steam, as Combine Soldiers in CQB situations were one of the most common--and most fumbled--experiences I saw on Half-Life: Alyx's workshop.
Lessons Learned:
One thing I wanted to emphasize when designing Tower Agency: Revamp was utilizing a small, but effective, number of enemies. The phrase "do a lot with a little" was often on my mind. In many ways, we achieved that: enemies were mobile, deadly, and well equipped. However, due to the unpredictable nature of the combat space, and how the constrained environment would affect the squad AI, we had to spawn opponents surrounding the space from all sides. This ended up hampering Player perception. Enemies acted like small coordinated strike teams, but players never saw that. Unless Players noticed the patterns of spawning, knew the floor layout immediately, or had drawn-out firefights, their first time seeing some opponents would be when they popped out of a flank.
Once the 1st floor was working like an oiled machine (most of the time), it was used as a template for the other floors. I assisted or provided advice somewhat here, but Jonathan mostly ran with the ideas I had introduced. This resulted in some of the most fun and intense sequences I have ever played in Half-Life: Alyx. (The fact I did not directly work on many of them made them even more of a treat) A particularly memorable highlight is the 3rd floor. Constant pressure, with tight enemy pacing, and unique sightlines geared toward VR, made this truly unique. And very...very...sweaty.
Abe's Spicy Mappack Platter
Inspired Learning
Long before Abe's Spicy Mappack Platter was an idea, I had created several levels inspired by games I had played recently or styles of design I never got to try. This was a fun exercise in molding Half-Life 2's existng pacing and combat style to a totally different experience. Sometimes it worked, and sometimes it didn't. Due to the experimental nature--and in some cases--custom code, I had never intended to release these levels. I did, however, make several "Level Design Diaries" I could use as a platform to discuss these experiments.
These videos gained enough attention that I ultimately decided to package all the levels together, and release them. That being said, not all of the levels were designed to work for the custom balancing vital to other levels.
5 14 4 9 19 14 9 8