We wanted to harness the incredible potential of VR by building an immersive game that teleports the player to other worlds, allowing them to perform great feats in virtual reality in the comfort of their own living room. It was then that we decided that a bow and arrow game set in a beautiful forest landscape would provide an amazing simulation designed to awe. We planned to have the Leap Motion, a hand tracking sensor, simulate the shooting of the bow and the Oculus Rift for looking around the idyllic environment. We did change our game model to a fireball shooting game midway throughout the game development process, since we did not have enough time to go through with our original plan. Nevertheless, we were still able to deliver an incredible, immersive experience for the player.

What it does

You can run around a hilly forest in first person and shoot fireballs. It is possible to run off the map, and the fireballs do have a knockback feature built into its explosion radius. Fortunately, none of the terrain catches fire.

How we built it

We used Unity to make the game, and programmed our scripts using JavaScript and C#. We used Blender to make target models. The bow model was an open-source asset that we retrieved from a VR Bow and Arrow tutorial created by Youtube user Fuseman. However, the difficulty of integrating a bow and arrow forced us to drop it in exchange for fireballs. We made a fireball by pulling textures and sound effects from open sources sites, and an explosion animation from the Unity asset store. A C# script allowed the user to shoot fireballs from their hands.

Challenges we ran into

Integrating the Leap Motion with the Oculus Rift was a challenging task for us because we did not have any prior experience with the SDKs associated with the Leap Motion and the Oculus Rift. Sometimes the virtual hands would not appear at the right angles, and sometimes they would not appear at all. Moreover, we needed to wrap our heads around the actual physics and trigonometry behind shooting a bow, particularly how the archer could adjust the angle of the arrow to produce the correct trajectory. Most of these challenges were solved through extensive trial-and-error approaches. We consider interaction using the virtual hands to be the most difficult part of this process, but we eventually learned how to use an interaction SDK to handle that part of the game.

Accomplishments that we're proud of

We were really proud of being able to make a fully functional VR game. In particular, we were excited to see that we successfully packaged the environment, the player, and the projectile soundly into a game scene without any errors. We also were proud of our success in programming the shooting aspect of this game.

What we learned

In essence, we familiarized ourselves with how the hardware of the Leap Motion and the Oculus Rift works. We learned how to use their respective SDKs. We also became comfortable using Unity for VR game development, whether it be creating environments, importing models, manipulating prefabs, coding scripts, or using the physics engine.

What's next for Project: Fire

We have no plans to continue the project.

Share this project: