使用游戏中心转向匹配游戏,如俄罗斯方块或宝石迷阵

时间:2012-10-04 00:23:14

标签: iphone objective-c ios game-center gamekit

我正在制作类似宝石迷阵的游戏。我正计划整合游戏套件,让玩家可以和朋友对战。我想要的流程是:

  • 玩家1挑战朋友
  • 玩家1开始玩。玩家2可能会或可能不会开始玩 同一时间。他可能会立即开始比赛或几天后开始比赛。
  • 当两者都完成后,比较分数以查看谁是胜利者。 两者都被警告了。

我认为Game Kit的转弯是要走的路。但这不是一个真正的转弯游戏,所以它不适合这种用法。

由于我不希望玩家2在他开始之前必须等待玩家1完成,我认为我可以让玩家1的“第一回合”是简单地将棋盘状态发送给玩家2。我不希望玩家1在他开始玩之前必须等待玩家2完成。

到目前为止,我正在考虑两种方法,但我希望其他人可能有更好的想法。

方法1:玩家1的“第一回合”是将棋盘状态发送给玩家2.玩家1现在可以玩棋盘并且他的分数存储在本地,其中密钥用于检索它是匹配号码。每当玩家2完成时,他的得分将在matchData内发送回玩家1.玩家1被通知轮到他。当他重新打开比赛时,他的本地存储分数被检索并与玩家2进行比较。此时宣布获胜者。这并不理想,因为玩家1必须重新登录,即使他已经完成了比赛。

方法2:与方法1一样,玩家1的“第一回合”是将棋盘状态发送给玩家2.玩家1可以玩棋盘但现在他的分数被发布到Rails服务器(或者像Parse.com这样的东西)简化它)。在玩家2完成转弯之后,进行api通话以查看玩家1是否已经完成。如果他有,则检索并比较得分并确定获胜者。如果没有得分,则玩家2结束并且控制权被传递回玩家1.当玩家1完成时,比较2个得分并确定获胜者。这里唯一的问题是我不得不创建一个后端。

无论如何,建议表示赞赏!谢谢。

1 个答案:

答案 0 :(得分:1)

我不是游戏中心的专家,​​但基于回合制的匹配支持听起来像是错误的工具。

你的异步多人游戏听起来有点像你在Jetpack Joyride中看到的那样,在WWDC 2012 Session 500(Game Technologies Kickoff - 在video大约10分钟内进行了演示)中进行了演示。他们使用Game Center的新“得分挑战”功能,但通过提供其他玩家的幽灵来加强它。他们通过记录你的种族来做到这一点,当你挑战另一个玩家时,将记录上传到他们的服务器,在那里它被存储在context GKScore字段中的64位值。当您的朋友接受挑战时,他的游戏副本会从分数挑战中提取该值,并使用它来查找并从服务器下载记录的竞赛数据。