1

我对多人游戏相当陌生。我为自己的乐趣做了一些,但没有什么深刻的。

无论如何,我想做一个非常跨平台的游戏。客户将在我发布游戏的设备(很可能是计算机(通过闪存)、iPhone 和 android)上与他们的 Facebook 帐户相关联。我是一个预算有限的独立开发者(实际上更像是没有预算)。所以,我想用点对点连接来制作游戏。由于维护服务器的成本,我想避免使用客户端/服务器设置。我遇到的问题是无法通过互联网连接对等方,而且游戏不适合通过本地 wifi 玩。

所以,我有一个想法。我可以使用 facebook 的内置 xmpp 聊天功能通过互联网发送游戏的多人通信吗?我之前有用于多人游戏的 xmpp 负责人。有没有人有任何其他想法?我知道 xmpp 可以点对点连接,但可以通过互联网以某种方式完成。我不希望用户必须弄乱路由器设置才能玩。

谢谢你的帮助!

4

2 回答 2

0

我认为您不能仅使用 facebook jabber 服务器来构建多人游戏。您将需要在您自己的服务器上安装一个自定义的 jabber 组件,以在游戏用户之间传输的 xmpp 数据包上强制执行您的游戏业务逻辑。

这将(可能)涉及在您的最后编写自定义 Jabber 组件协议XEP-0114Bosh Connection Manager组件。如果您希望使用 PHP 来开发您的应用程序,您可以查看Jaxl库(PHP 中的 XMPP 组件和客户端库)

于 2010-10-26T13:14:26.337 回答
0

P2P 系统的主要问题是 NAT 和防火墙。防火墙可以在本地打开,NAT 在 99% 的情况下不能。在 IPv6 世界中将没有 NAT,因此 P2P 对所有人都是免费的。

现在您想使用 Facebook 的 XMPP API 进行 P2P 多人游戏。嗯...由于上述原因,Facebook 的 XMPP 实际上是客户端/服务器。Facebook 的所有 API 所做的只是对应用程序隐藏传输层,这意味着您可以在消息实际通过 Facebook 服务器传输时将消息发送给“另一个用户”。Skype是 P2P+服务器环境的另一个例子。如果两个用户站在 NAT 后面,它会自动使用代理服务器。

这与 FB 的 XMPP 基本相同,因此您可以使用它,除非您的 facebook 用户会在他们的聊天窗口中看到很多奇怪的消息 :)

于 2010-10-25T19:50:12.143 回答