Интересуют подходы к симуляции игрового мира на сервере.
Лирика:
Вся прочитанная литература описывает некую архитектуру авторитарного сервера.
Все расчеты проводятся на нем. Клиент только посылает команды.
Вот мне интересно, для того, чтобы иметь возможность определять, не уперся ли аватар в стену - нужно иметь на сервере всю геометрию игрового мира в виде ... каком?
Из известных мне на данный момент подходов - геометрия на примитивах.
НО. Как же сделать экспорт этого всего из движков таких, как Unreal, Unity, ...
Своя мысль по этому поводу тоже есть - держать инстанс готового мира, как на клиенте. Но в таком случае на сервере должна быть видео карта. Мысль, чувствую обладает еще той гениальностью, но всё же.
На сервере полная карта мира для контроля клиентов.
На клиентах карта мира частичная, с подгрузкой с сервера по необходимости - для картинки игроку.
Но, на клиенте мира с объектами, необходимыми для визуализации.
А на сервере структуры данных облегченные, например, BSP (или что там в Unreal), глубоко интегрированные в мир и используемые для визуализации на клиенте, - на сервере не нужны.
В идеале - это 2 совершенно по разному организованные карты/мира. Синхронизирующиеся.
На практике из экономии времени разработчиков могут держать и идентичные почти миры. Хотя это и создает приличную (ненужную) нагрузку.