New movement and synchronization system
Updated movement and synchronization systems are coming in the next game update. Today we'll tell you how such an important aspect of the game was updated.
Movement is a key mechanic in shooting games, especially in online shooters, where the game processes the movements of many players in real time. It's very important that all characters' position changes happen simultaneously for all players. That's what the movement system does, and it requires permanent data exchange between the server and clients.
First of all, we'll explain how the previous system operated. The player's coordinates and their movement vector were sent by the client to the server, which "predicted" the player's further position change based on special calculations. The result of those calculations was displayed to other players, but sometimes there was a chance of discrepancy between a player's displayed and actual position.
Now there are special generated commands instead of movement coordinates and vector, and they are the same for the client and the server, which means that characters' final positions are identical for all players.
We had to make changes to many aspects of client-server interaction to make the new algorithms work. In particular, we reduced the latency between the server and the client. The changes also affected character physics. Its simulation is now equivalent on the server and the client, which significantly reduces the chance of uncounted damage.
The new movement system will help users enjoy the game on a whole new level, and will help map designers use even finer map geometry, which previously caused problems.
We hope you will appreciate these changes!
Discuss the article