Update 9.16 includes optimisation of the visibility system, which is an important component of the game. Now, spotted vehicles will be displayed much quicker on screen – the difference will be particularly noticeable when spotting enemy vehicles at a distance of more than 300 metres.
In this article, we will explain how we managed to achieve such a result, and how it will affect the game.
Vehicles that spot enemies from a long distance will have a little more time to make a shot right after spotting an enemy vehicle.
Spotted vehicles will have a harder time crossing short, open areas, since they will be immediately displayed on the screens of their opponents. They will have to either perform active manoeuvres to make it difficult for the enemy to target them or choose a different route.
Achieving this improvement to the spotting system required solving two problems: firstly, how to rework the server calculations and, secondly, how to speed up the display of spotted vehicles in the game client.
Our server programmers re-wrote the visibility-system code, keeping all previous operating rules. The transfer to a more effective programming language allowed them to reduce the server load and increase the performance of the visibility system. In other words, the system started working more effectively while using the same rules and consuming less resources.
The interval between visibility checks depends on their distance: checks are more frequent at a short distance, and as the distance increases the interval increases as well. The optimisation performed allowed us to increase the number of visibility checks two-fold at nearer distances and adds additional simplified checks for further distances, leading to a three-fold increase in the total number of visibility checks in comparison with the previous version. The increased frequency of visibility checks in turn allows us to reduce the delay when displaying spotted vehicles.
Client-related improvements have saved about 60–70% of the time required to render a vehicle model. Now, when entering a battle, the vehicle models and map objects are all loaded in together. This solution allowed us to reduce the rendering time upon spotting as well as the possibility of “freezes” when enemy vehicles are spotted.