← Урок: таксономия нетокода/Лаба: лаг и предсказание
EN
Lab · потрогать руками

Симулятор лага и предсказания

Один и тот же аватар, один и тот же пинг — но три модели нетокода прячут задержку по-разному. Серое кольцо — где ты на самом деле жмёшь (нулевая задержка). Цветной кружок — что показывает выбранная модель. Смотри на зазор между ними: наивный отстаёт на весь RTT, предсказание держится рядом (но дёргается при потерях), локстеп отстаёт ровно и без рывков (но замерзает при потерях).
🏠 эксперимент~10 мин
Как пользоваться
Аватар сам ходит влево-вправо (или жми ◀ ▶, выключив «авто»). Выбери модель вверху. Подними пинг — у «наивного» зазор растёт на весь RTT, у «предсказания» аватар остаётся под кольцом, у «локстепа» появляется ровный отступ (input delay). Подними потери пакетов — «предсказание» начнёт дёргаться (rubber-band: сервер и клиент разошлись), «локстеп» начнёт замерзать (ждём ретрансмита ввода), «наивный» — и лаг, и рывки.
где жмёшь (0 мс) что показывает модель сервер (авторитет)
Что заметить: 1) при потерях 0% переключи «наивный» → «предсказание» на одном пинге: зазор с кольцом исчезает (свой ввод применяется сразу), но это не магия — цена в п.3. 2) «локстеп»: зазор возвращается, но ровный и без рывков — это input delay, и его чувствуешь всегда. 3) подними потери до 15–25%: «предсказание» дёргается (rubber-band — сервер пропустил часть ввода), «локстеп» замирает рывками (вся симуляция ждёт ввод), «наивный» совмещает лаг и рывки.
🏠 Что дальше
Вернись в урок — таблицу «три модели рядом» и блок «🔧 Запусти и поковыряй»: подними реальный сетевой сэмпл в Godot (MultiplayerSynchronizer) и роллбэк-плагин (GGRS), включи искусственный лаг — и увидишь те же три сигнатуры на настоящем движке. Третью модель вглубь — в уроке роллбэк (GGPO).
Связи
из урока
Таксономия нетокода — теория трёх моделей: что кладём на провод (состояние/команды/ввод), стоимость канала и стоимость задержки.
пример
Клиент-предсказание — первая модель вглубь: prediction + reconciliation + lag-comp в QuakeWorld/Source.
Что заметить по итогу (чеклист наблюдений)