TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.63K subscribers
Post #2070 858
Как синхронизировать физику сотен объектов и экономить трафик

При синхронизации состояния симуляция идёт на обеих сторонах, а по сети передают команды игрока и состояние лишь части объектов. Между пакетами объекты движутся по последним координатам и скоростям. В примере с 901 кубом пакет содержит до 64 обновлений.

Накопитель приоритета чаще выбирает активные объекты, но счёт остальных растёт каждый кадр. Не поместившееся обновление сохраняет приоритет до следующей отправки.

На приёмнике буфер задерживает пакеты на 4–5 кадров при 60 Гц и выдаёт их равномерно. При сжатии всё состояние округляют до сетевой точности на обеих сторонах перед каждым шагом симуляции: иначе расхождение координат вызывает рывки.

В статье Gaffer On Games разобраны структура пакета, приоритеты и расчёт под лимит 256 кбит/с.
  • ❤ 2
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 →