Я читаю архитектуру многопользовательских игр.
Пока что большинство статей, которые я нашел, имеют дело с моделью клиент-сервер.
Я хотел бы знать, каковы ограничения для использования архитектуры p2p? Какой «класс» игр можно (или чаще) реализовать с его помощью? которые не? и в целом, каковы его основные отличия и ограничения от модели клиент-сервер.
Ответы:
Вот мои два цента:
P2P :
Сервер-Клиент :
Я бы посчитал P2P хорошим выбором, потому что среднее интернет-соединение становится все лучше и лучше, в будущем задержка P2P может вообще не быть проблемой. Также многое о P2P зависит от конкретной реализации.
Есть также некоторые архитектуры, которые объединяют P2P с сервером-клиентом.
источник
Большой риск одноранговых игр заключается в том, что без центрального органа в форме нейтрального сервера невозможно предотвратить мошенничество. Каждый клиент может интерпретировать результат игры так, как он хочет. Некоторые игры объявляют одного из клиентов хостом и позволяют ему быть судьей, но когда этот клиент является мошенником, они решают исход всей игры.
В играх, в которых требуется низкая задержка и высокая пропускная способность, как в любой игре, требующей быстрой реакции игроков, у вас также возникает проблема, заключающаяся в том, что хост просто использует интернет-соединение потребительского уровня, а не сидит в центре обработки данных с высокопроизводительной магистралью. подключение. Это означает, что пользовательский опыт пострадает. Это не такая большая проблема в более стратегически ориентированных, «медленных» играх.
источник
Реализация одноранговых многопользовательских игр не легка и не применима в данный момент.
Проблема, с которой вы столкнулись, состоит в том, что ни один из пиров не знает всех остальных пиров, поэтому у вас есть несколько прыжков для каждого сообщения, что приводит к более высокой задержке по сравнению с моделью клиент-сервер. Смотрите эту статью для получения дополнительной информации.
Круглые игры могут легко использовать такой протокол, так как они не зависят так сильно от времени ожидания. Кроме того, они обычно имеют только несколько хостов в сеансе, чтобы можно было передавать каждое сообщение всем остальным игрокам.
Другие игры, в которых используется одноранговая сеть, просто динамически выбирают одну из Peers для размещения игры (например, CoD MW2), что приводит к таким проблемам, как миграция хоста, если хост отключается.
источник