Ich möchte den Status während des Spiels serialisieren, ihn über das Netzwerk an einen identischen Computer senden (dieselbe CPU, dasselbe Betriebssystem, dieselbe Binärdatei), ihn dort laden und die beiden Spiele zusammen ausführen lassen, wobei genau dieselbe Simulation ohne eines ausgeführt wird von ihnen abdriften und drunter und drüber gehen.
Kurz gesagt: Ich möchte Pop-In- und Pop-Out-Netzwerkunterstützung für mein hochphysikintensives Spiel, bei dem das Senden von Objektkoordinaten alle paar Sekunden unmöglich ist, da Tausende von Objekten und viele Clients vorhanden sind.
Ich habe dies mit Box2D versucht, und das Speichern der Position / Geschwindigkeit / usw. eines Objekts war nicht genug ... es gibt einen internen Status, auf den über keine öffentlichen Methoden zugegriffen werden kann.
Meine derzeitige Problemumgehung besteht darin, JEDEN Client zu zwingen, seinen gesamten Weltzustand zu speichern und ihn von Grund auf neu zu laden, wenn ein neuer Spieler eine Verbindung herstellt. Dies ist jedoch offensichtlich eine schlechte Vorgehensweise, da das Spiel für alle Spieler hängt, wenn eine neue Verbindung hergestellt wird. Es funktioniert jedoch ohne Desynchronisation.
Kennt jemand andere Techniken, die mir helfen können? Oder sollte ich mein Projekt einfach zum Abschied küssen?