Building Virtual Worlds is an integral part of the curriculum at the Entertainment Technology Center at Carnegie Mellon University. It involves being put in teams of 4-5 students from different disciplines like programming, art, sound and production and building a game or an experience in 1-2 weeks based on the prompts and constraints of that rounds assignment. This technique was pioneered by the great Randy Pausch as a primer to great game development after his sabbatical at Disney Imagineering to be able to foster better teamwork and to allow for true multi-disciplinary collaboration. In the next few blog posts I will share my experience going through Building Virtual Worlds (BVW).

Ready Set Go!

For the first round of BVW, our assignment prompt was to create an experience where Character A is afraid of Character B and the guest must help Character A overcome that fear in a time span of two weeks. The class was also split into half on what hardware we were working with and my team was given the HTC Vive VR headset.

I was on a team with two artists and a sound designer. My primary role on the project was that of a Programmer but I also contributed to the design of the project. As the sole programmer on the project, I was responsible for implementing game-play mechanics and maintaining all the code for the game in the Unity Game Engine. I was able to be up and running with the Vive SDK in a short amount of time and was even able to build a Vive game as our golden spike.

We started the design process by discussing what can the guest empathize and connect with quickly and decided that it had to be a child of some sort. We wanted to evoke the feeling of a child being scared by a monster under their bed. The two big rules of BVW are that you can't make shooting games or pornographic games. Since we were not allowed to do shooting games, we chose the flashlight as a tool for the guest to defeat the monster. We came up with the story that in the game you played the role of the mother of a scared child that fought a monster that was sensitive to the flashlight that you picked during the game.

VR games are notoriously hard to make

We encountered the following design challenges through the two weeks of the assignment and came up with our own ways of solving them.

  1. The biggest one was that we needed to capture the essence of the assignment of Character A being afraid of Character B. We tackled these through a mix of character animations and excellent voice over acting to capture the fear of the child from some of our peers in the cohort.
  2. Another challenge was the level design as we wanted to use the space offered by room scale VR to its fullest. We wanted the player to use the Vive play space to its limits and thus tried to map the child's room to the size of the play space. We also added a corridor scene where the guest would pick up the flashlight before entering the child's room. We used Indirect Control techniques like lighting to guide the player through the space into the child's room.
  3. The final challenge was the gameplay design and making sure the players understood what they were supposed to do without having to be given too many instructions. We kept the core loop simple, if the player pointed the flashlight at the monster, it slowly shrank in size and moved to a new spot and we had to repeat until the monster was gone. We also believed in providing the guest with affordances, if there was something in the world that the guest wanted to interact with, like open the closet or open the window, the guest should be able to.

A major weight of the entire aesthetic was borne by the lighting effects and the spatialized sound effects that we used in the scene. The lighting effects made the room look very eerie and scary and was vital in setting the mood. Spatialized audio was important as it allowed the guest to internalize that they are the child's mother and that they need to help them. Also, when the player had to start looking for the monster, the scratching sound the monster made helped the guest locate the monster in the room. We charted a simple interest curve with enough surprises to keep the guest interested throughout the experience.

Round Complete

Our goal with this project was to build a simple experience where the guest can instantly empathize with the child and feel it's fear. We opted for a linear story where the guest started off in the hallway, picked up the flashlight and then entered the child's room to fight the monster at a few specific places. We learned that VR game development brings with it a new set of challenges that regular game development does not. We also learned the importance of rapid prototyping and testing often to ensure that the guest experience is aligned with what you are designing.