Ich erstelle ein Plattformspiel mit einer "kooperativen" Funktion, die ich gerne über Netzwerke / das Internet nutzen würde.
Jetzt habe ich mich mit der Programmierung von Netzwerkspielen vertraut gemacht, einschließlich Artikeln wie Was jeder Programmierer über Netzwerkspiele wissen muss, und daher verstehe ich den Unterschied zwischen Techniken wie Peer-to-Peer-Lockstep und Server-Client-Vorhersagearchitekturen:
- Ich bin zu dem Schluss gekommen, dass für alle Echtzeitspiele, die über das Internet gespielt werden, Peer-to-Peer-Lockstep einfach keine Option ist.
- Ich bin auch besorgt, dass selbst für einen Plattformer eine einfache Client-Server-Architektur (ohne irgendeine Art von Client-Vorhersage) aufgrund der Verzögerung zwischen Aktion und Reaktion, die durch einen Roundtrip zu einem Server verursacht wird, zu einem verschlechterten Gameplay führen würde. (Allerdings möchte ich die Notwendigkeit eines zentralen Servers beseitigen, sodass nur einer der Spieler, der Client, diese Verzögerung tatsächlich erlebt.)
Dies lässt die Prognosen der Kunden zu, aber selbst für ein einfaches Spiel wie ein Plattformer klingt dies immer noch ziemlich komplex.
Wie würde ich vorgehen, um ein funktionierendes Client-Vorhersage-System für ein Multiplayer-Plattformspiel zu erstellen?