Inspiration
We got our inspiration from the famous star wars pod racing. We all used to play the old lego Star Wars and Knights of the Old Republic games. We enjoyed speeding through the desert landscape trying to complete the race as fast as possible.
What it does
The game will begin with the countdown on the screen starting from 3. Then from there, the player will then begin the race. On the dashboard, there are three instruments to provide the player with valuable information about the race and their ship. The first is the velocity which is the scene on the left side in the circle gage. The next is the time it has taken for the player to complete the race which is noted under run time. The last is the checkpoint notification. Each time a player goes through a checkpoint they will gain another circle indicating that they have passed through it. Once they reach the third checkpoint the run time will stop. The player can control their speed with the left trigger decreasing their speed and the right trigger increasing it. The right sticks will move the player in the direction that they choose by rotating it left or right.
How we built it
We built this project inside of Unity with C#/.NET framework and the Oculus Integration for VR all of our scripts and utilized the Unity asset store to provide texture, terrains, and models. Once having in all of the essentials of the scene from the asset store we configured them on Unity adding the appropriate components to each. Then we created script files that are specific to our game that can be used to move the ship around, update the checkpoint system, report the player their velocity, and update the UI for things like starting count down and the run timmer. We also created our own sound effect by editing the noise of a fly buzzing around to sound like a spaceship flying.
Challenges we ran into
Due to size limitations we could not submit our project to Github We ran into the challenge was the original terrain that we selected was incompatible with our version of Unity. This leads us to completely redo the project due to the number of errors received from the package. We then used the High Definition Resolution Package (HDRP) to help create the new materials for our new terrain. Another issue that we ran into was figuring out how to get the spaceship to move. The issue was that if you moved our head the spaceship would turn instead of with the stick. We then fixed this by changing its location in the hierarchy of the project. After this was fixed we then ran into the issue of the ship not wanting to turn or constantly moving in one direction no matter where you are looking or moving the stick. We fixed this by editing the values inside of the OVR player controller script to allow for rotation with the joysticks and the amount of rotation to 3 with everything else set to 0. The other issue we ran into was getting the checkpoint system to work. Originally we had three different box colliders that the ship (who is a trigger) would go through and then count as a checkpoint. However, this would only work for either the first or last checkpoint that the player went through. We then decided to use one box collider that would then move to the new checkpoint after you passed through the first one.
Accomplishments that we're proud of
Working effectively in a team of two using partner programing and delegating tasks to get this project completed within the time frame. The next is integrating the OVR (Oculus integration) seamlessly with Unity that allows for users to feel as though they are driving a spaceship. While also not making the user feel motion sick at the speeds at which they are traveling. We are proud of how smoothly you can fly around in this 4K extraterrestrial terrain. It looks absolutely stunning that sublimity acts as a guide to move the user along to the finish line. We are proud of getting the checkpoint system to work as it was a major part of our project. With that, it would not be doable without the locomotion and being able to halt, speed up, and move your ship. As well as, our custom smoothing script for the user to turn without it shaping to location and feeling sick with quick turns. The final thing is turning the sound of a housefly into sounding like a spaceship flying around on the ground. We are both proud of the amount of work that was accomplished in the short amount of time we had. A project like this would take us at least a week to accomplish.
What we learned
We learned how to write a smoothing script inside of Unity that works with the Oculus controller. While also how to delegate tasks that best suit our abilities. This was especially useful in getting our project completed in time. We learned how to use the locomotion or movement inside of unity and how to call OVR controllers in C# to make them responsive to action in the game. We learned how to work with HDRP materials. We also learned how to make the OVR camera rig be stationary inside of a cockpit while the spaceship is moving throughout the world.
What's next for VR Space Racing
The next step for our project is to add in multiple levels as well as, multiple ship options. While also making the UI more interactive and integrating a menu system. The future integration of AI racers will serve as competition for the player.
Built With
- .net
- adobe
- audition
- c#
- oculus
- oculus-gear-vr
- unity
Log in or sign up for Devpost to join the conversation.