Inspiration

The inspiration behind PacketLoss was to give a retro and fun twist to the evil concept of losing information in-transit, thus "packet loss". Defending your precious data against evil viruses such as the data invaders and avoiding trouble with the mighty lasers coming from your blaster. The only thing on your mind is reaching the end of your ethernet cable to your PC's cat6 port, but beware, an evil super virus might await you at each level! PacketLoss is both interactive, fun, and can serve as a learning tool to the different types of threats in the digital world.

What it does

Do whatever it takes to protect your system from malicious virus attacks! You will enter the world of the ethernet as you travel in your adventure with your trusty anti-virus beam to protect your computer system from virus threats! Take on the challenge in this First Person Virtual Reality Experience!

How we built it

PacketLoss was developed with a first person perspective with VR capabilities in mind. Four students worked together on the project and were split into roles. We had a music producer who would customize tracks for the appearance of enemies, bosses, traversing through the level, and going through the start menu. Next, we had a software engineer who designed the logic behind enemy AI who would chase the player as they try to destroy their fellow viruses, their work included designing the navigation of the map and implementing physics for the player and enemy. The Asset creator would provide the software engineer with customized avatars and decorations for the environment to give it that truly retro feel. Finally, the test engineer takes all these aspects of the team members and combines them together in the simulation for debugging and testing purposes via software and hardware development.

Challenges we ran into

Setting up the simulation environment in Virtual Reality was relatively simple, however, the challenges we faced were with regards to various VR packages that customized interactivity with objects. SteamVR, OpenVR, and UnityXR are platforms that were most renowned for open source VR projects but each has a benefit and consequence. SteamVR is relatively simple to setup but requires the tedious opening of SteamVR and having to keep the application constantly open in order to develop in VR. Not only that, SteamVR is not as used anymore compared to OpenVR and UnityXR. OpenVR has similar configurations to UnityXR but its API is dedicated towards Oculus Quest applications. Although this would be beneficial four our team, considering that we used an Oculus Quest 2 platform, there was not much documentation on this API as UnityXR. UnityXR can be applied to various VR platforms, whether it be the Quest 2, HTC Vive, Windows Mixed Reality, etc. However, the API is quite difficult to setup and while there are videos on youtube documenting the process, you will begin to realize youtubers have their own implementations and there is no one right way of using the API.

Accomplishments that we're proud of

Developing a VR application isn't easy. There are considerations to be made such as the type of device that will be used, whether controls will be used for the system or hand tracking, considering what APIs would be used for the platform, and much more. This was not an easy feat but we are proud of work regarding setting up the Oculus Quest 2 in Unity to develop our video game environment. We have accomplished this task only in the first hour of the hackathon and moved on towards creating assets for the tunnel environment. Our team focused on creating a waypoint system to have the VR rig follow along to run from the viruses on a rail and shoot them down to protect the user's computer system from deadly attacks. We also created custom retro soundtracks to implement in our game world such as the start menu, encountering enemies, following along the ethernet cable till the end of the level where we come face to face with a virus boss. Again, it was not easy but our dedication to this work shows our passion for VR technology and game development.

What we learned

We learned a bunch of different new skills while creating this project. We, as a team, have very minimal experience with Unity and blender before starting the project. This meant that we spent most of the 24 learning how to use the tools and fighting against our lack of experience. The modeling for the map had to be done from scratch. This required Brock to learn how to use Blender to do do 3d modeling. Beyond the modeling, the connection to the VR headset was a challenge. These tools, while robust, are not uniform across devices and users. Alex, the VR lead, was able to sift through a significant amount of contradictory documentation to provide the team with a function VR system. These tools were new Alex at the start of this project and required many hours of learning. Armando functioned as the sound lead of this project. With a functional knowledge of Music design, Armando was able to take this role and exceed every goal post he further develop a patience and intuitiveness that is require to make a sound track that truly complements a game. Finally, Our project lead, Patrick, was able to develop a much more defined understanding of how to develop clean game functionality in the game engine. Patrick had the most experience with the combinations of these tools and because of this he was able to pull all the tools together and drive the project in the direction that ultimately led to our success.

What's next for PacketLoss

Exploring the idea of combining virtual reality and augmented reality approaches together is a fascinating concept that the team wishes to continue pursuing! As the player makes progress in the virus infested ethernet cable in the virtual reality domain, another player can spectate their progress by projecting an augmented reality overview of the map on top of their RowdyHacks badge (or anything else!). Additionally, more levels, bosses, events, interactions, and more are in the pipeline to be implemented and improved for future content. The goal we would like to aim for is to make an early-access worthy game to share with friends and the community.

Built With

Share this project:

Updates