Rahul’s Puzzler Game

A virtual reality game built as a part of Udacity VR (Virtual Reality) Development Nano-degree course.

GitHub: https://github.com/bethirahul/Puzzler-game

Built using:
Unity’ game engine (v2017.2.0f3) on Windows 10 machine
C# scripting language
Google Virtual Reality’ (GVR) SDK for Unity (v1.110.0)
Resonance Audio’ (by Google) SDK for Unity (v1.0.0)
An android (v6.0.1) OS device with Google VR glasses
Udacity puzzler game props
iTween Unity package (v2.0.8)

What it is?

It is a simple memory puzzle game built in a VR environment. In this game, players enter a dungeon room located in between a desert surrounded by mountains. Inside the room, there are five spherical orbs, which light up to show a random pattern. The player has to select these orbs in the same order to win the game.

Screen Capture from Unity Editor

How was it?

This game was a success, it was a simple game and reached all its goals. Players were very excited to be in the VR environment. It was fun to play especially for the first time users of virtual reality.

Building process

A careful ‘iterative’ approach was used to build this game. By consistently improving and taking inputs from user testing helped to solve many problems in building my first VR game.


For this project, I first created a persona called Sweety.

Sweety is a 24 year old self employed crafter and who is very much interested in solving puzzles. She has no experience with VR. She does crafting most of the time, but also solves puzzles in her free time by playing puzzle games or solving puzzles from newspapers, etc.


I have come up with three major goals before designing the game.

1. Visually appealing and follows a theme.
2. Moderate animations and colors to look decent
3. Comfortable mode for VR app.


Conceptual sketches were created as a foundation for designing the game. These are used as a basic structure for the game.

Game Plan Sketch
Game Start screen Sketch
Play Area Sketch

User Testing

I conducted first three User tests with two friends and the last one with two other friends. All these people have never experienced VR before.

User Test 1 — Environment

1. Could you tell me how big you think you are in this experience?
A. Little bit shorter than normal, by about half feet. But the room seems to be oddly big.
2. What would you say is the mood of the place taht you’re in?
A. An old room — in a fort, just like in games like Assassins creed. Little spooky, some enemy would come, but looks okay due to the spheres, Like a party balls.
3. Is there anything that you would like to look at but that’s difficult to see to that’s not coming out very well visually, for you?
A. Everything looks pretty much okay. No complaints. I think I environment outside the room seems basic. I thinks its on purpose. A phone cannot handle much processing.

User Test 2 — UI

1. Are you able to see anything?
A. Ya, a black dialogue window with start button, to start the game I guess.
2. Is it okay? The size and font, etc.?
A. Text looks a little big for me, and the finish panel seems far than the first one.

The test size was adjusted based on the review.

User Test 3 — Movement

1. Press start and tell me how did you feel about the movement?
A. It was good. Good pace for me.
2. Anything like naussia or disorienting?
A. I don’t think so. Its okay for me.

User Test 4 — Complete game with Audio

Comments from users:
1. Good game, but it would been better if we had instructions of how to play.
2. A restart button would be good. If i didn’t see the pattern, then I want to play again.
3. Audio and Ambience are very good. Simple game.

Based on the reviews, instructions were added to the start menu. Another UI screen was added in the play area with the same instructions and a restart button.

Start menu with Instructions
Instructions in the Play Area with a Restart Button

Major Hurdle

“Unity doesn’t support JDK v1.9 yet”

I started building this game using earlier version of Unity, GVR, and all the assets and game code given by the course material. But after updating my Java Development Kit (JDK)to v1.9 from v1.8, Unity couldn’t build the apk. At first I didn’t know what was causing the problem. So, I updated all the software linked to this project (Unity, GVR, iTween), that was the first thing to do for any problem. I had to build the game again from scratch (code), because there were functions which were obsolete in the newer versions. Like the Resonance Audio by Google — this was replaced with GVR audio in the GVR SDK. But again I got a similar problem. This time the error was clear pointing out the JDK. So I tried with the older JDK v1.8. It worked. I could build the apk. And then I also did some research in the internet and found out that Unity doesn’t support the newer JDK v1.9 yet.

Some screenshots while building the game:


I was successful in building my first VR game. I was also more happy that I not only achieved the goals but also built the game from scratch (code) with updated software and packages. The game was comfortable to players and they were very excited to play the game. This is good example for a VR experience.

Next Steps

Add more levels to the game. After a successful attempt, the speed at which the random pattern is displayed is increased thus increasing the difficulty (level). Adding a high score board at the end will help the players to compete with one another.

Additional Links

GitHub link to the project: https://github.com/bethirahul/Puzzler-game
Linkdin: https://www.linkedin.com/in/rahulbethi