Level Design Deep Dive: Making an I Expect You To Die VR puzzle level on a budget
The Gamasutra Deep Dives are an ongoing series that aim to shed light on how specific design, art, or technical features within a video game come to be, in order to show how seemingly simple, fundamental design decisions aren't really that simple at all.
Check out earlier installments, including creating drama through a multitude of simple tasks in Bomber Crew, or maintaining player tension levels in Nex Machina, and achieving seamless branching in Watch Dogs 2’s Invasion of Privacy missions.
Who: Shawn Patton, Principal Designer at Schell Games
Hello, I am Shawn Patton, the Design Director on I Expect You To Die (IEYTD) and a Principal Designer at Schell Games. In our 15 year history, Schell Games has developed everything from theme park attractions to educational experiences to mobile games.
Most recently, we have been exploring VR and AR. Personally, I’ve developed for the PSVR, Vive, Oculus, Microsoft MR headsets, Daydream, Gear, and the Virtuality system (but that was back in 2001). As a studio, we are very excited at the possibilities mainstream VR/AR has brought to our industry and we are exploring them in earnest.
IEYTD has been a great project to work on (and off of) over the last three+ years. Looking through my email history, I found that it grew from a prototype phase in 2014 to some pitch docs late in 2014 to my full-time involvement as Design Director in January 2015. We made the “car level” and put it on Oculus Share in June 2015 where it became the highest rated app until Oculus Share was taken down in May 2016. In October 2015, we started making three new levels, connective tissue, achievements, Touch and PSVR support and all the other things that make a game so we could release it in December 2016.
What: Making a New Level on a Budget
Players were super positive about how the game felt and played, but there were two distinct types of reviews we were getting:
“Amazing game, great VR, perfect to show new people - worth the cost!”
“Amazing game, great VR, perfect to show new people - not long enough to be worth the cost!”
Clearly we had something, but could we make more levels in a cost-effective way?
Dev time is of the essence, Agent.
So we set about making another level. If we leveraged all the lessons learned (see the VRDC talk I gave with Jesse Schell for more info there), could we do it with a smaller team on a tighter timeline? The most expensive part of creating past levels was iteration time. Finding the puzzle difficulty balance while keeping things interesting for the player requires lots of testing and tweaking.
Massive spoilers for the vacation level “First Class” follow. No, really, our game is primarily a puzzle escape the room game, so if you ever want to play the new level, please stop reading now. If playing the level simply isn’t in the cards but you’d still like to read the article, may I suggest watching a playthrough video first. You’ve been warned, Agents.
Brainstorming and Prototyping : Still Important on a Budget
We started by having a wide-open brainstorming meeting that anyone in the company was welcome to attend. It generated a bunch of ideas in categories such as locations, characters, features, interactions, and narrative. Time travel, Dr. Zor’s mother, and making a clay bowl all made appearances. Is Demi Moore Zor’s mother?
Then the core team responsible for the new level met and we talked in more realistic terms. The idea of having the level on a train had come up, and it matched an idea we had during the creation of the original game.
However we hadn’t had a chance to explore different methods of moving the train without making people sick. Now, as luck would have it, just around that time there was a bit of a staffing delay and we were able to sneak a week or so’s worth of prototyping in with a couple people. We did tests with cabin size, window size, player placement, straight vs. curved track, tunnels, outdoor element placement, and smoothness. In the end, there were a few people in the office who still felt twinges of sickness so we decided to abort. Our game is a very comfortable experience when it comes to motion sickness and we didn’t want to jeopardize that aspect in any way.
While we did spend time on something we ultimately didn’t use, we learned just being in a train car can be fun and the environment size was good. Also, the story that grew out of those early tests translated fairly well to our new, stationary train.
One of the window sizes and tree distances we tried.
What story you ask? Well, Matt Mahon, our VP of engineering, had mentioned in an email that a vacation level might be fun. The idea that it would be a vacation in name only tickled us and we set about crafting a story where the Agency basically sends you on a mission under the guise of the much teased, but never delivered, vacation.
Creating Character on the Cheap
Which brings me to the design challenge we wanted to conquer most with this new level. We really wanted to make our world feel more alive, like there were more people in the world than just you and your ear-piece handler.
In past levels, we had a couple robotic voices to mix it up, but you never really got to interact with anyone. Being on a train could lend itself to solving that challenge, but we didn’t have a character modeler, rigger, or animator on our smaller team. Even if we did, we feared getting the interactions to feel good. With the freedom players have in VR, giving good reactions to everything a player could do would be a scope explosion. We needed a better solution. As a result of the testing described above, we also needed a way to stop the train.
What if we killed two birds with one stone? What if the emergency situation that stopped the train also locked you in your cabin so you wouldn’t expect to move around or see other people?
That looks fine. This is fine.
We still want character interaction though, that’s the point. But how were we going to do that? Well, listening to VO can be fun and VO is certainly less expensive to create than fully rigged characters, but wouldn’t you want to talk back to them? Could we get some voice recognition cloud solution working? No, too clunky. Then it hit us: the player is a spy. When do spies listen but not talk? When they’re gathering intel, that’s when! We decided on a phone that you could hack into because eavesdropping on other conversations felt like something cool a spy would do while being quiet.
Then the question became, how to hack in. Is “hack in” even the right wording? We originally planned on a separate phone panel on the wall, to the side of a wall mounted phone.
However, when we laid out the level in cardboard in the real world (something we call “brownboxing”), it quickly became evident that we needed our wall real estate for other things and we didn’t have enough meaningful interactions in front of the player, you know, in the easiest place to interact with things. So operating still in cardboard, we designed a phone with a base you could unscrew and move plugs around in. Not only did this solution put a really meaningful interaction right in front of the player, but it was a fun and surprisingly intuitive interaction.
Direct comparison between brownbox phone and final phone.
Moving the physical brownbox interaction to VR was fairly easy. We just had to get the scale and collisions of the plug and sockets correct so that you could accurately pick it up and place it. We iterated on whether we showed the room numbers on the panel or whether we had players hear and remember them from the voicemail interface. We iterated on how fast you could press the buttons and on where the labels were. The voicemail light was a lot of iteration in itself. First the color (we moved from green to yellow), then its behavior. Should it blink from the start, stay solid, or go off after you listened?
All of these questions we answered with constant playtesting. For the light, we went with blinking if you hadn’t heard the message and moved to solid after listening. It was only off if that room never had a message.
Quests Without Movement
Even if we have a budget solution for creating characters, we need a budget way to have the player give and receive items. In past levels there was no interactions with other characters, so we needed a new solution here too. Well, I’ve always been a fan of pneumatic tubes. Trips to the bank drive-through growing up always made use of this magical tube transport system and many big box stores still use them today for sending messages and money around. It stands to reason that a luxury train that prized privacy would have such a system in place right? Nope, not really... I mean, in real life, how would the tube go from train car to train car? But that doesn’t matter in VR! It’s a cool interaction and it solves our problem. Now the player can send things to NPCs and receive them in return.
Choosing Our Characters
So we know we can have these audio-driven characters, but who are they? We wanted to have allies, villains, and civilians. Civilians were easiest. We added some structure with the conductor and some comedic relief with a room service guy and a random passenger. We added two men speaking Polish in a vaguely ominous way to serve as a bit of a red herring (and because we have a couple native speaker coworkers to record dialogue in house inexpensively).
An ally would be great, but who would the player be meeting on a train? Another spy? How about a defector! Having a defector in the mix is exciting and provides a reason for the player to use the aforementioned tube system. The defector could demand proof of who you are, provide mission critical info, and give you equipment or puzzles to solve. If we did it right, we might be able to get some emotional responses, too. Having the defector “die” was in our original story and it ended up working way better than we thought it would. Players who had only listened to a couple phrases felt connected to her and were visibly and verbally surprised at her death. A few even “killed” themselves right then to start over, playing again to try to alter her fate by sending her a stun grenade to protect herself! (Those people get an alternate audio at the end.) I also think the sleuthing, including reading about her in a newspaper article, helped to have the player form a quick bond with this character.
“Ah, The Delhi Chronicle. A fount of knowledge to be sure.”
How about villains and villainous plots? Unlike other levels where you were in a Zor vehicle or a Zor-controlled location, in the new level you are on a civilian train. This drastically reduces our ability to create crazy Zor-like contraptions and traps. It was a problem because we needed to figure out different and exciting ways to kill the player.
As a result, we had to design the level with more external threats than the traditional “room turns against you” plots we’d used before. We could have assassins on the train trying to kill the defector, and then transition them into killing you. That said, we thought the assassins in the other rooms would not turn on you until after killing the defector, because it created two distinct moods to the level: a bit of search around detective work followed by the more linear but high intensity assassination attempts.
This method combined the best aspects of past levels. In the hunting lodge and car level the player spends a lot of time searching and piecing together how to accomplish the mission. The submarine escape level is more frenzied. Our train level would combine the two feelings. We did want the transition from slow to fast action to be controlled by the player though. Switching when the player puts the tape in the transmitter does just that.
We came up with “gun through the mail slot” guy first, then someone mentioned the “spear” guy idea, attacking from above, and we all really loved it. From an interaction standpoint, that meant we had left and upper-center, so we needed a right side interaction to round it out. Thus the armored car (or “tank”) was born. When the formidable vehicle you’ve seen from the start rolls up next to your window and opens fire, it’s an awesome moment. Then you get a bit of a one on one moment when you play hot potato (grenade) with the villain inside the tank.
It’s also worth noting that each of the three assassins can have their own attacks turned against them: cloche ricochets bullet, spear thrusts back up, and grenade tossed back in. That feeling of beating someone with their own tools is always one we’ve found players enjoy. After thwarting the tank, you get another great surprise character moment: the defector violinist is alive!
“No one ever expects the spear through the ceiling.”
But wait, there’s still one more new character to meet: the dogged pilot of an enemy plane. Admittedly you don’t see or hear much from this character, but if you fall victim to their bullets, you feel really good when you blow them out of the sky.
In case you haven’t played, there’s a hint line where the defector says something about “needing a bigger gun” that we added for two reasons. First, people were not used to interacting with things outside their immediate area, so the tank, which is outside the window, was not popping into people’s heads as a solution to the plane as much as we’d like. Second, it was a nice final moment of teamwork between you and the defector.
We contemplated a version where you aim and she fires somehow, or she shines a laser and you fire a rocket launcher you’ve assembled, but you gotta cut scope somewhere, right? We are on a budget after all.
Quality VO Is Worth the Cost - But Be Smart
Before we leave our player to enjoy their vacation with all their new friends, I’d like to say one last thing concerning characters. Earlier I mentioned how “just VO” is less expensive than a fully modeled and animated character, and it certainly is, but you also have to have quality VO to sell it. We are fortunate that our Agent Handler works locally here in the office, is excellent, and happens to be our writer. (Thanks, Jared!) Thus we can bring him in for pickups whenever.
For the defector character Anna, we worked remotely with the talented Fryda Wolff. She brought immediate life to the character, and even with only a few lines, it really came across well. To best use her time, and our money, we planned the lines out early and had them in the game with temp delivery from a coworker for testing. That let us get all the lines we needed with Fryda in just one recording session.
Another job well done.
With the “First Class” level we embraced our constraints but still drove for the dream of interacting with more characters. By leveraging some smart design decisions and a whole lot of iteration, we managed to make a level with eleven characters while maintaining our strict timeline and budget.
Granted, you never see any of the characters, but what I have seen is players having real emotional reactions to them, from mourning Anna to hating “spear guy”. What does the future hold for I Expect You To Die? Well, it is a world we love to play in and we hope you will continue to as well. Thanks for listening!