Robimy multiplayerową strzelankę FPS. Klient wysyła swoją pozycję do serwera ze stałą szybkością (obecnie 10 Hz). Serwer wysyła pojedynczy komunikat o wszystkich pozycjach gracza do wszystkich graczy w tym samym tempie (10 Hz).
Zgodnie z oczekiwaniami ruch jest dość niepewny, ponieważ gra 60 klatek na sekundę otrzymuje aktualizacje tylko 10 razy na sekundę. Jaki jest najlepszy sposób na wygładzenie tego ruchu? Najbardziej oczywistym sposobem byłaby interpolacja między dwoma ostatnimi pakietami, aby interpolacja zakończyła się, gdy otrzymujemy nowy pakiet. Dodaje to jednak natychmiastowe opóźnienie 100 ms dla wszystkich graczy.
Innym sposobem byłoby użycie prędkości i przyspieszenia uzyskanych z kilku ostatnich pakietów, aby przewidzieć, gdzie znajduje się gracz przed nadejściem następnego pakietu, jednak jeśli prognoza jest błędna, gracz skacze, gdy tylko otrzyma nowy pakiet .
Czy ktoś wie, jak tytuły AAA rozwiązują ten problem?
źródło