одноранговая многопользовательская игра с xmpp - PullRequest
1 голос
/ 25 октября 2010

Я довольно новичок в многопользовательских играх. Я сделал несколько для собственного удовольствия, но ничего глубокого.

В любом случае, я хочу сделать игру, которая будет очень кроссплатформенной. Клиенты будут связаны со своими учетными записями в Facebook на устройствах, для которых я выпускаю игру (скорее всего, на компьютерах (через флэш-память), iPhone и Android). Я сольный разработчик с ограниченным бюджетом (на самом деле больше похоже на отсутствие бюджета). Итак, я хочу сделать игру с одноранговой связью. Я хотел бы избежать использования установки клиент / сервер из-за стоимости обслуживания сервера. Проблема, с которой я сталкиваюсь, заключается в том, что нет возможности подключить одноранговые узлы через Интернет, и игра не предназначена для игры через локальный Wi-Fi.

Итак, у меня есть идея. Могу ли я использовать встроенный в Facebook чат xmpp для отправки многопользовательской игры через Интернет? У меня есть глава xmpp, которая раньше использовалась для многопользовательских игр. У кого-нибудь есть другие идеи? Я понимаю, что xmpp может быть подключен одноранговой, но может ли это быть сделано через Интернет как-то. Я не хочу, чтобы пользователи играли с настройками роутера, чтобы играть.

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 26 октября 2010

Я думаю, что вы не можете создать многопользовательскую игру, просто используя Facebook Jabber-серверы. Вам понадобится пользовательский компонент jabber, расположенный на вашем собственном сервере, для обеспечения вашей бизнес-логики игры в пакетах xmpp, передаваемых между пользователями игры.

Это (вероятно) потребует написания собственного компонента Jabber Protocol XEP-0114 и Bosh Connection Manager на вашем конце. Если вы хотите использовать PHP для разработки своего приложения, вы можете взглянуть на библиотеку Jaxl (компонент XMPP и клиентская библиотека на PHP)

0 голосов
/ 25 октября 2010

Основная проблема в системах P2P - это NAT и брандмауэры.Брандмауэры могут быть открыты локально, NAT не могут в 99% случаев.В мире IPv6 не будет NAT, поэтому P2P будет бесплатным для всех.

Теперь вы хотите использовать API-интерфейсы XMPP Facebook для многопользовательской P2P.Ну ... Facebook XMPP практически клиент / сервер по вышеуказанной причине.Все API Facebook делают, чтобы скрыть транспортный уровень для приложений, что означает, что вы можете отправлять сообщения «другому пользователю», в то время как они фактически проходят через сервер Facebook. Skype - еще один пример серверной среды P2P +.Если два пользователя поддерживают NAT, он автоматически использует прокси-сервер.

Это в основном то же самое, что и XMPP от FB, так что вы можете пойти на это, если только ваши пользователи в Facebook не увидят много странных сообщений в своем чатеокно:)

...