3

构建一个多人 iOS 游戏,玩家可以互相竞争。游戏的本质是同步的。基本上,玩家要么通过脸书、电子邮件等相互邀请,然后开始游戏。

我们讨论促进玩家之间实时通信(发送事件等)的最佳策略是什么。来自网络开发,我们使用彗星和长轮询,效果很好。但是,目前尚不清楚在 iOS 上实现这一目标的最佳方式是什么。

似乎 APN(Apple Push Notifications)不适合我们的情况,原因有两个:据我们了解,延迟可能非常显着,最多几秒钟。此外,使用 APN 需要用户授权通知。如果用户不授权,则无法玩游戏。

此外,我们了解 Apple 的 Game Kit(Game Center)在我们的案例中可能很有价值,但尚不清楚它如何通过 facebook 等与邀请进行交互。此外,不清楚我们是否需要与 Apple 的 Game Center 上床以及如何使用它会影响用户体验。

非常感谢您提供有关此问题的任何指导以及您可能想到的其他选项。

谢谢你的帮助。

4

3 回答 3

3

在您阅读其余内容之前,先声明一下:我在 Realtime.co 工作,但我相信我可以在这里提供帮助,所以我不会试图“推销”。

如果您需要实时更新,可以查看 Realtime ( www.realtime.co )。它基本上是一组工具,供开发人员在他们的项目中使用实时技术。它使用 websockets,但如果您使用的是浏览器(这不是您的情况,但总是很高兴知道),它会回退到用户浏览器支持的任何内容(例如长轮询)。

在 Realtime 之后,您有一个一对一/一对多/多对多的消息传递系统,可以将您的消息传输给用户或从用户传出。

您也可以在项目中使用 iOS API。您可以在此处下载:http ://www.xrtml.org/downloads_62.html#ios并在此处查看文档:http: //docs.xrtml.org/getting_started/hello_message.html#ios

还有一个优点是实时框架实际上是跨平台的。这意味着如果您决定将游戏扩展到其他平台,您甚至可以让您的 iOS 玩家与使用 Android、Windows Phone、HTML5、Flash 等的玩家交流。

我希望这会有所帮助!

于 2012-09-27T10:48:18.247 回答
2

我将就这个问题提供一些见解。

至少对于 iOS,APN 不应该用于同步通信,你永远不会有双向通信(基本上 Apple APN 服务器正在将信息推送到设备)。

您可能应该使用 C 套接字来打开隧道(取决于您的游戏是否是实时的)。

使用 Apple Framework GameKit 非常棒!但可能需要一些时间来了解所有功能。

于 2013-08-21T09:19:37.617 回答
0

查看格力 https://developer.gree.net/en/

解析: https ://www.parse.com/

麻雀: http: //gamua.com/sparrow/

您谈论的有几件事,有游戏的加入/开始,然后是玩家之间的交流。它们不一定相关。

您可以使用游戏中心,同时使用另一个 facebook 框架,它们不是互斥的(但它会更有效。)

于 2012-09-25T18:17:21.433 回答