2023年全链游戏发展介绍
全链上游戏在2023年有了非常显著的进展,日益吸引了大家的注意力。我们认为有以下几个原因,
- Jump Crypto 在年初明确了全链游戏这个概念的内涵和外延,使全链游戏和GameFi两个链游子赛道做出了明确的区分。
- ECS架构的游戏引擎在年初开始出现,使得建立链上复杂应用更加方便。
- Ticking Chain 的出现使得全链游戏的逻辑帧刷新率有了质的飞跃,从而制作全链游戏的类型从回合制扩展到了需要高刷新率的即时策略类。
- AA钱包在2023年开始普及,可以极大的提高全链游戏的操作体验,从此不用再对每一步上链操作进行签名授权。
- ZK技术随着ZK-Rollup的普及得到迅猛发展,帮助全链游戏从制作信息对称的游戏扩展到“非对称信息游戏”。
- 自主世界(Autonomous Worlds)这个叙事从极客圈层开始渗出到VC圈层,主要归功于两次比较大的行业事件,第一个是5月份 ETHGlobal 和 0xPARC 以及 Lattice 举办的名为“Autonomous Worlds Hackathon”线上黑客松。另一个是11月份在伊斯坦布尔举办的名为“Autonomous Worlds Assembly”线下会议。
- 有十几个全链游戏在2023年进入到测试网阶段,初步展示了可玩性。
- 2023年,区块链基础设施在 Layer2 日益内卷,应用层比如金融和社交缺乏足够的创新,因此符合“Crypto Native”的全链游戏赛道成为应用层叙事的领头羊。
以下将分别从基础设施,叙事逻辑,全链游戏,行业融资等几个方面进行阐述。
基础设施
我们认为全链游戏的基础设施是游戏引擎,Ticking Chain,基于ZKP的信息隐藏系统和AA账户。
游戏引擎
游戏引擎是一种用于开发和创建电子游戏的软件框架。它包括了游戏开发所需的许多核心功能,对于传统的 Web2 游戏来说,一般包含如渲染引擎、音频处理、物理模拟和动画系统等。通过使用游戏引擎,开发者能够专注于游戏设计和创意,而无需从头开始构建整个技术基础设施。游戏引擎为游戏开发者提供了一个快速有效的工具,以降低开发成本和时间。
对于全链上游戏来说,同样需要一个能够帮助开发者快速部署游戏逻辑的工具。这不仅能够缩短开发周期,还为后续的迭代开发和开放生态中的互操作提供了统一的数据标准。如果我们把区块链系统当做一种分布式数据库的话,如何在这个分布式数据库中高效率地储存和读取游戏中的数据,构建大型智能合约,以及及时地与前端状态同步并不是一件容易的事情。ECS架构的全链游戏引擎应运而生。
ECS(实体 - 组件 - 系统)本质是一种数据结构的建模方式,它的核心在于如何存储和组织数据。
- 实体(Entity):在 ECS 模式中,实体是一个抽象的概念,它并不直接持有数据,而是通过组件来关联数据。实体可以被看作是一个或多个组件的容器,它的主要作用是为组件提供一个唯一的标识。
- 组件(Component):组件是数据的载体。在 ECS 模式中,所有的数据都被封装在组件中。每个组件都代表了一种特定的属性或者行为,例如位置、速度、颜色等。组件只包含数据,不包含任何逻辑或行为。
- 系统(System):系统是处理数据的地方。系统会根据实体的组件来决定如何处理这些实体。每个系统都有一个或多个特定的任务,例如渲染、物理模拟、AI 逻辑等。
它将数据(组件)和行为(系统)分离,使得数据的存储和处理更加灵活和高效。这种架构的优点在于:
- 可组合性:通过组合不同的组件,可以创建出具有各种属性和行为的实体,而不需要创建大量的类或结构。
- 数据局部性:由于组件只包含数据,因此可以将相关的数据紧密地存储在一起,提高缓存利用率,从而提高性能。
- 可重用性:系统只关心数据,而不关心数据来自哪个实体,因此可以在多个实体之间重用同一个系统。
- 并行性:由于数据和行为的分离,使得在多线程环境下对数据的并行处理变得更加容易。
虽然 Jump Crypto (@jump_) 同时提出了一种 ARC(Action Registry Core) 架构的游戏引擎,但是我们认为该架构仅仅是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)等等。
Ticking Chain
传统的游戏是基于循环(loop-based)的,因为它们的核心运行机制是游戏循环。游戏循环是一个不断重复的过程,通常包含处理用户输入、更新游戏状态和渲染游戏世界这几个步骤。这个循环在游戏运行期间持续进行,通常每秒运行数十次到数百次,以保持游戏世界的流畅性。在这种架构中,游戏系统(如物理引擎、AI 系统等)在每个循环中检查和处理它们关心的游戏实体和组件。
然而,区块链的架构是基于推送(push-based)的。区块链是一个分布式的数据库,它通过网络中的节点共享和存储信息。当一个节点产生一个新的交易(如转账、合约调用等)时,这个交易会被推送到网络中,其他的节点收到这个交易后会验证它并将它添加到区块链中。这是一个被动的过程,节点不会主动去查找新的交易,而是等待网络中的其他节点发送新的交易。因此,区块链的架构被称为是基于推送的。
在传统 Web2 游戏中,游戏循环函数的执行也叫“逻辑帧”,既可以集成在游戏后端服务器,也可以单独设置为一个“心跳服务器”。而在全链游戏中,逻辑帧的同步一般通过“lazy update” 和 “manual ticking” 来进行主动式的游戏循环。这样做的缺点是,逻辑帧的刷新率比较低,产生的gas费比较高。@therealbytes 通过将循环函数预编译到链节点实现了高效率的,自动化的逻辑帧同步。
这里面的代表是 World Engine 和 Keystone,他们已经实现了把 ticking chain 功能集成到了 ECS 架构中,从而将全链游戏逻辑帧的同步刷新率提高了一个量级,扩展了全链游戏可制作的题材范围。
AA 钱包
因为全链游戏的每一步操作都需要上链,这就在使用上带来了巨大的不方便:总不可能让用户每一步都对交易进行签名授权。对这一难题的解决,之前用的方法是设置“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的同时转移。
基于ZKP的链上信息隐藏
"战争迷雾"是一种常见于游戏中的机制,典型的例子包括《星际争霸》和《魔兽争霸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 认为自主世界是具有“区块链底层的世界”,即自主世界有着严格的叙事边界、正式化的引入规则,它不需要特权个体来维持其存在。
这句话描述了"自主世界"的三个核心特点:
- 严格(Hard)的叙事边界: 这意味着这个世界有一套固定和不可变的基准规则。它们不会随时间或情况而改变,为世界提供了一种稳定性。
- 正式化的引入规则(introduction rule): 这表明进入和参与这个世界有一套明确和固定规则。这些规则包括如何成为这个世界的一部分,以及如何在其中进行互动。
- 不需要特权个体来维持其存在: 这个世界是自我维持的,不依赖于任何特定的个体或组织来维护或管理。
在 Autonomous World 的概念中,世界并不是特指人类生活的地方,而是一个容器,一个容纳规则、叙事的地方。严谨一点来说,全链游戏和自主世界的概念并不是完全等价的,所有的自主世界都是全链游戏,但并不是所有的全链游戏都是自主世界,当全链游戏可以无权限地扩展时,它就成为了自主世界。
除了自主世界这个叙事之外,还有另外一个比较简单的叙事来理解:全链上游戏其实是一种“去中心化游戏”(Decentralized Game)。这种叙事主要是模仿去中心化金融(Decentralized Finance)的提法:既然把金融规则写入智能合约称之为“DeFi”,那自然可以把游戏规则写入智能合约称之为“DeGame”。
全链上游戏
在这一年时间里,有不少的全链上游戏进入到测试阶段,虽然大部分仍很粗糙,但已经初步完成了概念验证,显示出一定的可玩性和组合性。
Sky Strife
Sky Strife (@skystrifeHQ)是一款全链上的实时战略游戏(RTS),使用MUD引擎构建。它由 Lattice 的内部游戏设计师和开发人员制作。Sky Strife的游戏玩法与其他即时战略类游戏类似。以四人局地图为例,开局后四个玩家分别位于地图四角各自的主基地中。玩家的目标是争夺更多的资源以生产士兵,并最终消灭其他玩家。游戏中的资源为Gold(黄金),以g为单位表示。玩家可以在主基地中消耗Gold以生产攻击力与移动速度各异的兵种。
Sky Strife 在 11 月开始了 Season 0 的新一轮公测活动,并使用了Lattice发布的专为全链游戏而设计的全新Layer 2扩容方案:Redstone。
Primodium
Primodium (@primodiumgame)是一款基于 MUD 引擎开发的模拟建造类游戏,该游戏的机制参考了著名的模拟经营类游戏Factorio「异星工厂」。在Primodium中,你需要设计并建设出不同的自动生产流水线,将传送带、各类工厂以及地图上的自然资源,相互结合,创造出属于你自己的自动化流水生产建筑群, 在星球上壮大你的工业帝国,不断生产出愈加复杂的工业品。 游戏行为可以分为采集,运输,加工,建造,科研与战斗。而玩家就是需要在游戏中不断采集资源,升级科技,建造武器,打败其他玩家,最终在星球上称霸一方。
Cellula
Cellula (@cellulalifegame) 是一款全链上的人工生命模拟游戏。玩家可以在游戏中探索、培养、进化和收集独一无二的“生命”。在这个游戏中,康威生命游戏的规则被视为“生命”的基因代码,决定了他们的形态和活力。通过使用游戏的制作台(crafting table),玩家可以自由地创建各种基因序列,并孕育出自己的链上“生命”。这些“生命”有着独特的外观和属性,展现出多样的生命形态。
以太坊区块高度在游戏中充当“时间”,每个“生命”都会在以太坊时空生态系统中成长和进化,就像现实世界中的水生生物逐渐适应陆地生活并最终成为两栖动物一样。然而,生命的循环总是伴随着诞生和死亡 — — 当一个“生命”失去活力时,他将在链上永久地死去,为新的“生命”的诞生让出空间。
Loot Survivor
Loot Survivor (@LootRealms)是一款文字地牢冒险类游戏,基于Starknet 的 Dojo 制作,是Realms 自主世界生态系统的首款游戏,由Bibliotheca DAO的资深成员Loothero开发,采用了独特的Play2Die机制。该游戏受到原始Loot项目社区的背景故事和玩法的启发,玩家需要与野兽战斗、清除障碍、收集装备以求生存,并争夺排行榜中的更高位置。
Dark Frontier
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年概念验证阶段,公开拿到融资的项目不太多,下面分个介绍。
- 游戏引擎 Argus Labs 完成1000万美元种子轮融资,Haun Ventures领投,Elad Gil、Balaji Srinivasan、Siqi Chen、Kevin Aluwi、Sunny Agarwal、Calvin Liu、Scott Moore、Robot Ventures、Anagram和Dispersion Capital参投。
- 游戏引擎 Curio Research 完成290万美元种子轮融资,Bain Capital Crypto领投,TCG Crypto、Zonff Partners、Formless Capital、Smrti Lab、Robot Ventures和多位天使投资人参投。
- 游戏引擎 Paima Studios 获得来自 Cardano 的 140 万美元拨款,Paima 代码已在 Github 上可用,允许创建与 NFT 相关联的链上游戏,其中游戏状态可以与 NFTs 关联。
- FarmVille 联合创始人 Amitt Mahajan 创立的区块链游戏初创公司 Proof of Play 完成 3300 万美元种子轮融资,a16z 和 Greenoaks 共同领投,参投方包括 Mercury、Firebase、Zynga 和 Alchemy,个人投资者包括 Ravikant、Balaji Srinivasan、Twitch 创始人 Justin Kan 和 Emmett Shear。Proof of Play 旨在创造有趣且易于使用的区块链游戏,其第一款名为「Pirate Nation」的社交角色扮演游戏于去年 12 月发布了测试版,玩家可在其中战斗、制作、交易和探索,寻找标有 PGLD 的数字代币。
- 全链游戏 Citadel 11 月宣布完成 330 万美元种子轮融资,1kx 领投,Shima Capital、Hashed、Matchbox DAO、Ready Player DAO 等参投。
参考资料
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