Wir machen einen Multiplikator-Ego-Shooter. Der Client sendet seine Position mit einer festen Rate (derzeit 10 Hz) an den Server. Der Server sendet eine einzelne Nachricht, die die Positionen aller Spieler mit derselben Rate (10 Hz) an alle Spieler enthält.
Wie erwartet ist die Bewegung ziemlich unruhig, da das 60-fps-Spiel nur 10-mal pro Sekunde Updates erhält. Was ist der beste Weg, um diese Bewegung zu glätten? Der naheliegendste Weg wäre, zwischen den letzten beiden Paketen zu interpolieren, sodass die Interpolation endet, sobald wir ein neues Paket erhalten. Dies führt jedoch zu einer sofortigen Verzögerung von 100 ms für alle Spieler.
Die andere Möglichkeit wäre, die Geschwindigkeit und Beschleunigung der letzten Pakete zu verwenden, um vorherzusagen, wo sich der Spieler befindet, bevor das nächste Paket eintrifft. Wenn jedoch die Vorhersage falsch ist, würde der Spieler dazu neigen, zu springen, sobald ein neues Paket empfangen wird .
Weiß jemand, wie AAA-Titel dieses Problem lösen?
quelle