Sie können verschiedene Dinge tun.
Sie können alle physischen Objekte auf dem Server zentralisieren und die Koordinaten mit den Objekten des Spielers auf allen Clients synchronisieren. Dies ist die einfachste und funktioniert ohne viele Mängel. Sie verbraucht jedoch viel Ressourcen und benötigt viel Bandbreite. Sie können die Bandbreitennutzung optimieren, indem Sie nur Werte an den Player anderer Player senden, die sich in einem bestimmten Umkreis befinden.
Sie können wie von Neenster erwähnt vorgehen und den Server und die Clients die Physik simulieren lassen. Von Zeit zu Zeit korrigiert der Server die Clients. Dies bedeutet, dass alle Clients für jeden Spieler ihre eigene Physik berechnen und Sie Tastendruckereignisse über den Server synchronisieren, um die Flugbahn jedes Spielers auf jedem Client zu ermitteln. Alle 5 Sekunden sendet der Server seine Physiksimulation und alle Clients akzeptieren die Änderung. Dies kann zu geringfügigen Abweichungen führen, die in den meisten Fällen nicht bemerkt werden. Bei Netzwerkverzögerungen und Paketverlusten (unvermeidlich bei starkem UDP-Datenverkehr) werden Sie jedoch feststellen, dass Ihr Player und / oder andere Player auf dem Bildschirm herumhüpfen und ihre Position schnell und unruhig ändern (ist dies ein Problem) Wort?).
Jeder Client kann seine eigene Physik berechnen und seine Koordinaten synchronisieren. Dies macht es schwierig, die Physik von Objekten zu simulieren, die von Clients gemeinsam genutzt werden. Es ist ein ziemlich komplexes Konzept, das implementiert werden muss, wenn Sie etwas pfiffiges tun möchten, da bestimmte Objekte nicht unbedingt zu einem Client gehören.
Der erste ist wahrscheinlich der einfachste und sollte Ihnen erlauben, ungefähr 4-5 Spieler mit wenig Verzögerung zu haben. Es würde erfordern, dass jedes Match einen eigenen Server hat. Wenn Sie LAN-Übereinstimmungen machen, ist dies zweifellos der richtige Weg.
Die zweite ist wahrscheinlich die praktischste, kann jedoch schwierig zu implementieren sein. Es ist auch ziemlich einfallsreich, Physiksimulationen auf dem Server auszuführen. Wenn Sie zentralisierte Server haben, müssen Sie wahrscheinlich den Lastausgleich auf mehrere Computer durchführen, möglicherweise 10 Übereinstimmungen mit einem Server zulassen und neue Übereinstimmungen auf den Server mit den geringsten Übereinstimmungen laden.
Der dritte ist definitiv der am wenigsten belastende auf dem Server und ist wahrscheinlich die beste Lösung, wenn Sie ein Peer-to-Peer-Netzwerkschema durchführen. Wie bereits erwähnt, kann es schwierig sein, andere Objekte als Ihr Player-Objekt zu synchronisieren, da diese Objekte auch von anderen Clients geändert werden können.
Ich kann dir nicht sagen, welches du verwenden sollst, weil ich nicht weiß, wie dein Spiel funktioniert. Ich kann Ihnen nur die Fakten geben. Wenn Sie weitere Fragen haben, können Sie diese gerne kommentieren.