Показать сообщение отдельно
Старый 04.05.2017, 09:42
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 8  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Цитата:
Сообщение от undefined Посмотреть сообщение
Вот только скорость пересылки данных, может отличаться на порядки у разных юзеров. Единсвенный худо-бедно надежный способ держать всех синхронизорованными - считать все на сервере.
скорость пересылки не влияет на синхронность симуляции

Добавлено через 30 минут
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Думается мне, что для динамичной игры, где действия пользователя могут опережать пинг, никакая детерминированная симуляция в принципе невозможна.
Чем-то придется жертвовать в любом случае
1) Идентичная картина = серверный просчет, и задержки на обработку
2) Быстрая обработка на клиенте = рассинхронизации
Все верно, есть три возможных требования:
1. динамика действий пользователя
2. количество изменяемых объектов
3. идентичность картинки
выберите любые два)

есть пять адекватных решения:
a. независимая симуляция ("телевизор" состояния с аппроксимацией объектов) подходит для шутеров, где малое количество объектов, идентичность картинки не важна, и динамика пересылки данных раз в 7-15 мс (Counter-Strike)
b. синхронная симуляция (детерминированная симуляция мира) подходит для стратегий, где большое количество объектов живущих своей жизнью, идентичная картинка, динамика пересылки данных раз в 250-500 мс (Age of Empires)
c. гибридная симуляция (детерминированная симуляция с аппроксимацией действий пользователя с оптимистичным выполнением и возможностью отката мира с пересимуляцией) подходит для кооперативных игр с большим количеством объектов живущих своей жизнью, большая динамика, немного другая картинка
d. авторитарный сервер подходит для игр с низкой динамикой и большим количеством объектов, например пошаговая игра
e. синхронная симуляция с масштабируемым tickrate, подходит для файтингов, где малое количество объектов с большой динамикой и важна полная синхронизация
__________________
RocketJump


Последний раз редактировалось Nooob; 04.05.2017 в 11:33.