我玩过使用 GameCenter 制作回合制游戏。我理解默认情况下,GameCenter 假定在任何给定时间,在众多参与者中,只有一名玩家持有“接力棒”,并且该玩家是唯一可以影响当前游戏状态的玩家。游戏玩法是异步的,即轮到谁都可以慢慢来,一旦轮到其他玩家就会收到通知。
到目前为止,一切都很好。
现在我想使用 GameCenter 来实现一种类似但略有不同的回合制游戏:一种异步游戏,其中玩家不是连续的玩家连续,而是并行地进行回合,然后将它们合并为一个新的游戏状态一次所有玩家都“上交”了他们的动作。
一个很好的模型游戏是Rock, Paper, Scissors:两个玩家都秘密决定他们的动作(“ rock ”,或“ paper ”,或“scissors”)。然后将它们提交到服务器的顺序是任意的;即,当玩家尝试在正在进行的回合中提交移动时,任何玩家都不应该出现“不轮到你”类型的错误。一旦他们都上交了他们的动作,所有玩家的选择都会被揭示,并确定/宣布当前回合的获胜者。
问题是:是否有可能通过设计或变通方法将 GameCenter 基础设施用于此类游戏?如果是这样,什么是好的方法?