将Google Turn-Based Multiplayer与Google App Engine集成

时间:2014-08-18 09:35:20

标签: java android google-app-engine multiplayer google-play-games

我现有的Android(Java)游戏让玩家最多可以对抗八个AI对手。我现在决定实施异步在线回合制多人游戏模式。由于我目前通过Google Play游戏服务支持排行榜和成就,我希望使用他们的回合制多人游戏API,但由于该API中的以下限制,这已经证明远非理想 -

  • 每位玩家必须在游戏期间留在应用中
  • 一次只能玩一个多人游戏

我的游戏属于您可以转弯然后关闭游戏的类型,直到收到通知再次说明您的回合。此外,对于八人游戏而言,在整个游戏的整个过程中,所有八个实例都不可能保持运行。玩家也可能希望一次参与多个不同的游戏。 (虽然游戏与Draw Something不同,但他们的多人游戏模型与我需要的类型相似)。

在驳回了使用回合制API的可能性之后,我一直在寻找其他可能性并且遇到了App Engine。不幸的是,99%的开发人员经验都是使用客户端编码,因此其中一些问题可能看起来很幼稚......

  1. 是否可以将Google Play游戏服务与Google集成 App Engine?理想情况下,我希望将每件事都绑在一起 玩家'谷歌帐户看到我已经在使用Google Play游戏了 成就和排行榜服务。

  2. App Engine是否适合允许多个实例 异步回合制游戏?

  3. 我是否可以使用多人游戏API的部分内容,例如大厅 系统还是需要从头开始编写?

  4. 设置时需要多少学习曲线 后端系统?我需要什么资源?

  5. 非常感谢上述任何建议。

2 个答案:

答案 0 :(得分:2)

正如前面的回答所指出的那样,实时和回合制API之间存在差异 - 回合制API允许您异步播放,而且据我所知,您还可以运行多个游戏没有任何问题。

https://developers.google.com/games/services/android/turnbasedMultiplayer

系统不适用于同时移动的回合制游戏,但根据您的说明,我认为它可以很好地用于您的目的。

关于你的问题,我花了一些时间自己研究多人回合制游戏的解决方案,这些是我的观察:

  1. 一切皆有可能。但如果您的问题是 - Google Play服务支持集成,则答案是否定的。

  2. 它与您可能用于实现Web服务的大多数其他框架一样合适。虽然它确实取决于您在服务器端需要多少处理;请注意,对请求的运行时间有一些限制,等等。

  3. 您需要自己动手。

  4. 如果您是Java程序员,您应该考虑使用基于Java的后端框架; Google App引擎支持此功能。你也可以考虑在其他地方设置你自己的虚拟服务器 - 至少现在 - 使用谷歌应用程序引擎这样的东西没有太大的好处(至少IMO)。您需要清楚的两个关键要素:您的游戏状态如何在服务器端保存,以及用户如何进行身份验证。特别是后者很重要。

  5. 如果您的游戏结构符合Google Play服务回合制框架,那么在寻求自己的解决方案之前,我肯定会三思而后行 - 至少目前是这样。

答案 1 :(得分:1)

游戏api提供实时或回合制多人游戏。在实时游戏中,所有的游戏必须保持连接,真实。但对于基于回合制的游戏,他们可以退出,转动手机,甚至可以从不同的设备转发。听起来和你想要的完全一样。您是否将实时文档与基于回合的文档混淆了?