As a group with no prior VR/Unity Dev experience, our goal was to create a VR project that the users can have fun with. We initially thought about creating a zombie survival game, but it was too similar to first person shooter games that already existed. Thus, we decided to use VR's unique motion tracking to provide the player with a more diverse set of controls. As a result, we thought of the idea of creating spells in VR because it provided flexibility to use different movements to form different attacks.
Being able to utilize creativity Be a spellcaster because you can't do it in this world Achieve your own spells with your own hands
What It Does
The goal of our game is to shoot down enemy bats on two different stages. If the first stage is completed, the player progresses to the second stage, where the game will continue indefinitely. If the player gets hit by bats too many times, they have to restart from the beginning.
There are 4 unique attacks that allow the user to achieve the goal of defeating bats. The fire attack is a basic ranged attack that can be fired using the right trigger button. The water attack uses the left trigger button and pushes enemies back, helping the user buy time. The wind attack is a powerful ranged attack that can be created when the user puts both hands together. The lightning attack is created by holding the "A" button and making a forward throwing motion with the right arm. It is the most powerful attack but also the most difficult to control.
Channel basic spells such as fire and water. Do more complicated motions to channel electricity and wind. Utilize motion to create a higher variety of spells compared to simply pressing buttons. Give users a more real life experience by utilizing motions.
How We Built It
We used Unity which used C# for the script files. We also used assets from the Unity store for many of the landscape designs and characters. We incorporated our own color schemes for each attack, so they seemed unique, but also did not conflict with the map design. In order for everyone to stay up to date with the project, we used GitHub for version control. We used countless numbers of internet tutorials, YouTube videos, and Stack Overflow forums to help solve problems. Finally, this project would not have been possible without the help of the TritonXR mentors giving us help and feedback along the way. Unity C# GitHub for version control The Internet
Challenges We Ran Into
One of the main challenges our group ran into is related to collisions from the different attacks (fire, water, wind, lightning). The terrain and the bats had to be set up with different types of colliders in order for them to respond the attacks the way we wanted them to. The water attack was a bigger challenge because it utilized particles, which isn't meant for Unity physics or collisions. As a result, we needed extra components in the water attack in order for it to function properly. Another big challenge was continuing the project throughout the night despite feeling very tired. It was easy to give up on the work and simply go to sleep, but our group had to persevere to complete what we wanted to build. It was also difficult to test our work at times because we only had one Oculus which meant that we could only test on a single computer. As a result, it made it difficult to test certain parts of the project because we were not able to know immediately whether our code worked the way we wanted it to. (Difficulties with version control and Oculus programming) Interactions between particles and terrain in the map Collisions Efficiency when working because we could only fully test on one computer Particle, physics, and formations Programming using the Oculus Rift (Toggling the trigger/button) Version control (Need to be cautious) i.e. working on same file and pushing it to GitHub
Accomplishments That We Are Proud Of
Our group was able to work together with minimal conflicts and build off each other to create better ideas. We were also able to complete a working demo of our game while learning Unity and VR development within the short amount of time given to us. We were able to maximize our resources by switching off between testing, searching for information, and creating visuals even when the Oculus was not always available. Learning Unity in a short amount of time Adaptive usage of various assets Teamwork (testing, searching for information, switching driver and observer, creating visual part/ mechanical part) Brainstorming. Even though some ideas were discarded due to certain limitation, they inspired us to come up with even better ideas.
What We Learned
Unity basics How to utilize animations and design Basic C# and Unity game development Development using VR gear (specifically Oculus Rift) Collaboration in short term project
More To Come!
Enemy types only vulnerable to different spell types!
More spell types! (Charge attack)
More maps, more fun!
Better Progression system! Unlock new spells and enemies as you progress through the levels!
Customization: skins for your character and spells!