Pull to refresh

Comments 6

Что-то мне подсказывает, что Orleans недостаточно производительное решение для шутеров.
Я это просто по фану делаю. Настоящие игровые сервера для игр вроде шутеров имеют высокие ЦПУ баунд/Мемори баунд/Лоу латенси нагрузки. Их имеет смысл вообще на C++ или на Rust делать. Например сервер игры LOL сделан на C++. Да и вообще, иногда вообще без серверных вычислений используют решение. Каждый инстанс игры просто отправляет другим инстансам команды которые он получил. Например играют люди в какую нибудь сесионку 3 на 3. Персонаж игрока 1 сушествует на всех 6 компах одновременно. Когда он жмет кнопку огонь команда отправляется и его персонажу на его компе и остальным 5 персонажам по сети на других 5 компах. Сервер тут только проверяет на читы да собирает людей в команды. Ну да, для зашиты от читов обычно на сервере еще седьмой инстанс игры запускают помимо того что крутятся на 6 компах игроков. Ну и если человек вдруг вылетит и переподключится то он из этого инстанса текущее состояние игры получит. Тобишь вы нажимаете кнопку стрелять и информация о том что вы нажали эту кнопку отправляется 5 инстансам на компах 5 других игроков. Инстансу который запушен на вашем компе. Анти чит и резерв инстансу который крутиться на серверном компе. Вы нажали одну кнопку 7 копий вашего персонажа выстрелило. В общем в онлайн игре вообще может не быть именно игровых вычислений на сервере.
Послежу за продолжением. Пока смотриться интересно для кейса с тяжёлыми тасками связанными в цепочки, для шутера пока плохо представляю архитектуру.
Тем не менее вот здесь есть информация что его используют для Halo 4
В Quake Champignons тоже использовали, но для матчмейкинга.

Его не для игровой механики используют, а для всей обвязки вокруг. Хотя для MMO RPG игр подобная архитектура используется и для самого игрового мира. Для сессионных же всё, что не касается самого боя: авторизация, биллинг, матчмейкинг, состояние игрока и куча другой обвязки (ачивки, квесты, чат, соц связи, ивенты, нотификации, магазин и т.п.)

Sign up to leave a comment.

Articles