从叙事到原语,全链游戏引擎 Mud、Dojo、Zypher 的 3 类设计范式
作者:NingNing
自主世界 / 全链游戏是 Crypto 技术宅的无聊玩具吗?或者说是一种 Cult 类型 MeMe ?
之所以会有这些疑问,是由于自主世界 / 全链游戏抽象复杂的定义和目前简单到简陋的游戏界面和交互,令大多数游戏玩家望而生厌、望而生畏。
但事实上,自主世界 / 全链游戏虽然有着完全不同于其它范式游戏的游戏体验,并不意味着它不好玩。作为一名游戏老玩家,第一款全链游戏 DarkForest ,是我 5 年内唯一一款连续通宵两天玩的游戏。
如果说其他游戏的空间是一个沙盒,而游戏内容是对密室游戏的仿真,那么全链游戏的空间则是数字物理现实,而全链游戏的内容是对真实世界博弈的仿真。在玩 DarkForest 的过程中,我才真真切切体会到大刘《三体》中沁入骨髓的宇宙恐怖 。
自主世界 / 全链游戏的基础叙事
Lattice 团队在《自主世界宣言》中设定了自主世界 / 全链游戏概念的内涵和外延,将自主世界 / 全链游戏与 Web2 .5 游戏区隔开来。
自主世界 / 全链游戏是基于数字物理现实和基础法则的自维持开放游戏系统,它具有持久性、不可变性、免许可性。
狭义全链游戏即自主世界,它的可玩性不来自于游戏开发者提供的游戏内容(宇宙观、情节、
音乐、立绘等)和游戏目标感(等级、成就、副本、国战)等,而来自于玩家在自主世界构建的子世界( Sub - World )的真实体验。
自主世界 / 全链游戏的构建逻辑是对象 - 基本法则 - 数字物理现实,分别对应游戏引擎 ECS 框架的实体 - 组件 - 系统。
某种意义上,自主世界 / 全链游戏是在探索基于我们所处的真实世界的信息比特构建下一层虚拟世界。或者我们采用马斯克的说法,基于一个虚拟世界嵌套一个新的虚拟世界。这与科幻美剧《瑞克和莫蒂》中一个多层世界无限递归嵌套的名场面有一致性。
自主世界 / 全链游戏新原语的实现范式
以上是自主世界 / 全链游戏的简版叙事。而将自主世界 / 全链游戏的叙事实例化,我们需要一整套的由区块链、游戏引擎、中间件、游戏客户端等工程模块组成的新原语。
自主世界 / 全链游戏的新原语需要解决 3 个核心问题:
- 区块链的可扩展性问题。实现自主世界 / 全链游戏的持久性、不可变性、免许可性,需要游戏状态和逻辑全部上链,这对区块链的可扩展性和可编程性提出非常高的要求。
- Tick 循环问题。区块链是沿着时间之矢方向的顺序状态机,并不适合管理自主世界 / 全链游戏的状态。因为自主世界 / 全链游戏有着大量的循环事件,比如日出日落、小怪的巡查路线等等。而且区块链是被动状态更新,需要用户发送 Transaction 才能触发事件。
- 如何实现数字物理现实的不可变性与基本法则和对象增查改删的开放性、免许可性。
针对以上 3 个核心问题,自主世界 / 全链游戏团队 Lattice 、 Dojo 和 Zypher Games 团队的自主世界 / 全链游戏原语给出不同的解法。
Lattice 的自主世界 / 全链游戏的原语由 Worlds 开发框架、 MUD 游戏引擎和 Redstone 底层共识协议组成。
World 开发框架。World 是建立在 MUD V2 新存储引擎 STORE 之上的智能合约开发框架。STORE 是由 Runtime(运行时)定义的存储引擎。MUD V2 用它取代了 Solidity 编译器的存储模型。
World 是 EVM 应用的新范式。你可以把它想象成一台社区计算机:它作为一个多人游戏内核存在,接受来自链上任何人的贡献——无论是代码还是状态。
World 具有可编程的访问管理功能,允许任何状态或逻辑控制哪个帐户(或其他逻辑)可以访问它们。这使得建立信任层次结构成为可能,并允许不受信任的智能合约读取状态并参与规则,而无需让它们直接写入存储。
MUD 游戏引擎。MUD 全链游戏引擎是 EVM 生态中的首款全链游戏引擎。MUD V2 由运行时定义的存储引擎 STORE、状态同步、原生 AA(账户抽象)模块组成。
MUD V2 的新特性允许创建一组数字物理学,确定世界如何创造和转换,并随后破坏对自身的根访问;在不限制功能集的情况下,永远奉行一套规范的规则:世界上的任何人——人类和机器——都可以与这些规则互动,并在这些规则之上建立社会和工程装置。
Redstone 底层共识协议。Redstone 是 OP Stack 的第一个 Plasma Rollup L2 实例,由 Lattice 和 Optimism 合作专为链上游戏和自治世界的开发者而构建。
它的运作方式类似于传统的 OP Rollup ,但与 OP Rollup 将输入状态发布到 L1 不同, Redstone 只发布一个数据承诺哈希( data commitment hash )。与输入承诺对应的输入状态由数据可用性提供者存储在链下。为了确保与输入承诺对应的输入状态可用, L1 上有一个数据可用性挑战合约,允许任何人在提供者出现问题的情况下对数据承诺提出挑战。
Dojo 在早期是 MUD 的 Fork 项目,致力于在 Starknet 上用 Cario 语言实现 MUD 。现在的 Dojo 的自主世界 / 全链游戏的原语由 Cario 状态和智能合约开发框架、全链游戏引擎 SOZO CLI 、索引和 RPC 服务中间件 TORLL 、 KATANA 底层共识协议组成。
Cario 状态和智能合约开发框架。Dojo 提供使用 Cario 智能合约上构建全链游戏 / 自主世界的标准化方法,简化开发过程,让开发者们专注于逻辑而不是架构。
全链游戏引擎 SOZO CLI 。SOZO CLI 支持创建、建造、测试和部署全链游戏 / 自主世界实例,支持制作新的组件和系统,协助管理多个自主世界实例。
索引和 RPC 服务中间件 TORII 。TORII 自动索引所有合约状态。通过 GraphQL API 或 gRPC 自动公开状态。开发者无需再生成自定义索引器。
KATANA 底层共识协议。KATANA 是一个可定制的 Starknet 开发网络,允许对游戏逻辑进行快速迭代。
Dojo 与 MUD 的主要区别,在于使用 ZK - Rollup 作为底层共识协议和 Cario 语言作为开发语言。
与 Dojo 分叉 MUD - 适应性特化的全链游戏 / 自主世界引擎开发路径不同, Zypher Game 是完全原生的基于 ZK 技术的全链游戏 / 自主世界引擎。 Zypher Game 的全链游戏 / 自主世界原语主要由游戏引擎 Secret Engine 、 AW Engine 和底层共识协议 Zytron Kit 组成。
Secret Engine ,提供了一套由 zk 驱动的可以安全执行可验证的加密计算的 sdk,确保游戏需要的元素在链上保持密封,现在已有的服务 zk-shuffle-as-a-service 已经帮助超过 3 款全链上卡牌类游戏进行加密和洗牌。
AW Engine 。AW Engine 是各种由 ZK 驱动的 services SDK 组成,包括 Gadgets 工具箱、APP 专用电路、链上验证节点等等。AW Engine 能够实现即插即用的 ZK 功能、ZK 电路的可组合性、第三方与 RISC ZeroZK 虚拟机的集成。
AW Engine 还创新开发了特用于多人实时游戏的 Z4 引擎, Z4 通过 zk - rollup 来扩展多人多局游戏的并发性,核心是状态变化的快速方式, z4 让游戏不需要在源链上进行全局状态广播而是转化为廉价的局部状态更改,这能有效的减少用户手续费的支出,还能支持数百万甚至数十亿的 tps 。
Zytron Kit 。Zytron Kit 是模块化的 Sovereign L3 Rollup 构建堆栈。Zytron Kit 由主权 L3 Rollup、Zypher Games 的游戏引擎作为预编译合约、服务器分片、数据兼容性、定制化网络组成。
Zytron Kit 专为开发者量身定制,以最低成本构建自主世界、迷你战略游戏或将 AAA 游戏迁移到链上,而无需陡峭的学习曲线,使他们能够在链上迁移资产、游戏逻辑和数据存储,同时保留生产级 UE 。
在 AW Engine 和 Zytron Kit 之外, Zypher Game 还具有面向移动游戏玩家的证明计算市场,并且 Zypher 还在与一些游戏相关的基础设施集成。。
近期 Zypher Game 还跟 Risc Zero 和 Celesita 达成了合作。与 Risc Zero 的合作中, Zypher Game 将 Risc Zero 的通用 ZK 虚拟机集成到 Zypher 游戏引擎中,并通过包含的游戏专用 SDK 扩展功能,扩展 Risc Zero 的用例。与 Celesita 的合作中, Zypher Game 采用 Celesita 的 Roll Kit 工具构建 Zytron Kit ,并将 Celesita 作为 Zytron Kit 的默认 DA 层。
最新, Zypher Games 上线了 B ² Network 测试网,表示正在支持 B TC 生态,将通过 ZKP 和 AI 技术帮助 B TC 生态发展链上游戏。
总结
从叙事到原语,为了处理区块链的可扩展性问题、 Tick 循环问题、实现数字物理现实的不可变性与基本法则、对象的开放性问题,自主世界 / 全链游戏的新原语给出不同的解决方案。 Lattice 选择了 OP - Rollup + 暴改 EVM 共识机状态机制的路径,而 Zypher Game 和 Dojo 则选择利用 ZKP 去信任地压缩状态数据和将验证转移到链下计算的方案。
三种方案,各有千秋。 Lattice 的实现范式在 EVM 兼容性、开发者友好度方面具有优势。 Dojo Game 针对 Starknet 的开发环境和生态特异性适应。而 Zypher 选择利用模块化 DA 、 RiscZero Zk 协处理器、比特币 UTXO 的原生数字物理特性,实现兼具去信任性、可扩展性、性能弹性的方案。
除了以上 3 种范式以外,还有 Argus 的 World Engine 、 Nervous ( CKB )的基于 eUTXO 状态数据结构的全链游戏 / 自主世界原语。
目前,全链游戏 / 自主世界处于盖特纳新兴技术成长曲线的技术萌芽期,这个阶段开发者人数多于玩家,很多测试游戏是 4399- like 的休闲小游戏。这不妨碍加密风投基金们在这个新兴领域屡下重注。因为在他们眼里,全链游戏 / 自主世界现在的状态,就像 1820 年代跑不过马车的火车一样,不是问题,而是机遇。