全链上游戏在2023年有了非常显著的进展,日益吸引了大家的注意力。我们认为有以下几个原因,
以下将分别从基础设施,叙事逻辑,全链游戏,行业融资等几个方面进行阐述。
我们认为全链游戏的基础设施是游戏引擎,Ticking Chain,基于ZKP的信息隐藏系统和AA账户。
游戏引擎是一种用于开发和创建电子游戏的软件框架。它包括了游戏开发所需的许多核心功能,对于传统的 Web2 游戏来说,一般包含如渲染引擎、音频处理、物理模拟和动画系统等。通过使用游戏引擎,开发者能够专注于游戏设计和创意,而无需从头开始构建整个技术基础设施。游戏引擎为游戏开发者提供了一个快速有效的工具,以降低开发成本和时间。
对于全链上游戏来说,同样需要一个能够帮助开发者快速部署游戏逻辑的工具。这不仅能够缩短开发周期,还为后续的迭代开发和开放生态中的互操作提供了统一的数据标准。如果我们把区块链系统当做一种分布式数据库的话,如何在这个分布式数据库中高效率地储存和读取游戏中的数据,构建大型智能合约,以及及时地与前端状态同步并不是一件容易的事情。ECS架构的全链游戏引擎应运而生。
ECS(实体 - 组件 - 系统)本质是一种数据结构的建模方式,它的核心在于如何存储和组织数据。
它将数据(组件)和行为(系统)分离,使得数据的存储和处理更加灵活和高效。这种架构的优点在于:
MUD:Lattice (@latticexyz) 的 MUD 是 Web3 领域最为久远和出名的全链游戏引擎,在之前的第一代版本时,曾清晰地表明,MUDv1 是基于 ECS 的一套框架,年中时 Lattice 公布了 V2 版本,对 MUD 整体架构做了巨大改变,MUDv2 包括:Store(一个链上数据库)、World(一个入口点框架,提供标准化的访问控制、升级和模块)、基于 Foundry 的快速开发工具、能够反映链上状态的客户端数据存储,以及 MODE(一个可以使用 SQL 查询并反映你链上状态的 Postgres 数据库)。年底,MUD 又引入了自己单独的 Layer2 rollup(基于OP Stack),取名 Red Stone。目前 MUD 仅适用于 EVM 兼容的链。
Dojo:目前全链上游戏除了采用 Solidity 编写外,StarkNet 的 Cairo 也是一种常用的语言。然而,MUD 并不能很好地兼容 Cairo。因此,StarkNet 生态中的两个活跃项目 Realms 和 Briq 的创始人 Fork 了 MUD,共同开发了基于 Cairo 的全链上引擎 Dojo (@ohayo_dojo)。
World Engine:Argus (@ArgusLabs_) 专为全链游戏设计的分片 Rollup 框架。World Engine 分为两个关键部分。第一部分是核心,由两个关键元素组成:EVM Base Shard,一个支持分片的混合执行层和排序器,以及 Game Shard,一个高性能的游戏引擎加执行层。除此之外,还有一些周边组件,如用于客户端-服务器通信的事务中继和网络代码,以及用于像 Dark Forest 这样的 ZK 游戏的 ZK Cloud 证明器。简单来说,World Engine 同样采用 ECS 架构,自带一条 EVM 兼容的 Layer2 链,并且链可以实现高效率的自动“逻辑帧”刷新。
Keystone:Curio(@0xcurio)在5月份开源了 Keystone,一个内置了游戏 Tick 和 ECS 全链游戏引擎的 L2 链,该链基于 OP Stack 制作。相比通过智能合约编写 ECS 状态,这种设计允许所有 ECS 操作(如查询和状态设置)具有更快的性能。通过自定义预编译,智能合约可以访问底层的 ECS 链状态。游戏逻辑可以用 Go 语言编写,而不是 Solidity,这可以大规模并行化。
其他链也同样基于ECS架构出现了不同全链游戏引擎,比如基于MOVE语言的Obelisk (@0xObeliskLabs), 基于 Solana 的 BOLT(@magicblock)等等。
传统的游戏是基于循环(loop-based)的,因为它们的核心运行机制是游戏循环。游戏循环是一个不断重复的过程,通常包含处理用户输入、更新游戏状态和渲染游戏世界这几个步骤。这个循环在游戏运行期间持续进行,通常每秒运行数十次到数百次,以保持游戏世界的流畅性。在这种架构中,游戏系统(如物理引擎、AI 系统等)在每个循环中检查和处理它们关心的游戏实体和组件。
然而,区块链的架构是基于推送(push-based)的。区块链是一个分布式的数据库,它通过网络中的节点共享和存储信息。当一个节点产生一个新的交易(如转账、合约调用等)时,这个交易会被推送到网络中,其他的节点收到这个交易后会验证它并将它添加到区块链中。这是一个被动的过程,节点不会主动去查找新的交易,而是等待网络中的其他节点发送新的交易。因此,区块链的架构被称为是基于推送的。
在传统 Web2 游戏中,游戏循环函数的执行也叫“逻辑帧”,既可以集成在游戏后端服务器,也可以单独设置为一个“心跳服务器”。而在全链游戏中,逻辑帧的同步一般通过“lazy update” 和 “manual ticking” 来进行主动式的游戏循环。这样做的缺点是,逻辑帧的刷新率比较低,产生的gas费比较高。@therealbytes 通过将循环函数预编译到链节点实现了高效率的,自动化的逻辑帧同步。
这里面的代表是 World Engine 和 Keystone,他们已经实现了把 ticking chain 功能集成到了 ECS 架构中,从而将全链游戏逻辑帧的同步刷新率提高了一个量级,扩展了全链游戏可制作的题材范围。
因为全链游戏的每一步操作都需要上链,这就在使用上带来了巨大的不方便:总不可能让用户每一步都对交易进行签名授权。对这一难题的解决,之前用的方法是设置“Burner Wallet”。
所谓的 Burner Wallet,就是一个暂时性的钱包,用户访问游戏网站时,自动生成,私钥储存在本地浏览器缓存中,并自动对每一笔交易进行授权。这只能看做一种临时性的方案,毕竟只要用户刷新一下浏览器缓存,该账号就会永久消失。并且缺乏足够的安全性和隐私性。
AA账户抽象钱包的出现彻底解决了这一难题。我们知道目前以太坊上有两种账户:第一种地址是外部拥有账户(EOA),通常被称为钱包账户,由私钥和公钥组成,它需要自己为每一笔交易授权并支付 gas。另一种是智能合约账户,各种部署在以太坊上的 DApp 就是以智能合约的方式运行着。
账户抽象的两个路线:兼容 4337 方案和原生账户抽象方案。目前 Arbitrum、Polygon、Optimism 和 BNB 没有原生集成账户抽象。更多是通过 4337 相关产品进行支持(如 Biconomy、Stackup 等),基础设施依旧搭建中;而 Starknet 和 zkSync 两条链支持原生的账户抽象。
AA钱包可在 Paymaster 集成 Session keys,即用户根据一组参数预先批准一个全链游戏的交易,如一个给定的持续时间,一个最大的 Gas,一个特定代币的最大交易量,或一个特定合约的特定功能等。这样可以达成玩家友好,即不间断地进行游戏,无需每个操作都需签名确认。
另外一个进展是 ERC-6551。 它为所有 ERC-721 Token 提供一个智能合约账户,这些账户不仅能够使得 ERC-721 Token 拥有 ERC-20、ERC-721、ERC-1155 等各类资产,还能使 ERC-721 Token 能够与各种应用程序交互。而在全链游戏领域,可以实现游戏资产和游戏ID的同时转移。
"战争迷雾"是一种常见于游戏中的机制,典型的例子包括《星际争霸》和《魔兽争霸3》。这种设计通过覆盖游戏地图的某些区域来隐藏信息,只有当玩家探索这些区域时,这些区域才会显示出来。这种机制增加了游戏环境的不可预测性,是所谓的不完全信息游戏的典型特征。大多数流行的MMO游戏都采用了不完全信息的游戏机制,这为玩家提供了更多探索和制定战略的空间。
然而,在区块链技术中,数据通常是完全公开和透明的,这使得实现不完全信息机制变得困难。但是,Dark Forest游戏通过采用零知识证明技术zkSNARKs,成功地在玩家需要公开提交可验证的有效动作的同时,还能保持其隐私状态。这样,Dark Forest在区块链上创造了一个不完全信息的游戏环境。
但是这种复杂的信息隐藏方法需要用到定制化的ZK电路编程,因此广泛的信息隐藏就无法在全链游戏中实现,这就是为什么在2023年几乎所有正在制作中的全链游戏都没有“战争迷雾”的原因。市场仍然需要一个能够实现“战争迷雾”功能的通用ZK电路,有几个团队试图在解决这个难题,比如 Zypher Games (@Zypher_Games),推出的 zk-Game SDK,通过优化的 wasm 和预编译的合约,实现了高性能、低成本的去中心化洗牌过程。它的链上随机性不再需要传统的 VRF,实现去中心化,进行公平洗牌和博弈。同时推出的零知识游戏引擎 UZKGE,拥有一个高度优化的 Plonk 库,它是一个快速扩展的零知识 (ZK) 电路库的补充,精心制作以满足游戏开发者的不同需求。这些电路促进了复杂的计算,确保了游戏机制的完整性,同时保护了玩家的隐私,这些加密技术使游戏开发者能够在不泄露潜在细节的情况下验证关键的游戏数据。
十月份的时候,0xPARC 的 @FlynnCalcutt 发表了一篇文章,《ZK Hunt: an exploration into the unknown》,介绍了如何利用“Commitment”方法,ZK电路并结合了代币惩罚的方式来实现多种链上信息隐藏,为制作非对称信息的全链游戏提供了新思路。
Jumpy Crypto 的 Shanav K Mehta 和 Dev Bharel 在一月份发表了名为《Gaming Infrastructure》的系列文章,提出了链上游戏的分类,全链游戏的具体定义,制作全链游戏的好处,以及基于 ARC 的全链游戏引擎架构。至此,全链上游戏成为一个确定性的赛道。
我们现在知道,一个简单的定义是这样的:
全链游戏(fully onchain game)是指:所有的游戏逻辑、状态(资产及其他)都在链上,通过智能合约来实现。有时候,我们也会使用 “链上游戏”(onchain game)来指代。在链上游戏的文献中,我们经常会看到 “自治世界(Autonomous World)” 或等效的 “链上现实(On-Chain Reality)” 这样的术语。
但是全链游戏这种说法,更多的是从技术上来讨论。而目前叙事上面比较流行的说法是 “自主世界(Autonomous World)”,来自于 Lattic 的 Ludens,他在 2022 年的时候写了一篇小论文来阐述他的想法,题为《Autonomous Worlds》。
在文章中,Ludens 认为自主世界是具有“区块链底层的世界”,即自主世界有着严格的叙事边界、正式化的引入规则,它不需要特权个体来维持其存在。
这句话描述了"自主世界"的三个核心特点:
除了自主世界这个叙事之外,还有另外一个比较简单的叙事来理解:全链上游戏其实是一种“去中心化游戏”(Decentralized Game)。这种叙事主要是模仿去中心化金融(Decentralized Finance)的提法:既然把金融规则写入智能合约称之为“DeFi”,那自然可以把游戏规则写入智能合约称之为“DeGame”。
在这一年时间里,有不少的全链上游戏进入到测试阶段,虽然大部分仍很粗糙,但已经初步完成了概念验证,显示出一定的可玩性和组合性。
Sky Strife (@skystrifeHQ)是一款全链上的实时战略游戏(RTS),使用MUD引擎构建。它由 Lattice 的内部游戏设计师和开发人员制作。Sky Strife的游戏玩法与其他即时战略类游戏类似。以四人局地图为例,开局后四个玩家分别位于地图四角各自的主基地中。玩家的目标是争夺更多的资源以生产士兵,并最终消灭其他玩家。游戏中的资源为Gold(黄金),以g为单位表示。玩家可以在主基地中消耗Gold以生产攻击力与移动速度各异的兵种。
Sky Strife 在 11 月开始了 Season 0 的新一轮公测活动,并使用了Lattice发布的专为全链游戏而设计的全新Layer 2扩容方案:Redstone。
Primodium (@primodiumgame)是一款基于 MUD 引擎开发的模拟建造类游戏,该游戏的机制参考了著名的模拟经营类游戏 Factorio「异星工厂」。在Primodium中,你需要设计并建设出不同的自动生产流水线,将传送带、各类工厂以及地图上的自然资源,相互结合,创造出属于你自己的自动化流水生产建筑群, 在星球上壮大你的工业帝国,不断生产出愈加复杂的工业品。 游戏行为可以分为采集,运输,加工,建造,科研与战斗。而玩家就是需要在游戏中不断采集资源,升级科技,建造武器,打败其他玩家,最终在星球上称霸一方。
Cellula (@cellulalifegame) 是一款全链上的人工生命模拟游戏。玩家可以在游戏中探索、培养、进化和收集独一无二的“生命”。在这个游戏中,康威生命游戏的规则被视为“生命”的基因代码,决定了他们的形态和活力。通过使用游戏的制作台(crafting table),玩家可以自由地创建各种基因序列,并孕育出自己的链上“生命”。这些“生命”有着独特的外观和属性,展现出多样的生命形态。
以太坊区块高度在游戏中充当“时间”,每个“生命”都会在以太坊时空生态系统中成长和进化,就像现实世界中的水生生物逐渐适应陆地生活并最终成为两栖动物一样。然而,生命的循环总是伴随着诞生和死亡 — — 当一个“生命”失去活力时,他将在链上永久地死去,为新的“生命”的诞生让出空间。
Loot Survivor (@LootRealms)是一款文字地牢冒险类游戏,基于Starknet 的 Dojo 制作,是Realms 自主世界生态系统的首款游戏,由Bibliotheca DAO的资深成员Loothero开发,采用了独特的Play2Die机制。该游戏受到原始Loot项目社区的背景故事和玩法的启发,玩家需要与野兽战斗、清除障碍、收集装备以求生存,并争夺排行榜中的更高位置。
Dark Frontier (@DarkFrontierGG)是著名的全链游戏《黑暗森林》的重制版,玩法一模一样。是著名的全链游戏《黑暗森林》的重制版,玩法一模一样。在 Dark Frontier 中,每个玩家都掌握着自己的星球,并需要在星球上采集资源,建造基地和发展科技来提高自己的战斗能力。玩家可以使用资源生产建筑、科技研究和武器制造设施,以便在战斗中获得优势。当玩家在星际空间中飞行时,他们需要通过不断的侦察和探索来发现其他星球和资源。当两个玩家同时发现同一颗星球时,他们可以选择对该星球发起进攻或者选择逃离。在进攻时,玩家需要使用自己的武器来攻击对方的基地,并夺取对方的资源。
游戏由 Argus 基于 World Engine 重新制作,画面UI比初版进步极大,已在12月开启了公测。
其他还有十几款全链游戏正在制作中,或者处于非常早期的测试阶段,比如 Gabby World,Infuence,Mississippi,Dope Wars,Mithraeum,Word3,PixeLAW,Shaoshin,Pirate Nation 等等,这里不再做详细的介绍。
全链游戏做为区块链游戏(Blockchain Gaming)中的一个子赛道,在2023年概念验证阶段,公开拿到融资的项目不太多,下面分个介绍。
https://jumpcrypto.com/writing/defining-on-chain-gaming/
https://0xparc.org/blog/autonomous-worlds
https://captainz.xlog.app/quan-lian-you-xi-de-qu-zhong-xin-hua-he-xie-yi-hua
https://therealbytes.substack.com/p/presenting-ticking-optimism
https://captainz.xlog.app/MUDv2-shi-fou-qi-yong-le-ECS-jia-gou-
https://0xparc.org/blog/zk-hunt