Sutikku Opublikowano 17 Lutego 2016 Opublikowano 17 Lutego 2016 Robię sobie standardowo gierkę multiplayer i taki mam problem. Ogarnąłem już jak robić poruszanie, tak żeby wyglądało w miarę dobrze. Powtarzam ostatnio dostane komendy od serwera. Czyli jeśli ktoś szedł ostatnio w lewo, to teraz pewnie też idzie w lewo, aż nie dostanę nowego pakietu. Wtedy staram się płynnie zmieniać pozycję u klienta, na taką jaką dostałem od serwera. Ale jak to zrobić z image_angle? Postać jest zawsze zwrócona w stronę kursora. Wysyłanie ciągle image_angle, to chyba nie najlepsze wyjście. A jeśli przyjmiemy, że w grze się strzela, to byłoby dziwne gdyby ktoś zaczął strzelać plecami.
I am Lord Opublikowano 17 Lutego 2016 Opublikowano 17 Lutego 2016 Jest taki trick, zastosowany w enginie Dooma 2, który pozwala na skompresowanie kierunku tak by się zmieścił w 1 bajcie a nie 2. Po prostu kąt jest dzielony na 1.5 a potem po otrzymaniu kąta z servera mnożony przez 1.5. W kliencie zastosujesz dodatkowo interpolacje i gołym okiem nie dostrzeże się ubytku. Jak wyślesz 1 bajt po UDP to się nie nie stanie nawet jak ten bajt nie dotrze, w końcu masz interpolacje :P
Sutikku Opublikowano 17 Lutego 2016 Autor Opublikowano 17 Lutego 2016 Jest duża różnica, czy wysyłam 1 bajt, a nie 2?
Matrix_ Opublikowano 18 Lutego 2016 Opublikowano 18 Lutego 2016 Jest duża różnica, czy wysyłam 1 bajt, a nie 2? 2 razy mniej. Więc teoretycznie 2 razy szybciej się dane przetwarzaja.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się