Możesz zrobić kilka rzeczy.
Możesz scentralizować wszystkie obiekty fizyki na serwerze i zsynchronizować współrzędne z obiektami graczy na wszystkich klientach. Jest to najłatwiejszy i działa bez wielu wad, jednak zużywa dużo zasobów i wymaga dużej przepustowości. Możesz zoptymalizować wykorzystanie przepustowości, wysyłając tylko wartości do odtwarzacza innych graczy, które znajdują się w określonym promieniu.
Możesz zrobić, jak wspomniano Neenster, a serwer i klienci symulują fizykę, co jakiś czas serwer będzie poprawiał klientów. Oznacza to, że wszyscy klienci obliczają własną fizykę dla każdego gracza, a Ty zsynchronizujesz naciśnięcia klawiszy na serwerze, podając trajektorię każdego gracza na każdym kliencie. Co powiedzmy, 5 sekund, serwer rozgłasza swoją symulację fizyki i wszyscy klienci akceptują zmianę. Może to powodować niewielkie przesunięcia, które są niezauważalne przez większość czasu, ale podczas opóźnienia sieci i utraty pakietów (nieuniknione przy dużym ruchu UDP) zauważysz, że Twój odtwarzacz i / lub inni gracze migają wokół ekranu i szybko zmieniają pozycję. słowo?).
Możesz poprosić każdego klienta o obliczenie własnej fizyki i zsynchronizowanie jego współrzędnych. Utrudnia to symulację fizyki obiektów współdzielonych przez klientów. Jest to dość złożona koncepcja do wdrożenia, jeśli chcesz zrobić coś sprytnego, ponieważ określony obiekt niekoniecznie należy do żadnego klienta.
Pierwszy jest prawdopodobnie najłatwiejszy i powinien pozwolić ci mieć około 4-5 graczy z niewielkim opóźnieniem. Wymagałoby to, aby każde dopasowanie miało własny serwer. Jeśli robisz mecze w sieci LAN, jest to dobra droga.
Drugi jest prawdopodobnie najbardziej praktyczny, jednak może być trudny do wdrożenia. Uruchamianie symulacji fizyki na serwerze jest również bardzo przydatne. Jeśli masz scentralizowane serwery, prawdopodobnie będziesz musiał załadować saldo na kilka komputerów, być może pozwolić na 10 dopasowań na serwer, załadować nowe dopasowania na serwer z najmniejszymi dopasowaniami.
Trzeci jest zdecydowanie najmniej stresujący na serwerze i jest prawdopodobnie najlepszym rozwiązaniem, jeśli wykonujesz schemat sieci peer to peer. Jak wspomniałem, synchronizacja obiektów innych niż obiekt odtwarzacza może być trudna, ponieważ obiekty te mogą być modyfikowane także przez innych klientów.
Nie mogę ci powiedzieć, którego użyć, ponieważ nie wiem, jak działa twoja gra. Mogę tylko podać fakty. W razie jakichkolwiek pytań prosimy o komentarz.