Udacity VR: High Immersion Project — Rube Goldberg Challenge

Marcelo Suzumura
Virtual Reality Pop
3 min readAug 4, 2017

--

Very immersive indeed ;)

After completing the VR Foundations part of the Nanodegree, we had to complete one of three courses in the Specialization area. Those were:

  • Mobile VR: 360 media — focused on producing 360 videos for storytelling, this specialization delved a lot into video production, from concept to recording and editing, and 360 camera hardware (I watched most of the content, but ended up not completing it).
  • Desktop VR: High Immersion with Unity — focused on highend devices, such as the HTC Vive or Oculus Rift, this specialization taught how to make highly interactive content that takes full advantage of positional tracking, possible only with this category of devices.
  • Desktop VR: High Immersion with Unreal — focused on highend devices just as the Unity specialization, but using Unreal as the game engine. At the time of this writing, this specialization was still on beta phase and completing it would not be considered valid graduation-wise.

I thought a lot about which path to choose and I ended up investing on a HTC Vive to pursue the High Immersion specialization. As I am a software developer, I was very keen to produce something out of code and did not find the 360 mobile video path that attractive, although I was on the verge of pursuing it for the lack of a highend VR headset. Now that I finished the ND, I think that was the best outcome (more on it in a future article). It was a steep investment, but the most fun and fulfilling, by far.

For the High Immersion with Unity path we had to complete 2 projects: the Rube Goldberg Challenge (the subject of this article) and the Performance Bounceback (more on it in another article — we had to use profiler tools to optimize the performance of a given game).

In Rube Goldberg we had to build a metagame, in which we give the player the tools necessary for a ball to reach the goal, whilst collecting stars along the path. It’s the players job to position the given tools to make it possible.

It’s easier to understand by seeing it. Here’s some footage from the game:

This project was more of an introduction on how to use SteamVR in Unity to make the camera match the position of the headset and how to make the controllers interact with the virtual objects inside the game. The course videos and activities did a great job on teaching the boilerplate code to accomplish all the interactive features expected in a VR game for a 6-dof headset.

Here are some of the tools available to players:

Metal planks help guide the ball. Is this a bowling lane?
Fans blow “air” to push the ball (ok, there’s no air, I admit)
Trampolines make the ball bounce. Yaaaaaaay!

Rube Goldberg Challenge was the 6th project that I completed for the VR Nanodegree and it was one of the most pleasurable to develop, although a bit time consuming (somewhere about 30 hours of development — even with all the 3D models provided, there was a LOT of code to write).

Project approved: Level complete!

You can check out my other projects for the VR Nanodegree here:

--

--