Nowe systemy ruchu i synchronizacji
Przyjaciele!
W kolejnej aktualizacji do gry trafiają ulepszony model ruchu oraz system synchronizacji. W dzisiejszym wpisie chcielibyśmy podzielić się tym, jak zaktualizowaliśmy ten arcyważny element rozgrywki.
Szczegóły
Ruch to fundamentalna mechanika w każdej strzelance, zwłaszcza w shooterach wieloosobowych, w których gra na bieżąco przetwarza ruch wielu graczy naraz. Stąd ważnym jest, aby zmiana położenia postaci następowała jednocześnie u wszystkich graczy. Za ten aspekt odpowiada właśnie system ruchu, co wymaga z kolei nieustannej wymiany danych między serwerem a klientami.
Zacznijmy od opisania, jak działał poprzedni system. Współrzędne graczy i wektory ruchu były wysyłane przez klienta na serwer, który następnie „ustalał” kolejne zmiany w położeniu gracza, bazując na specjalnych obliczeniach. Ich wynik był wyświetlany innym graczom, ale w niektórych przypadkach skutkowało to rozbieżnością między symulowaną a faktyczną pozycją gracza.
Dotychczasowy system współrzędnych i wektorów ruchu zastąpiły specjalnie generowane polecenia, będące identycznymi dla klienta i serwera, co oznacza, że finalne położenie postaci jest identyczne dla wszystkich graczy.
Aby wdrożyć ten nowy algorytm, musieliśmy wprowadzić wiele zmian w interakcjach między klientem a serwem. Udało się nam w szczególności ograniczyć latencję między serwerem a klientem. Zmiany objęły również model fizyki postaci. Jej symulacja nie jest już różnicowana między serwerem a klientem, co istotnie redukuje potencjał nieprawidłowego przypisania obrażeń.
Przebudowany system ruchu oznacza dla graczy zupełnie nowy wymiar zabawy, pozwoli także projektantom poziomów korzystać z zaawansowanej geometrii map, która w przeszłości powodowała problemy.
Mamy nadzieję, że wprowadzone zmiany przypadną Wam do gustu!
Porozmawiaj o artykule