Tejas Shroff
5 min readSep 11, 2017

--

Note: This post was originally published on August 11th, 2017.

As part of the Udacity VR Nanodegree I am currently enrolled in, I have to create a Google Cardboard puzzle game set in a brooding castle, and implement a Simon-says-like game mechanic. Although much of the actual code was already written for me, this project was a good exercise in flexing my creative muscles to make sure object scale, sound, lighting, and UI all made sense in the context of VR. The project took about 4–5 hours to complete, and you can see a final rendition of my project in the video below. Throughout this blog post, I will show how I arrived at a final product.

It Starts with the Basics

Creating a Persona

The Udacity course talked about creating personas, a way for developers to keep their audience in mind while developing a game or application. Here is the persona description that I came up with for this project:

Joe and Alex play video games after school

Joe and Alex are young gamers that enjoy a challenge, but don’t need to be constantly entertained by fancy graphics. They find difficult puzzles satisfying and will spend the time to play games that feature these types of puzzles after they come home from school. They are also curious about new technology and often used their father’s or mother’s phones to play mobile games. However, they have no prior VR experience. In a nutshell:

“I want simple but difficult games to play when I get home from school. I also want to try out new cool things, like VR!”

Creating a Foundation Statement

Keeping my audience in mind, now it’s time to create a foundation statement that will describe what I am building, drive the design of my game, and keep my development from being misguided:

“Puzzler is a mobile VR puzzle game that challenges players with a simple to learn Simon-says game mechanic”

Creating Sketches:

In addition, it is helpful to create a few sketches of how the game will look, since it is easier to brainstorm on a pen and paper than it is to do so in the Unity editor. Here are a few sketches of mine that were done to model out the castle scene as well as game UI:

An outline of the player and castle, as well a the game orbs
A final draft of the UI elements that the player will see in-game

User Testing

I did a lot of user testing as part of this project, and instead of breaking down how each individual tester felt, I will detail the lessons learned through user testing:

  1. The UI needs to be more motivational. Users didn’t really care if the game title was on the start screen, but they wanted to look at a screen that motivated them to take action. The biggest change here was adjusting the button text (where the “Start” and “Restart” appears in the UI sketch). Instead, I wrote “I’m Ready” for the start screen, and “Let’s Do It Again!” for the end screen
  2. The orbs were getting in the way of the VR movement. In my sketch of the player area, the orbs are aligned in the horizontal zig-zag shape. However, when the player moved from the play area to the exit area (when they solved the puzzle), they moved through some orb objects and were very uncomfortable as a result. I changed this in the final version.
  3. User’s loved the brooding atmosphere. When first creating the scene, I feel like I made the scene too dark and mysterious, and I thought that users would be turned off or scared. Instead, they really liked the dark, mysterious lighting and sounds. A positive lesson here!

How I Created the Final Product

Setting the Scene

If you’ve read my previous blog posts, this project is not my first VR game, so I went ahead and creating a small but spacious castle environment for users to play in. You can see the model used in the image below, as well as the orb placement that I originally had. Although I changed the orb placement in the final product, I wanted to show my first pass of this design to hit home how I needed to make adjustments in the final product when user testing.

Castle models and first pass at orb placement

Lighting the Scene

Here’s where I have a bit more forte: lighting. I really enjoy lighting since it can give life to the environment the user will be in. I used a variety of contrasting lights to give the scene a nice dark mysterious mood. You can see the difference lighting makes in the image below:

I created a lighting scheme that would immediately catch the players’ attention

UI, Visual Cues & Sound

Fortunately, in this project, almost all of the code was provided by the course itself, which made it very easy to concentrate on the design. However, I still had to create the UI for the scene in order for the player to start and reset their game. You can see the final UI (at least of the start screen) in the image below:

I created my own UI elements for the player to start and restart the game

With the help of the course, I also implemented spatial audio and visual cues to provide feedback and feed-forward to players as they saw the pattern of orbs light up and clicked on the orbs to mimic this pattern.

Conclusion

A clip of the final product

Overall, this was a great project, and I really learned a lot about Google Cardboard functionality within Unity. I have to say, however, that I am very much looking forward to diving into Udacity’s Unity specialization curriculum!

See you in the next post,

Tejas

--

--

Tejas Shroff

An XR developer excited about learing and sharing new things