Exodus Burned is a multiplayer VR game in which two to four players compete for the highest score in various immersive, full-body challenges. Each player is assigned to a physical playing area and wears a VR headset and motion capture suit in order to track them accurately in-game, all of which is communicated wirelessly with the server that runs the game.
Aside from the players themselves, Exodus Burned also sports several other "clients" that allow operators to control the game remotely on a tablet device, or for spectators to watch the game from an outside view (including VR and AR).
During my time in the project, I have made various improvements and reworks of some of the core systems, in order to pave the way for more extensive features in the future. Later on, some these refactors allowed me to expand the functionalities for the "watch" and "remote control" clients, giving the game operators more control over the state of the game, among various other QOL improvements throughout the project.
Due to the nature of the project, development had an emphasis on working together as a team, in order to test everyone's contributions and provide feedback during feature and play tests. I frequently helped orchestrate these combined tests, set up play sessions for visitors and clients, and worked together in a joint effort to track down bugs. From time to time, I worked closely with the artists in order to test and inspect their new models in VR, which has been an incredibly useful method for them to spot the smaller issues up close.
One of the main features I've worked on is a prototype for a "supplemental" player-tracking method. Although tracking issues with the VR headsets we used are extremely rare, they still have been known to happen, forcing the game operator to pause the session for recalibration. As such, the idea came to life to use another "layer" of tracking to detect and resolve these issues in real-time without requiring the operator to step in. I was tasked to realise this idea with the use of the HTC Vive Tracker. The end result was an optional client that provided all the required tracking functionality. It was designed in a way that no supervision was necessary after its first-time setup, as configurations were loaded automatically and trackers assigned dynamically. This was a very valuable and fun learning experience, that required circumventing the default SteamVR plugin and configurations and using OpenVR with various config tweaks instead.