在ios上进行多人游戏的实时消息传递

时间:2012-09-25 18:12:12

标签: ios real-time messaging multiplayer

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

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

似乎APN(Apple推送通知)在我们的情况下不合适有两个原因:据我们所知,延迟可能非常显着,最多可达几秒钟。此外,使用APN要求用户授权通知。如果用户没有授权,那么将无法玩游戏。

此外,我们了解Apple的游戏套件(游戏中心)在我们的案例中是有价值的,但不清楚它是如何通过Facebook等与邀请互动的。另外,不清楚我们是否需要与Apple的游戏中心和它将如何影响用户体验。

对此问题的任何指导以及您可能会想到的其他选项将不胜感激。

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

在你阅读其余内容之前,免责声明:我为Realtime.co工作,但我相信我可以在这里提供帮助,所以我不打算“推销”。

如果您需要实时更新,可以查看实时(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

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

我希望有所帮助!

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:0)

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

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

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

您可以谈论一些事情,即加入/开始游戏,然后是玩家之间的沟通。它们不一定相关。

你可以使用游戏中心,同时也可以使用Facebook的另一个框架,它们不是互相排斥的(但它会更有用。)