Adjusting games to hardware is common. First, the equipment appears, then the software. But if the game is becoming quite popular, equipment manufacturers can go to meet the masses and customize it for a specific request. It happened with SteamVR and Beat Saber.
Beat Saber has become a real challenge for controller tracking systems, especially when it has gained popularity. This is not a shooter or fencing simulator, but in BS you need to be very fast and accurate, for these requirements the arcade will easily surpass other genres.
In a recent update to the beta version of SteamVR (which will soon be deployed to the main SteamVR branch), the following suggestion appears in the list of changes:
Extending the limits of what we thought was fundamentally possible for controller motion was based on tracking data from Beat Saber experts.
It seemed like a joke, but Valve developer Ben Jackson clarified some of the details in the comments:
The tracking system has internal health checks to determine when something goes wrong. For example, if our mathematics says that you are behind your only base station, it is obvious that we made a mistake, because we would not receive any signal from the base station. One of these checks is related to how quickly, as we thought, someone can physically turn his wrist. It turns out that a properly motivated person using a sufficiently light controller can move faster (3600 degrees per second!) Than expected.
This means that Valve has built into the tracking platform code a number of assumptions to identify clearly erroneous data: for example, the controller is told about the error, which turns too fast. However, it seems that one of the assumptions was too low for the Beat Saber players. Valve hurried to fix it.
The reasons why Beat Saber was able to push the boundaries of tracking in SteamVR are not only in the maximum speed of the hands, but also in sudden changes in acceleration when the players move the controllers in different directions.
Most controller tracking systems use two tracking methods and combine them together. The first is an inertial sensor inside each controller that detects rotation and acceleration with low latency and high frequency. His problem is that such sensors are prone to “drift”, so they can not be relied on 100%. Here another method is useful: in the case of SteamVR, these are external “base stations”, which are used to determine the absolute position and rotation of the tracked object and to correct the drift of the inertial sensor. However, the base stations cycle relatively (about 100 Hz versus 1000 Hz at the sensor), and until the next correction, the entire tracking depends on inertia.
In many cases, the prediction helps to track between corrections, which uses the preceding data to create a model of the future position. Slow motion or drawing predictable arcs in the air works well. But Beat Saber has become a real nightmare of prediction, because the whole point of the game is to change the speed of the movement of the hands. It is difficult to predict what is constantly changing.
Despite the difficulties, SteamVR Tracking copes with the requirements of the Beat Saber. Valve engineers need to be pleased with the high performance they put into the system.