TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.63K subscribers
Post #2060 967
Как убрать задержку управления с помощью предсказания на клиенте

При авторитетном сервере команда проходит до сервера и обратно, прежде чем игрок увидит движение. Предсказание на клиенте убирает эту паузу: клиент сразу применяет ввод локально, а сервер по-прежнему определяет истинное состояние мира.

Сложность начинается, когда ответ приходит после нескольких команд. Клиент присваивает каждой порядковый номер, а сервер возвращает номер последней обработанной. Получив ответ, клиент принимает состояние сервера, удаляет подтверждённые команды и заново применяет ещё не обработанные. Так персонаж не прыгает назад из-за запоздалого снимка мира.

В разборе Габриэля Гамбетты есть схемы с задержкой 100 и 250 мс и важная граница: эффект атаки можно показать сразу, но здоровье противника лучше менять только после ответа сервера.
  • 👍 1
More from @make_game
  1. Sep 20, 2026Как собрать редактируемую 2D-карту в Unity с Marching Squares Туториал начинает с сетки яч…
  2. Sep 20, 2026Как пространственное разбиение ускоряет поиск соседей в игровом мире В стратегии реального…
  3. Sep 20, 2026Как построить кубическую сферу в Unity без скопления вершин у полюсов У обычной UV-сферы в…
  4. Sep 19, 2026Зачем игровому движку очередь событий Прямой вызов playSound() блокирует меню, пока аудиод…
  5. Sep 19, 2026Как разделить код теней в собственном конвейере рендеринга Unity Custom SRP 7.1.0 для Unit…
  6. Sep 19, 2026Как численное интегрирование двигает объекты в игровой физике Физический цикл не вычисляет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →