StarCollector VR

Introduction

This project was developed in the framework of the Udacity VR Developer Nanodegree program with focus on software development for High End VR Hardware like HTC Vive and Occulus Rift. StarCollector VR is a physics based puzzle game. The task of the game is to collect all available stars with a ball and then hit a goal on the ground. The player can spawn different objects to create a Rube Goldberg chain reaction that enables the ball to collect all of the stars without touching the ground. See the “Walkthrough Video” bellow for clarification.

Outcomes

The 4 unique levels were created in Tilt Brush and then implemented in the Unity Engine. All levels react to the music and provide a appealing light show while the player is solving the puzzles (Music by Six Umbrellas (CC)). The level of difficulty rises as the player proceeds. Up to four different object types need to be handled in order to achieve the goal.

Story of Progress

While the ground mechanics of the game were determined by the Udacity course requirements, I had absolute freedom in the visual style of the experience. The setup of the ground mechanics took a while, as it was the first time for me to write interaction code for the HTC Vive Controllers. Also the game needed a cheat detection, otherwise the player would be able to collect all stars with the ball in his hand.

In game design I tried a lot of variations with the position and numbers of the stars. Also the number of available objects made a huge difference regarding the difficulty of each level. After several user testings I found a balance that is challenging and but not demotivating.

Visually I decided to go with a very high-contrast style in strong pink, blue and yellow tones that match the flashy Tilt Brush aesthetics. Designing the levels in VR for VR was a great benefit. Decisions in scale and atmosphere were made much easier and also the intuitive workflow in Tilt Brush safes a lot of time. Each level was created in under 2 hours.

User Testing

User testing helped improving the input devices and to find the right balance in the game design. Here are some examples for user testing interviews:

What do you think about the size and readability of the information screen?
It’s a lot of information but the readability is fine.

What do you think of the atmosphere of the space?
It looks pretty nice and somehow mystical. I like that the the lights are moving to the music.

After the first round of feedback I adjusted the information Screens and reduced the amount of information to a minimum. I thought about a tutorial, but skipped that thought due to time issues.

 

How did you get along with the menu of the controller?
At the beginning a bit overwhelming. A step by step tutorial would be great. But once you get the hang of it, it’s pretty intuitive. The icons are way too big!

How do you evaluate the difficulty of the 4 levels?
The first two were pretty easy, after I understood the game mechanics. The third one was challenging and the last one I couldn’t solve without your help. So they are definitely increasing from level to level. Maybe the last one is a bit too hard.

After the second round of feedback I made some changes in the controller menus and adjusted the game design in the last level.

Conclusion

For my first High-End VR project this was a challenging and at the same time very rewarding experience. At the coding side, I learned a lot about interaction in VR and the workflow with Tilt Brush and the Unity Plugin is impressive. I’m planning to realize more experience in that way. Overall I learned a lot of dos and don’ts that I could apply to the following project “CUBEDANCER”.