我现有的Android(Java)游戏让玩家最多可以对抗八个AI对手。我现在决定实施异步在线回合制多人游戏模式。由于我目前通过Google Play游戏服务支持排行榜和成就,我希望使用他们的回合制多人游戏API,但由于该API中的以下限制,这已经证明远非理想 -
我的游戏属于您可以转弯然后关闭游戏的类型,直到收到通知再次说明您的回合。此外,对于八人游戏而言,在整个游戏的整个过程中,所有八个实例都不可能保持运行。玩家也可能希望一次参与多个不同的游戏。 (虽然游戏与Draw Something不同,但他们的多人游戏模型与我需要的类型相似)。
在驳回了使用回合制API的可能性之后,我一直在寻找其他可能性并且遇到了App Engine。不幸的是,99%的开发人员经验都是使用客户端编码,因此其中一些问题可能看起来很幼稚......
是否可以将Google Play游戏服务与Google集成 App Engine?理想情况下,我希望将每件事都绑在一起 玩家'谷歌帐户看到我已经在使用Google Play游戏了 成就和排行榜服务。
App Engine是否适合允许多个实例 异步回合制游戏?
我是否可以使用多人游戏API的部分内容,例如大厅 系统还是需要从头开始编写?
设置时需要多少学习曲线 后端系统?我需要什么资源?
非常感谢上述任何建议。
答案 0 :(得分:2)
正如前面的回答所指出的那样,实时和回合制API之间存在差异 - 回合制API允许您异步播放,而且据我所知,您还可以运行多个游戏没有任何问题。
https://developers.google.com/games/services/android/turnbasedMultiplayer
系统不适用于同时移动的回合制游戏,但根据您的说明,我认为它可以很好地用于您的目的。
关于你的问题,我花了一些时间自己研究多人回合制游戏的解决方案,这些是我的观察:
一切皆有可能。但如果您的问题是 - Google Play服务支持集成,则答案是否定的。
它与您可能用于实现Web服务的大多数其他框架一样合适。虽然它确实取决于您在服务器端需要多少处理;请注意,对请求的运行时间有一些限制,等等。
您需要自己动手。
如果您是Java程序员,您应该考虑使用基于Java的后端框架; Google App引擎支持此功能。你也可以考虑在其他地方设置你自己的虚拟服务器 - 至少现在 - 使用谷歌应用程序引擎这样的东西没有太大的好处(至少IMO)。您需要清楚的两个关键要素:您的游戏状态如何在服务器端保存,以及用户如何进行身份验证。特别是后者很重要。
如果您的游戏结构符合Google Play服务回合制框架,那么在寻求自己的解决方案之前,我肯定会三思而后行 - 至少目前是这样。
答案 1 :(得分:1)
游戏api提供实时或回合制多人游戏。在实时游戏中,所有的游戏必须保持连接,真实。但对于基于回合制的游戏,他们可以退出,转动手机,甚至可以从不同的设备转发。听起来和你想要的完全一样。您是否将实时文档与基于回合的文档混淆了?