VR Puzzler Project — Showcase

Bharadwaj B
6 min readJul 1, 2017

--

Solving puzzles are always fun!
Doing it as part of the your course curriculum is Super Fun!

Puzzler VR

This write up is the showcase of PuzzlerVR that I created for Udacity VR developer course curriculum. PuzzlerVR is a classic Simon Says type game that is experienced inside of the VR world. It is a fun and friendly game for people wanting an introduction to Virtual Reality. The game also has certain inbuilt functionalities to analyze the user experience.

This write up documents the development cycle process that I follow while creating a virtual reality application from scratch. For a simple application like PuzzlerVR it takes around a week. Without further ado, lets dive into further sections.

Goals

-Design an user friendly Simon-says type VR puzzle experience
-Design UI for interaction
-Implement game mechanics and audio to enhance the experience

Additional goal(self imposed)
-Add usage statistics and on-screen visual feedback to analyze the user experience

Sneak peek of PuzzlerVR

Puzzler VR

Note: The build uses GVR SDK 1.5 and hence we won’t get stereoscopic view while playing in Unity editor

The Build Requirements

Statement of purpose
Develop a mobileVR puzzle game that is easy to understand and fun to play. The game should provide in game analytic data for research purposes.

The above statement of purpose reflects a small deviation from developing the game itself. Apart from creating the game I wanted to push myself to develop the tools to make the game better and this needs to be present inside of the game.

Persona

Persona selection

Some of the simple steps to help Senthil in his research:
-Need to make the game have least amount of user instructions
-Need to implement best performance practices and have good graphics at the same time
-Need to provide possible options to record game statistics

Design Process

Level Design

Freefly

Freefly type
Plus
— Futuristic and fun with floating objects.
Minus— May cause motion sickness due to zero gravity.

Hogwartz

Hogwartz type
Plus
— Could be easily related by users. Chance to experiment with particle systems.
Minus — Performance issues due to usage of particle system.

Orb Variation
Plus
— New scope of additional challenges
Minus — Increases game difficulty, may not suit our purpose

Final selection — Hogwarts type. This had the exact type of recipe for good experience and matches the goal expectations.

UI Design

Decided to go for the combination of two after peer review. The new design was simple and provided optimal instruction. It also had a simple feedback buttons.

Final version

Game Stats Design

Decided to go for the scroll-able version as it was convenient and had more flexibility. Reset button was added at a later point of time.

Game stats will have the below details

  1. Number of times the game was played and number of restarts/fails
  2. What are the objects viewed in the game and how many times they were viewed. This is to mimic a simplified heat map.
  3. Rating information

Note: Since the game stats was not intended for the users, it was placed behind the user, in the ‘curious’ zone.

Final version

User testing

As my instructor always says,

User is not like you

the user testing gave me a lot a meaningful insights on improving the puzzler experience. The test and the user cases are as below:

User test cases and results

Iteration screenshots

Initial build
Initial UI design
Test screenshot from mobile
Test screenshot from mobile

Profiler
After user testing the game was put under test using user profiler to capture the hidden performance related issues.

Issue
It was identified that Statistics UI was updating on real time and the canvas render was consuming lot of CPU usage.
Resolution
The statistics UI will be displayed only when we are at the entrance and will be disabled when we enter into the dungeon. It is enabled back when the game is restarted.

Breakdown of the final project

Environment
The puzzler is set up in an mystic universe which is dark and gloomy. We are surrounded by sandy and dry mountains. The sky setup and scheme reveals the mood that we do not have any earthly presence in our setting. We mildly hear that it is raining somewhere in our vicinity.

Entry UI
When the game is launched we see the UI with instructions on the screen. On looking behind, we find that there is another screen that reveals statistics. Clicking on the START button begins the game.

Play area
Once we enter hit START button we glide into the play area. The motion is controlled by iTween(link provided below) plugin. We see that we are in front of five orbs when the motion stops.

Pausing a moment if we look into the dungeon we are in, we would see that there are shiny candles floating in the sky and it is also raining there! Not to worry, we will not get drenched. There are also tiny speck of glow particles that give a sense of visual depth to the scene.

The orbs now light up in a sequence. To win the game we need to repeat the sequence in the same pattern. If we fail to repeat the pattern then, the orb sequence repeats.

Exit UI
After successful repetition of pattern, we will again glide out of the dungeon facing the exit UI. We have the options to rate the game and restart the game experience.

Takeaways from PuzzlerVR

  1. Importance of documentation cannot be stressed enough. Initially a boring exercise, it clearly helps to show the amount of work that has gone in building the end product and thought process behind it.
  2. User testing is an helpful process that can heavily impact the value of the end result. Going in early with user test helps in identifying critical issues at the initial stages.

Further scope

If I dive into version 2.0, I would add in the below enhancements:
- Randomize orb pattern on each restart
- FPS recording to determine the average, low and high screen refresh rates
- Scoring and timing mechanism to record high scores

Credits

Links to the custom assets that were downloaded from Unity Asset store

Itween
Candles
Skybox
Audio
Rain and dust

Specifications

Game Version — 1.0
GVR Version — 1.50
Unity Version — 5.6.1f1

Other projects and links

--

--

Bharadwaj B

Budding VR Developer, India. Undergoing VR Nanodegree @Udacity