At Exyte we like to experiment with new technologies and concepts, trying new exciting ones out as soon as possible. Such was the case with the HTC Vive we purchased when it became publicly available, and our new VR development started building prototypes and in-house projects.
However, when we were confident in our expertise, we decided to look for someone who had an interesting idea for a VR project, and that’s when we found Time Quest Lab.
Time Quest Lab is the biggest escape room company in our city. They were looking to extend their business to something beyond real-life escape room quests and decided to try out cooperative VR gaming. After being contacted, we first spent two month creating a short 5 minute proof-of-concept demo with them, which was shown on a VR conference. After a positive reception, we decided to create a fully immersive multiplayer game.
For our first project we chose to create a multiplayer VR shooter where players would not be restrained by the headsets cord and could interact with objects naturally, without controllers.
We wanted to have a game where users could freely move in the available area, use realistic weapons and interact with real life objects like levers and buttons. The game must be easy to set up and configure, while being cheaper than other available solutions.
Developing any game is a challenge, especially a multiplayer one. However, when you add VR to the mix, you get a number of unique challenges with no time-tested solutions. Here are some of the things our team had to figure out:
Choosing the Hardware
Our goal was to let the users move freely, which means there can’t be a cord dangling from the headset. Almost all available VR systems have a cord, and the wireless ones have a limit on the number of players in the area. Our solution was employing a wearable computer in a form of a backpack.
HTC VIVE PRO was a natural choice for the VR system - we already had experience with it and it’s still one of the most popular VR solutions. HTC also provides special active optical trackers that work with their base stations, which turned out to be a much more precise and cheap alternative.
Body and Items Tracking and Positioning
Body tracking is one of the biggest issues with existing multiplayer VR solutions. The usual approach of using optical sensors does not produce optimal results - the resulting animation has unnatural jumpiness and glitches, breaking the immersion. Luckily, VIVE Trackers turned out to be just what we needed - lightweight, precise devices that eliminated sudden signal loss and subsequent visual glitches.
There was a significant amount of math and programming involved in figuring out the exact location and positioning of a virtual object depending on the tracker data, but we were absolutely satisfied by the end result.
We decided to implement our own client-server system for the multiplayer aspect of the game. The server would be responsible for client synchronization, configuring and launching the game, as well as processing events from the game props (levers, buttons and other interactive elements).
Unexpected issues arose during this part of development, mostly with background processes and power saving in Windows - it could decide to go to sleep while the daemon was running. Many issues could not be predicted and were caught and fixed during development and gameplay.
Another thing that was added during development was the ability to monitor the state of the equipment and control it remotely. It turned out the hardware desynchronization is a rare, but inevitable problem that has to be fixed on the fly by the game administrators. Now they can check the statuses of all the trackers and computers and restart or recalibrate the hardware on the server.
There is a number of limitations to the chosen hardware and software. Some were compromises, while others are something to be solved at a later date. For one, while the precision and price of VIVE Trackers are a plus, they require the gaming area to be fully observed by the base stations (for example, placing walls requires more work and testing than other systems). We thought that it’s a problem that can be solved by skillful game design.
An example of an issue to be solved at a later date is game performance. The computers used now have a big performance margin, but ideally we wanted to use other VR systems - those powered by mobile devices, for example.
Wireless PvP VR Shooter
As a way to work around the hardware limitations and provide a diverse VR experience, we decided to create a wireless Player vs Player game. It would have to have simpler graphics and carefully thought-through mechanics to accommodate multiple players battling each other within a restricted space - it must be possible to run in the same physical space as the original game.
We chose Oculus Quest as the VR headset for this project. Released in May of 2019, it runs on a Snapdragon 835 chip with 4 GB of RAM, which is plenty for a simpler First Person Shooter game. The main problem turned out to be synchronizing the coordinate system between all the players, as a single degree divergence can escalate into a significant positioning error. For now, we calibrate each headset one after the other by placing them in the exact same point in space in a custom 3D-printed holder, which we count as the origin of the coordinates.
The game is already playable, but is still being improved and polished to make sure navigation in the shared space is interesting, intuitive and safe for the players. We plan to release it by the end of 2019, so stay tuned!
Results and project’s future
The first playable version came around quickly, and was regularly improved and polished. Some features were added after brainstorming sessions, and even additional hardware was introduced - for example, a tactile vest that can imitate shots and hits.
Meanwhile, a script was written for the first game on our platform, and appropriate models and animations were added. All of this resulted in a sizeable amount of pre-sales.
In 2019, the very first location was opened in our home city of Novosibirsk. It helped iron out the launching and setup procedures, and currently The Deep can be experienced in Novosibirsk, Saratov, Luxembourg and Santa Barbara. Meanwhile, some places are in the final stages of launching - Kazan, Sydney, Mumbai and Charlotte, with other cities on their way.
«Exyte met our standards with price, quality, and deadlines. We trusted them and knew they’d be the right partner for the project.»Read more on Clutch