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