Gry multiplayer - Jak działają
Ostatnio zmodyfikowano 2015-06-18 19:06
ShockwaverPL Temat założony przez niniejszego użytkownika |
Gry multiplayer - Jak działają » 2015-06-15 18:19:52 Witam. Chodzi mi o to na czym polega system działania gier internetowych. Wiem że jest klient -> server, server -> wszystkich klientów. Mam zrobione tak, ze są dwie pętle - jedna wysyła co 0.17s, a druga odbiera jak tylko może pakiety. I nie zawsze ping jest takie sam, to wiadome, ale podczas gdy jest opóźnienie np o 20ms większe niż było, to postać się po prostu teleportuje. Jak zrobić takie jakby "zamaskowanie" tego, żeby pozycja szła prostoliniowo, nic sie nie teleportowało przy normalnym pingu 30-70. Bo ja rozumiem lagi to ok, ale nie płynnie chodzi strasznie. W pakiecie mam x oraz y postaci. |
|
akwes |
» 2015-06-15 18:33:44 Nie zawsze musisz czekać na odpowiedź od serwera. Ruch możesz wykonać od razu u klienta oraz wysłać na serwer, w momencie gdy dane zaczną się rozjeżdżać to wtedy wysyłasz z serwera komunikat o nadpisaniu pozycji gracza u klienta. Przy mądrej polityce wykrywania nad użyć możesz spokojnie poudawać płynność.
|
|
DejaVu |
» 2015-06-15 19:18:00 Poczytaj o interpolacji liniowej położenia obiektu. |
|
ShockwaverPL Temat założony przez niniejszego użytkownika |
» 2015-06-15 19:32:46 awkwes nie czekam na odbiur pakietu, gra cały czas chodzi i poruszam się, ale gdy odbieram pozycje innego gracza, to się "tnie". DeJaVu poczytam o tym. |
|
ShockwaverPL Temat założony przez niniejszego użytkownika |
» 2015-06-17 16:01:17 No dobra, ta interpolacja liniowa działa, a nie wiecie czasem co jaki czas server i klient maja wysyłac informacje? Przy odbiorze, co 0.040s, czy jakoś inaczej? |
|
DejaVu |
» 2015-06-18 19:06:49 Takie rzeczy dobiera się eksperymentalnie. |
|
« 1 » |