Ми робимо багаторазовий шутер від першої особи. Клієнт відправляє свою позицію серверу з фіксованою швидкістю (зараз на 10 Гц). Сервер надсилає одне повідомлення, що контактує з усіма позиціями гравця, всім гравцям з однаковою швидкістю (10 ГГц).
Як і очікувалося, рух досить спритний, оскільки гра в 60 кадрів в секунду отримує оновлення лише 10 разів на секунду. Який найкращий спосіб згладити цей рух? Найбільш очевидним способом було б інтерполяцію між останніми двома пакетами, щоб інтерполяція закінчилася, коли ми отримаємо новий пакет. Але це додає миттєвої затримки 100 мс для всіх гравців.
Інший спосіб полягає у використанні швидкості та прискорення, виведених з останніх кількох пакетів, щоб передбачити, де знаходиться гравець до прибуття наступного пакету, однак, якщо прогноз неправильний, гравець, як правило, стрибне, як тільки отримає новий пакет. .
Хтось знає, як титули AAA вирішують цю проблему?