В вашем вопросе нужно учесть много вещей:
1) Распределенный мастер - кто тогда запускает игру? где я могу найти первый узел? Что если каждый решит закрыть свой P2P-клиент одновременно? конец света?
2) Распространенные правила - кто может подтвердить, что игрок 77 из 102235 убил монстра в точке x, y, z? Я вижу БОЛЬШИЕ проблемы со взломом / мошенничеством без «командира» ...
3) Задержка - когда клиент получил все данные? что если интернет сломается? или в игре по локальной сети, что, если жесткий диск умирает - это сумасшедшая игра для всех остальных?
Я верю, что мысль P2P интересна, но, как и во всех соревнованиях, я считаю, что нам понадобится «судья», который сможет справиться с правилами, потому что, когда вы соревнуетесь с «анонимными людьми», тогда «хорошо обмануть "много думает.
Я думаю, что какой-то вид сеточных вычислений может быть способом сделать это, но, опять же, если некоторые в сетке выпадают или слишком медленны для рендеринга мира и отправки результатов обратно ... тогда у нас вся игра "отстает" "... ужасная игра для всех ... это уже наблюдается во многих играх FPS с мастер-сервером. Если сетевой протокол не слишком хорошо справляется с задержкой, становится сложнее ударить бегущего человека или он появляется из ниоткуда, стреляя вам в лицо.
Дорогое решение может заключаться в том, чтобы иметь «субсерверы» (прокси-игровые серверы), где у вас есть некоторые данные, более близкие к игрокам. Я полагаю, что для этого потребуется, чтобы у вас был доступ ко многим серверным серверам по всему миру (как это делает Blizzard с WOW), или вам придется изобрести какой-то интеллектуальный «узел P2P», который будет обновляться до «субсервера», когда пропускная способность будет достаточно большие и достаточные игроки находятся в непосредственной близости от него (всегда проверяя отставание с его точки зрения ...) ... теперь давайте скажем, что это было возможно ... что, если линия между этим субсервером и основным игровым циклом будет нарушена глобально снова?
LOL ... это может продолжаться ... это все больше и больше напоминает общую проблему с Интернетом: -)
Удачного кодирования ...!