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 trackers that work with their base stations using radio frequencies instead of optical tracking, 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.
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 want to use other VR systems - those powered by smartphones, for example.
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 and Luxembourg with more cities to come.
«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