首页 文章

使用GameCenter进行基于平行回合的游戏?

提问于
浏览
3

我玩过使用GameCenter制作回合制游戏 . 据我所知,默认情况下,GameCenter假设在一些参与者中,在任何给定时间,一个玩家持有“玩棒”,并且该玩家是唯一可以影响当前游戏状态的玩家 . 游戏玩法是异步的,即转动它的人可以花时间,其他玩家一旦轮到他们就会得到通知 .

到现在为止还挺好 .

现在我想使用GameCenter来实现一种类似但略有不同的回合制游戏:一种异步游戏,玩家可以并行转换,而不是串行玩家继承,然后将其合并为一个新的游戏状态所有球员都“转身”了他们的动作 .

一个很好的模型游戏就是 Rock, Paper, Scissors :两个玩家都在偷偷地决定他们的行动(当他们试图在正在进行的一轮中提交一个动作时,他们会出现错误的类型错误 . )一旦他们都转入他们的移动,显示所有玩家选择,并确定/声明当前回合的获胜者 .

问题是:是否有可能通过设计或解决方案将GameCenter基础设施用于此类游戏?如果是这样,什么会被认为是一个好方法?

1 回答

  • 1

    使用Game Center的方式无法以您建议的方式实现此功能,但您可以采用看起来像是设法做到这一点的方法 .

    当你开始回合制比赛时,它始终是本地玩家的回合 . 游戏中心为您提供空白比赛,或者您将收到其他人已经轮到他们的比赛 . 没有办法控制这个,所以你需要为两者做好准备 .

    你可以采取的方法是让一个玩家总是轮到他们向你展示其他人的举动 . 只有这样你才能检查在你当地的情况下,现在每个人都轮到他们并显示结果 . 这将提供您所要求的错觉 . 在Rock-Paper-Scissors的情况下,您现在可以决定匹配结果 . 其他玩家将收到通知 .

    但是,如果不是每个人都在这一轮中轮到他们,不要显示任何内容,也要更新游戏状态,但告诉用户你现在正在等待其他人轮到他们 . 当您收到再次通知时,您将能够显示结果,游戏状态已经显示结果 .

相关问题