Puzzler Project for Udacity VR Nanodgree

Puzzler Project for Udacity VR Nanodgree

Puzzler Project for Udacity VR Nanodgree

What is Puzzler?

This puzzler project is one of the Udacity VR Nanodegree project, it is aimed to design and build a mobile VR game by Unity3D and Google VR SDK. The comfortable user experience with Cardboard devices should be considered to avoid user feel sick and dizzy.

The game is based on the Simon says mechanics, so it’s useful when player has minimal or no cardboard VR experience. The player is in front of 5 orbs that change colors and beep in a random pattern, the player will repeat that sequence by clicking the orbs in the same order.

If player complete the sequence correctly, they win the game and can restart the game. if a mistake occurs, the player ought to try again after it repeat the sequence.

You can download the full project at:
https://github.com/seawaywen/VR_Puzzler

Project scope

The project should meet the following objectives:

  1. Easy to control

The game mechanic itself is simple enough to be understood by the game player with minimal guidance. It should be clear for player which parts can be clicked, and the corresponding reaction feedback should be given(color or material changes and the related sound when click on the objects)

2. Clear indication with good visual/audio feedback

All the indications should be clear, like where is the entry point to start, how to restart the game. When player make mistake, a obvious feedback should be given.

3. No fast movement

The comfortable user experience without making user sick and dizzy is the basic requirement for this VR game, the movement should be steady without shaking.

Design

Potential end user

The app is aimed at the users with minimal or no VR experience on the mobile. Those group of potential users are interested in VR and wants to explore.

sketches

sketch of the main layout

First I scratched the basic layout for the main scene:

sketch of the User interface

Finally I chose the use First sketch, since the text information is above and more obvious for users’ attentions. User can see small part of the dungeon behind the control panel and let user know once they click the start button, they will move forward to the dungeon to start the game.

Prototype and User testing

After 3 iterations with the user testing for prototype, it has the following features:

  • When player click the start button on the control panel, they will move forward to the dungeon steadily
  • The orbs blink in the random sequence
  • Player can click the the orbs:
    - if the sequence is correct, they will move out of the dungeon and see the restart panel
    - if the sequence is incorrect, the noise sounds and it will show the sequence again and wait for user’s input
  • If user click the Restart button on the panel in the back door, it will step back to the start point (front door)

User testing and feedback
After demo the prototype to the my family and friends, some points are raised:

“Why I can hear some collide noise when I start the app?”

At first all the binding sounds for start, play and end points played together when app start, I unchecked the play on awake option on Gvr Audio Source for play and end points game objects and control the audio play in the code instead to remove user confusion

“I feel like I move backward too fast when I click the restart button”

I use the same time period for both of the move forward and move backward, actually since we need move from back door to front door instead of from front door to the room, so it feels like high speed to move backward.

“I can really see very clearly which orb were highlighted just now”

The alternative material on the orb is not obvious with the origin material, so after some lighting baking, the color changing seems not so obvious, I use some high contrast material to fix this problem.

“Why does those orbs blink?”

Without any introduction about this game, some user will ask this question, some of them don’t understand and don’t know what to do, I should put some text introduction in the game.

“what? I can pass though the orbs and control panel?”

When player finish the game and click the Restart button, it seems player can pass through the orbs and control panel. I hide the orbs and Start panel when player is moving back to the front door and re-activate them when the movement is finished.

Beside fixing most of above issues, I tweaks a lot on the audio issue on the iOS build finally it was fixed by the patch

Summary

This Puzzler project is good opportunity to test the different elements (moving speed, safety space, etc)user experience in a mobile VR game. I went through the whole game development process including design, tasks splitting, user testing feedback and went to the next iteration.

Next step I will have some more customization on the UX and game mechanic:

  • User should have some points board to display the credit
  • Some game rules explanation on a board
  • User can exit the game anytime instead of kill the app.

Using Unity3d to build the VR app for mobile platform is amazing, it’s possible to build quite complex useful VR app for different domain and fields.

You can find the project here:
https://github.com/seawaywen/VR_Puzzler