Virtual Reality Puzzle Game

Introduction

My most recent VR project is a simple Simon-esque game in which the player must select floating orbs in the correct sequence in order to pass through a dungeon. This was the fourth project for Udacity’s VR Developer Nanodegree. I enjoyed this project a lot because there was more emphasis on designing a good user experience. I got to put my UX skills to use to create personas, draw sketches, conduct user tests, and iterate on the design.

Process

Personas

One of the first things I did was create three personas of different users who might be interested in this game. I already wrote about this in a previous post, where you can also download the persona template that I designed. You can click the images below to see them bigger.

Sketches

I made several sketches throughout the process. I couldn’t make all of the sketches a reality with my current Unity and 3D modeling skills, but I have a clear idea of what I want the final experience to be like. I added several bits of backstory to the game to make the player more invested in completing the puzzle.

Working in Unity

I created the game in four stages, with user testing and iteration after each stage.

  1. Create the environment (3D models and lighting). Do user testing for mood and scale.
  2. Create the UI for starting and resetting the game. Test for scale, placement, legibility, and clarity.
  3. Add camera motion and program UI buttons. Test for speed and comfort to avoid simulation sickness.
  4. Program game mechanics. Test for playability, understanding of rules, and overall experience.

User Testing and Iteration

Below are videos of my first playtest and my most recent playtest, so you can see the progress made so far.

 

Some of the things discovered and fixed from playtesting included:

  • Some people felt too short. Adjusted the camera position and the overall scale of the environment.
  • The UI was much too close to the camera at first. Repositioned it farther away.
  • The start UI blocked the view of the dungeon, so it was really disorienting when the camera started moving. I fixed this by making the UI partially transparent.
  • The camera motion was too fast. Slowed it down to create smoother transition into dungeon.
  • The positioning of the orbs was too high to be able to comfortably select the top two. Repositioned them to be more in the line of sight.

 

And these are some things that I haven’t fixed yet:

  • There is a glitch where the back wall of the dungeon changes color when you look at it.
  • Some people do not recognize the “Simon-esque” aspect of the game, so they don’t know what to do when the orbs light up.
  • The negative feedback sound when you select the wrong orb is not clear enough.

Current State

Here is gameplay video of the game in its current state, as of Oct. 1, 2017. For some reason the screen recording software did not capture the ambient environment sounds.

 

Conclusion

Overall, I enjoyed the planning, game design, and usability design aspects of this project, but I still feel like there is a huge learning curve ahead of me when it comes to 3D modeling, Unity, and writing C# scripts for the game logic. I pretty much had to stick within the files and parameters provided by Udacity. The code for the game logic is only designed to have a start and an end UI, and it doesn’t seem easy to modify without reprogramming the core logic of the game. So, it’s going to be a big jump from where the project is now to the ideas I would like to implement.

Planned Improvements

  • Incorporate all the story elements to give players more choices (see sketches above).
  • Program a lose condition if they select the wrong orb too many times.
  • Program different levels of difficulty.
  • Create either clear instructions about how to play or hints if the player gets stuck.
  • Animate the orbs to move out of the way upon completing the puzzle.
  • Give each orb a unique pitch and color.
  • Create background scenery.
  • Improve UI design.
  • Improve sound design.