回合制游戏的 iOS SpriteKit 物理原理?

Posted

技术标签:

【中文标题】回合制游戏的 iOS SpriteKit 物理原理?【英文标题】:iOS SpriteKit physics for a turn based game? 【发布时间】:2014-03-28 20:32:03 【问题描述】:

我目前正在开发一款严重依赖物理的游戏,它将确定玩家是否输了。游戏大部分时间都运行良好,但每隔一段时间,物理在一台设备上的表现就会与另一台设备不同。它的工作方式是一个人移动这件作品并将其放置在他们想要的地方。然后游戏保存所有棋子的状态并在物理结束之前结束回合。这个状态被转移到另一个玩家,所以两个玩家都可以看到轮到实际发生。我认为如果每个节点都处于完全相同的位置,那么物理在两个设备上的表现都是一样的。就像我说的那样,它们非常相似,但有时它们的差异足以造成错误的检测过度。我可以做些什么来确保它们在轮次之间发送状态是相同的还是更好的方式?

【问题讨论】:

【参考方案1】:

正如其他人发现的那样Sprite Kit's physics simulation is not deterministic。

您无法“修复”此行为,但您始终可以直接将 Box2D 与 Sprite Kit 一起使用,绕过分别将所有 SK 物理类和属性转发到您自己的实现。

【讨论】:

当您说将所有 SK 物理类转发到我自己的实现时,您会将它们子类化并将它们定向到 Box2D 吗?只是在寻找前进的方向。 嗯,这是一种方式,但仔细想想,子类化 SKPhysicsBody/SKPhysicsWorld 可能效率不高,因为它还会初始化和使用 Sprite Kit 的物理。

以上是关于回合制游戏的 iOS SpriteKit 物理原理?的主要内容,如果未能解决你的问题,请参考以下文章

一个安卓手机回合制游戏 走六角形的格子 作战双方都是坦克 步兵(机器人) 大炮 飞机 地图上有工厂

实现回合制网页游戏[关闭]

带有 Google Play 游戏服务和 IntentService 的回合制安卓游戏

实时多人游戏或回合制多人游戏 API? [关闭]

Android Google Play 游戏服务回合制多人游戏不自动匹配

源码推荐HTML5回合制游戏,英雄故事