IOSG周报:链上游戏技术栈:如何同步游戏状态?

IOSG周报:链上游戏技术栈同步游戏状态的方法?

区块链在游戏引擎架构中的应用

随着游戏复杂性和可玩性要求的提高,对游戏引擎架构提出了更多的挑战要求。从帧数延迟、随机数生成、生命值恢复、连续的被动效果到计时器等等,这些功能不仅需要高效的实现,同时还需要能够模拟时间流逝和状态变化的方式。

然而,在区块链上,时间的概念以及Ticks单位与传统游戏中存在差异。为了解决这个问题,Mud游戏采取了一些措施,例如在玩家移动房间时,交易中附带根据预定义设计,同时移动房间中的所有物品,从而感知时间和状态的变化。这种方法可以模拟时间流逝和被动恢复技能的效果。

除了时间模拟之外,游戏引擎架构还面临着另外一个挑战,即tick rate的问题。许多游戏类型,如实时战略游戏(RTS),需要高的tick rate。然而,由共识算法产生的区块链只能处理区块时间的变化,无法满足游戏的高tick rate要求。在这方面,Curio和Argus是引领者,它们正在探索在区块链层面上增加游戏tick rate的解决方案。这些项目尝试将整个应用程序状态存储在以太坊虚拟机(EVM)中,以实现全链上的游戏状态管理,而不需要引入链下的解决方案。

在选择区块链平台时,Dojo是Starknet全链生态的领军者。Starknet引入了状态差异(State diffs)的概念,不同于乐观侧链(optimistic rollups)专注于执行输入,而是关注执行输出。这种方法对游戏的影响主要体现在优化成本方面,例如国际象棋游戏,玩家在三分钟内可能会走50步。通过状态差异,可以使用单个证明和最终状态证明游戏的”输出”,而乐观侧链则需要证明所有中间状态的”输入”。

综上所述,区块链技术在游戏引擎架构中具有广泛的应用前景。通过创新的思路和解决方案,我们可以模拟时间流逝、满足高tick rate要求,并在全链上管理整个游戏应用程序状态。未来随着技术的进一步发展,我们有望在游戏开发中发现更多区块链的潜力和价值。

参考资料:链接