Modus Operandi is another project I created with 6 other teammates during the Research Topics in Game Development (course number 53-451) at CMU. 


Before this project had begun, Prof. Thomas Corbett gave everyone an assignment to write a research topic for VR games. My topic was to explore the possibility that certain sound can be designed to trick players into falling. Prof. Corbett felt quite interested in my proposal but, unfortunately, my topic could not proceed due to safety concerns. (My proposal topic will be posted at the very end of this page.)


A classmate of mine, Barbara Soques, came up with the idea of actually talking to an NPC (Non-Player Character) instead of selecting dialog choices like in Mass Effect or The Witcher. Right after I got assigned to that topic, I became the sound designer on the team.

Our first meeting helped us settle the general form of our project: everybody loved the idea of solving a crime by talking to an NPC who can be a cop/partner. We also planned a weekly schedule on the first two meetings, with suggestions given by Prof. Corbett and our TA, Ben.

We realized that the primary task of our game is to write a compelling story. So after a few meetings, we settled down with the idea of having the player staying in a police office, staring at a case board and talking to the partner over a radio to solve a serial murder mystery which involves a history 10 years ago. 

I was one of the three people on the team who focused on making the story, and we sketched a draft during a meeting with everybody contributing ideas of murdering methods and mysteries. The final storyline is the following.

10 years ago, there was a great swimmer named Chris who, for some reason, never got a gold medal or first place in any competition even though he was the best of his high school. For that, Chris envied his three teammates who kept getting honors in various swimming competitions. This envy grew in the decade after Chris graduated and became hatred nowadays. So Chris started his revenge on his teammates and has already convicted two murders. The player, as a rookie police, need to piece the evidence together to figure out this 10-years-old resentment and predict the location of the final target in order to stop this madness.

The next step is to figure out how exactly should we write our script of possible dialogs. So, while the programmers were busy figuring out how to integrate windows speech recognition into unity, we brought the playtest script, together with the sketch art of the "crime scene photos", to our friends to run a preliminary playtest which is played fully on paper. We collected an amount of data on what kind of questions people would ask about the photos and how they responded to the clues we would provide.

Based on the playtest data we collected, we started the scripting process. Again, the three of us were writing a lot trying to make the dialog simple and precise: we don't want the player to listen too much to the NPC's talking but we also don't want to confuse the player with insufficient information. 


The first edition of the script is in black while the second edition is in purple. After the first edition had been done, I started recording the lines with our teammate Brian Walsh who worked as a programmer but happily became the cast for the NPC. After the raw recording, my job was to single out every line and make them into individual .wav files with a proper name. The file names were specially designed and organized to help the programmers locate the correct line for any specific state in the game.


Besides voice line recordings, I created all the necessary sound effects such as the pickup sound for the radio. I also found a thrilling ambient music for the background, but, unfortunately, due to the lack of time, we merely put all the voice lines in place and the sound effects didn't get the chance to be in the game. 

Before our public playtests in December, we built up our prototype and then a deliverable. We also had weekly presentations in class to have the class and instructors critique on our project.


The main problem in this phase was Window's speech recognition API. Our programmers found the API crashed a lot in Unity and thus very unstable. Luckily, they later found a way to get around the crashing problem and stabilized the game.


Pictures on the right are prototype models and presentation notes from class.

Then it came to the time of the public playtest. A few days before the playtest, Prof. Corbett made a signup sheet and the class spread it out for volunteers and we eventually got 16 volunteers in total. 


The playtest started on Saturday morning and lasted for 8 hours. For every playtester, Prof. Corbet had prepared a pre-survey for every playtester to fill out before they try any of the projects. The pre-survey was mainly asking about if the person has VR or gaming experience before and then the playtester need to sign a safety waiver prepared by the professor. The playtester then got introduced to the three projects groups and tried all three projects one by one. After the playtester was done with one project, he/she need to take a post-survey designed by the project group and then could go on to the next project. 


Due to a technology problem at the very beginning of the playtest process, we, unfortunately, lost 2 playtesters while we tried to fix the problem. But the data we collected from 14 playtesters through observing their behavior and through post-surveys was very inspirational, for none of us have ever worked on this kind of storytelling and never tried to figure out how a player would ask a question. 

Here's a short video we recorded during the playtest.

As inspirational and enlightening as our playtest data was, we didn't have the time to further develop our game to a higher level due to the fact that we only had less than a week to the end of the semester. But we did learn from the data as we wrote an update note base on the playtest result and survey (the playtest notes are provided on the right). Towards the end of the class, we wrote a report about our exploration into the research issue of actually talking to an NPC. We talked about what went well and what didn't work out and about what we could do to make our game perform better if we were to develop further. The final report is presented below.