Почему большинство компьютерных игр не более 16v16? - PullRequest
2 голосов
/ 30 августа 2010

С точки зрения программирования / сети, каковы причины, по которым существует очень мало / не более масштабных игр, чем 16v16?

Есть несколько игр 32v32, но они кажутся исключениями из правила.

Ответы [ 2 ]

6 голосов
/ 30 августа 2010

Проще говоря, масштабирование сложно и / или дорого , а O (n ^ 3) обычно несбыточная мечта.Для игры 2 на 2 и наивного алгоритма связи вам нужно, чтобы каждый компьютер связывался с ((2 * 2) -1) = 3 другими компьютерами (не считая какого-либо сервера-посредника соединений), который приходит к ((2 *2)! / 2) = всего 12 соединений;аналогично, для n против n проигрывателей каждый компьютер должен взаимодействовать с ((n * n) -1) компьютерами, что в целом связано с (n! / 2) подключениями.

Это довольно быстро смешно, и нужны другие подходы, такие как «все игроки общаются с центральным сервером, который предоставляет им обновления».Это немного более масштабируемо, но только до определенной степени.Вычисление состояния для 64 игроков и связь с ними (и поддержание синхронизированного состояния игры даже при кратковременных отключениях!) Не совсем просты, особенно для игр, в которых важна задержка (например, FPS).

Наличие крупных серверных ферм(с огромными каналами в сети), которые выделены и настроены для этого, могут помочь, но это дорого (это большая часть вашей подписки на WoW);если один из компьютеров игроков выполняет эту работу, лаги станут значительно более заметными - как из-за недостатка вычислительной мощности, пропускной способности и задержки.

2 голосов
/ 30 августа 2010

Полагаю, вы говорите о шутере от первого лица, поскольку MMO-игра одновременно поддерживает более 32 игроков онлайн.

С точки зрения программирования / сети, нет причин, по которым большинство компьютерных игр не превышают 16vs16.Обычный сервер может справиться с нагрузкой без проблем, и пропускная способность не будет проблемой.

Это действительно проблема игры.Игра, в которой более 32 игроков, более хаотична, чем ничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...