After participating in UCSD's HackXR earlier in the year, we decided that we wanted to do another virtual reality project at HackXX, but this time with the Google Cardboard. For the actual idea, we were inspired by an app called Piano Tiles, a game where the user taps on colored tiles in order to play music. We brought this concept into our own 3D interpretation with a fireworks theme.

What it does

The player simulates a flame that follows a fuse in order to light a fireworks display. They must align the middle of the cursor with the head of the fuse and continually follow it until they reach the fireworks launcher.

How we built it

We used Google Cardboard SDK and Unity 3D. The rope was created with by linking a chain of spheres. We took advantage of raycasting and colliders for the cursor and sphere tracking, and the fireworks display was made from particle effects. Huge thanks to our VR mentors for being there in our times of greatest need :)

Challenges we ran into

The biggest challenge we faced was controlling the interactions between the Line Renderer and other GameObjects. We wanted to have the line gradually disappear on impact with the cursor, but that would have been difficult since the Line Renderer is not actually a mesh but rather a 2D element that is always facing the camera. Our solution was to create a different line by connecting a lot of spheres instead. In addition, another challenge we faced was building the program into a iOS app because neither of us had that experience.

Accomplishments that we're proud of

Incorporating Unity's aesthetic effects to make a functional Google Cardboard app.

What we learned

  • Mobile development with iOS
  • Practice in Unity, specifically with terrain, texture, line renderers, and particle effects.

What's next for Hanabi

  • Fixing some leftover bugs
  • Adding sound
  • Adding a UI
  • Displaying a score based on how well the user followed the fuse
  • Implementing a feature where the flame will die out if the cursor misses the rope
  • Custom levels and fuse orientations

Built With

Share this project: