Virtual Reality Game
January 2018 - May 2018
Develop a prototype of a game that people will enjoy
Unreal Engine 4, Visual Studio
Paper Prototyping, Play-Tests
EMPATH is a virtual reality role-playing game that I developed in a team of six for the course, CSCI 426: Game Prototyping, at the University of Southern California. Inspired by the game, Unspoken, and the TV show, Avatar: The Last Airbender, my team conceptualized, developed, and tested EMPATH as a semester-long project.
My roles for this project were game/level design, programming, project management, and UX research. The tools I used were Excel, Google Docs, Google Drive, Paper Prototyping, Trello, Unreal Engine 4, and Visual Studio.
Designer: With my team, I defined the game's concept, features, gameplay, and genres. I also designed the enemies, environment, and other elements of each level.
Programmer: As a programmer, I implemented level quests and motion-activated spells, using C++ (Visual Studio) and Blueprints (Unreal Engine 4).
Project Manager: Sharing project management duties with a few other teammates, I took care of organizing scrum meetings, documenting, assigning tasks to individuals, and ensuring deadlines were met. My group used Trello to keep track of assignments and their deadlines.
UX Researcher: Every two weeks, I conducted playtests for the game. With my team, I collected data from each playtest and analyzed our findings.
In our first meeting, my team brainstormed ideas of what game we would like to create for our project through paper prototyping. We each wrote various game elements, such as themes and genres, on separate index cards. Afterwards, we selected the ones we all enjoyed, combining them into a single concept. In the end, my team decided on developing a story-driven, VR action game, called Empath, that utilized a mix of martial arts and power poses for spellcasting.
After our first meeting, we wrote a prototype design document, detailing the game's concept, features, gameplay, genres, and mockups. I drew designs for different types of spellcasting and possible movements to activate them. I also drafted the appearance and characteristics of various enemies. Collaborating with a few other team members, I designed levels, specifically stage quests, the layout, and the number/placement of enemies.
During the development of the game, my team held planning meetings at the start of every two-week sprint to assign tasks to each teammate. We conducted scrum meetings twice a week to discuss the progress on each member's assignment. At the end of a sprint, my team hosted playtests to garner feedback on the gameplay and user experience. I gathered and organized the data for my group to analyze afterwards, placing ideas for game improvements on next sprint's backlog. All of the team documentation were created with Excel and Google Docs, and they were stored in Google Drive.
To implement basic gameplay, my team used Blueprints in Unreal Engine. For the more complex components, we developed them in C++, using Visual Studio. The graphics came from a visual asset package that accompanied the game engine.
While my team and I developed the game, we conducted biweekly playtests with our professor and other classmates as participants. From these playtests, we discovered three key issues.
Motion Sickness: A few participants felt nauseous from virtually teleporting around EMPATH. After learning of their experience, I was confused; my teammates and I did not feel motion sick whenever we played our game. After searching online for possible reasons, I discovered that some people who use teleportation become disoriented from feeling themselves standing still in reality, while seeing their virtual surroundings change abruptly. To resolve this, we implemented an alternate method of movement in the game: dash. A variant of the teleport locomotion, dash showed people a quick, but steady, transition from their initial to final location. This allowed players to retain a connection to their surroundings as they moved, helping them gather their bearings more easily and reduce their disorientation. As a result, the same participants who had originally reported getting motion sickness did not get it again.
Unintuitive Gestures: Participants in our playtests reported that some martial arts moves for spellcasting felt confusing or unnatural. Their reasons were either the motions were too complex, the instructions were unclear, or they were too preoccupied with other gameplay elements (e.g. defeating enemies) to remember the moves. Deciding to integrate more simple, intuitive gestures, I discussed with my team about different ways to invoke each spell. After listing out potential motions, we asked several classmates to identify the movement that they felt most comfortable with. We then changed the method for activating a specific spell to the movement that received the most positive reactions. To clarify the method for a spell invocation, we also added pictures. Each time a new spell was introduced to the player, the game displayed a set of instructions and a detailed illustration of how to activate the spell. With these changes, the motions became more intuitive and less confusing for players.
Monotony: After completing the first few levels, players felt the gameplay was monotonous. They eventually became bored of repetitively battling enemies to attain new skills and progress through EMPATH. My team brainstormed different types of level quests to add variation to the gameplay. One example is the gem collection mission that I designed for the second level. To unlock the next stage, the player must obtain gems—dropped by defeated enemies—and use them to solve a color puzzle. After listing out various quests, we asked for our classmates to select the one that they were most interested in completing for a level. The most popular quests, including the gem collection mission, were then added to the game. During a subsequent playtest, participants enjoyed the new features and expressed an increased interest in the game.
By the end of the semester, my team created a tutorial round, three levels, and a boss stage for EMPATH. We also implemented different elements of spellcasting: fire, ice, and energy. Lastly, we built various enemies with short-range, long-range, or area-of-effect attacks.
This is a demo of the game's tutorial round. The player learns how to navigate through the virtual space, using either teleportation or dash. Basic attacks and spellcasting are also introduced.
This is a demo of the boss stage in the final prototype of EMPATH. Compared to the initial prototype at the start of the semester, this version has improved graphics and more complex enemy combat skills.
Empath exposed me to the various aspects of game development. I practiced paper prototyping, game design, programming with a game engine, and playtesting. Coming out of this experience, I had two main takeaways.
Everyone can have different experiences with a product. When I first implemented teleportation with my team, I had assumed that everyone would have the same experience as my teammates and me. Since my group did not get motion sick using teleportation, I was surprised to discover that some playtesters felt nauseous while playing the game. As I worked on Empath, I learned to not assume that everyone will have the same experience with a product. Instead, it is necessary to test for different user behaviors and perceptions when introducing new aspects or features to a product.
Designing with user experience in mind helps determine a product's success. While I conducted playtests, I realized the importance of designing a game with the players in mind. For instance, the students who got motion sickness from teleporting in the virtual space reported a negative experience with the game and ended their playtest session quickly. Such reactions would most likely lead to a product's failure amongst users. From this course, I learned that user experience is a significant factor in determining a product's success.