Ich bin ein Neuling in der Spieleentwicklung und habe über Multiplayer-Spiele recherchiert. Ich habe festgestellt, dass es immer eine gewisse Latenz gibt und die Spieler immer Updates von früheren Aktionen erhalten. Es gibt jedoch Techniken wie Dead Reckoning, um die Latenz zu bewältigen. Ich kann die Bewegung vorhersagen und Bewegungen reibungslos machen. Aber wie würde ich Aktionen wie Springen, Anhalten des Gehens usw. synchronisieren?
Angenommen, Client A bewegte sich, er befand sich um 10,2 Uhr mit einer Geschwindigkeit von 100 m / s auf 100 m und sendete diese Informationen. Client B würde diese Informationen etwas später erhalten, sei es 10.4. Bei Client B kann ich also Vorhersage verwenden und Client A auf 120 m platzieren. Was aber, wenn der Kunde um 10.3 Uhr einen Sprung auf 110 m machte? Ich kann das nicht vorhersagen und da ich Vorhersage verwendet habe, kann ich Client A keinen Sprung in die Vergangenheit zeigen.
Ich kann dieses Problem lösen, indem ich überhaupt keine Sprungaktion sende. Aber was ist, wenn mein Spiel einige Lücken hat, in denen Spieler fallen und sterben können? Wenn ich also keine Sprungaktionen synchronisiere, werden andere Spieler feststellen, dass ein Spieler lief, dann fällt er ins Leere und erscheint erneut auf dem Bildschirm, wodurch das visuelle Engagement zerstört wird.
Sprung ist nur ein Beispiel, es kann viele Szenarien geben, in denen Vorhersage nicht funktionieren kann. Also, wie gehe ich mit ihnen um? Ein solches Beispiel können Multiplayer Online-Kampfarenaspiele wie Awesomenauts sein.