Dora Dōjo Workshop
资助金额:100 USDT
分享者:北邮在读硕士 Syshems
本项目由Dora Dōjo资助,文章转载请联系
Telegram: @DoraDojo0
WeChat: @DoraDojo0
早在 2014 年,Huntercoin 创造了首个区块链游戏的体验;2017 年 CryptoKitties 上线引爆网络;随后的 2019 年,第一个全链游戏 Dark Forest 上线。最近两年,全链游戏/自主世界的概念重新被提及,似乎在 gamefi 和 web2.5 模式走不通的情形下,人们开始退回到原点去思考全链游戏可能带给世界的可能性。本课题旨在研究当下全链游戏和自主世界的定义和前沿领域的进展,探究 Dojo 和 MUD 两大游戏引擎的定位和区别,反思当下我们所处的位置。
一、FOCG 前世今生
Fully on-chain games = FOCG = Infinite Games
≈ Autonomous Worlds (On a more philosophical level, such as Bitcoin/Ethereum, on-chain game is only a way to AW)
1、概述
当我们在谈论全链游戏之前,我们先简单理解一下游戏涉及到哪些方面,包括游戏资产、游戏逻辑、游戏状态、游戏数据存储等。在常见的互联网 web2 的游戏中,比如王者荣耀、LOL、原神等,所有游戏相关的一切都存储在公司的服务器里,从资产到玩法的设定都是归中心化的公司所有。
而在区块链游戏中,人们开始思考能不能通过上链的方式给游戏提供更好的玩法/经济循环,于是诞生了之前很火的 Axie、StepN 等将资产作为 NFT 上链的区块链游戏,创造了开放的流动性经济体系,一方面让游戏资产具有了金融属性,另一方面也让玩家资产具有唯一性和不可篡改性。
虽然资产上链了,但是游戏玩法等核心逻辑仍然是在链下,那就依然会存在中心化的弊端。就像最近看的《孤注一掷》里,尤其是像德普、炸金花等博弈类的卡牌游戏来说,游戏流程和游戏状态的不透明,会导致无数的玩家都成为大冤种,这也是很多 web2 的带金钱类的博弈游戏广被诟病的原因之一。那既然资产可以上链,能否将其他的游戏逻辑、游戏数据存储等统统上链呢?
于是全链游戏就诞生了;除了资产在链上之外,游戏相关的一切也都储存在链上,从而保证游戏的完全去中心化和链上化。全链游戏相比起其他 web3 Gaming 具有本质差异与优势,除了刚刚提到的游戏规则和状态透明可信之外,还有一个非常大的优势就在于自由开放的可组合性:
- 开放性 全链游戏部署在链上,对所有人开方游戏入口。不受限于国家、性别、年龄等限制。
- 资产所有权 参与全链游戏获得的资产也均为链上资产,玩家完全控制且可自由转移。
- 社区化 全链游戏更注重社区的发展,大部分由DAO进行治理,社区内的需求也将不断完善游戏。玩家可以为全链游戏添加模组、制作新的插件,从而催生出繁荣的二创甚至三创。在这个生态中,玩家们自发的去组合、构建和尝试各种各样的事物与玩法,从而形成了一个有机的社区,从而实现了游戏从 PGC 向 UGC 范式转移。
- 持续性 理论上讲,代码以智能合约形式部署在链上,区块链相当于服务器,只有链维持正常使用,玩家随时可以体验游戏,而不需要担心游戏寿命。
- 可组合性 在传统游戏中,全链游戏中上链的“游戏逻辑”属于后端代码,所以可以借入不同的前端页面游戏 UI 的不同,甚至可以实现一个前端页面接入不同的全链游戏合约实现多模块游戏的功能。
2、Dark Forest
黑暗森林是根据《三体》改编的一款基于零知识证明技术去构建的去中心化 MMORTS 的太空征服游戏。它的零知识证明部分主要用的是 ZK-SNARK,目前为止一共有 6 个轮次的官方轮,还有一些由 DAO 和工会发起社区轮。可以把它理解为一个开源程度非常的高,创造者跟开发者发挥的空间会非常大的游戏,虽然它对普通玩家来说门槛非常高,但是它为整个链上的生态带来了非常多的新的可能性。比如 ZK-SNARK 技术和自主世界 AW 的探索。
Dark Forest 这款游戏其实就是基于《三体-黑暗森林》这一步进行创作的,其中核心部分是三条黑暗森林法则:
- 生存是文明的第一需求:玩家进入 Dark forest 的任务就是生存;
- 文明的自我增长和扩张是必然:玩家为了生存不得不进行军备竞赛式的扩张,防止被别人消灭;
- 宇宙就是一座黑暗森林,每个文明都是带枪的猎人,像幽灵般潜行于林间,每个猎人会竭力不让脚步发出一点点声音,连呼吸都必须小心翼翼,因为它必须小心。林中到处都有跟它一样潜行着的猎人,如果它发现了别的生命,那他能做的事情就只有一件,就是开枪消灭。
由于采用了 ZK-SNARK 技术,在游戏中构建了一个类似战争迷雾的世界。每个玩家需要消耗算力去探图,如果发现周围有其他弱小的星体,就可以向该星球发送能量去占领。同样,一旦被其他更强大的玩家发现,你可以会被占领淘汰出局。由于所有的操作都是在链上完成,链的性能、自身硬件算力以及 gas 都成为取胜的关键,由此展开的现实世界的军备竞赛也不乏发生,拥有节点的人 (差不多 10w 美金) 可以在游戏里享受上帝一般的体验。
二、Infra Framework
1、区块链
区块链在全链游戏中起到了服务器的功能,游戏逻辑被部署在链上,用户玩时需要使用钱包连接后进行体验,目前多数的全链游戏分布在 Ethereum 和 Layer2 上。在选择部署公链时,游戏会综合考虑多方面因素:
- 公链的可编程性: 在全链游戏发展早期,以太坊作为最强的可供智能合约编程的被很多早期全链游戏选择,现在的主流Layer1和Layer2都在Dapp开发做了不同的优化,Aptos、Sui等在编程语言层级优化程序开发体验。更加对开发者友好,对用户调用合约过程优化的公链越容易得到公链开发者的青睐。
- 网络性能: 玩家在玩游戏时由于需要调用合约,获取链上数据反馈等操作,对链的性能也有一定要求,比如多用户实时游戏中,一场对局需要同时多次签名,这个过程如果网络十分拥挤,则会造成很差的用户体验。目前Solana、Ethereum Layer2的TPS都可满足现有全链游戏的底层需求。
- 用户数量: 全链游戏的Web3原生性意味着较高的用户门槛,而且游戏过程可能涉及到了游戏道具交易等链上活动,所以选择一个用户数量更高、资金流动性更优的链部署会提高全链游戏的成功可能性。
- 公链应用层的网络效应: 在全链游戏上线后,NFT 交易平台和 DeFi 能大大促进游戏内道具、通证的流动性,吸引更多玩家。同时很多服务商,比如游戏引擎也会针对不同的链提供不同的解决方案。可以说一条优质的链上,其他种类的应用发展也应该同样优秀,这样才能充分发挥应用层的网络效应。
2、区块链游戏引擎
在传统开发过程中,像 Unreal、Unity 和 Phaser 这样的游戏引擎提供了游戏的基本构建,如控制运动、二维和三维渲染、物体碰撞检测、声音、颜色、脚本等物理引擎,甚至还包括服务器客户端架构、PC / 游戏机 / 手机的框架等一站式服务功能。
在全链游戏中,由于游戏状态将全部存储在区块链上,出现了为链上游戏设计的游戏引擎。第一个为以太坊生态开发的是由 Lattice 推出的 MUD 引擎,之后,逐渐出现其他为不同生态和使用不同编程语言的其他几个引擎,如用于 starkware 的 DojoEngine,还有 Curio 的 keystone、Argus 等。
当《魔兽世界》推出时,暴雪已经在游戏的网络技术栈上做了 4 年,但在游戏内容上只花了一年。Unity 在 2005 年推出后不久,由于其模块化技术栈,开发时间从 4 年缩短到了几个月。
2.1 MUD
Lattice 的 MUD 时在 2022 年第三季度的 0xParc Residency 期间创建的。期间 Lattice 尝试创建几个全链游戏,尽管玩法和风格等都不同,但都遇到了相同的区块链问题。不是复杂困难的技术难题,而是大量繁忙的工作量。就这样,他们推出了 MUD ——第一个全链游戏引擎。
他们使用 ECS (entity component system - 实体组件系统)架构,在这个框架中,每个全链游戏都将部署一个世界合约,是这个世界中所有物体(Entity)的注册表。Entity 是数字 ID,组件是附着在 Entity 上,可以被添加到世界中。
在这个例子中,Entity 1 可以是一个龙的角色,Position、CanFly 和 Price 是 3 个不同的组件。组件本身没有任何逻辑,他们可以通过系统合约被添加到新的 Entity 中。一个系统合约需要对所有者的组件进行写入访问。在 MUD 中,第 1 方和第 3 方开发者之间没有区别。
2.2 Dojo
Dojo Engine 是一个开源的 ECS 框架,就像为 StarkNet 生态建立的 MUD,但不兼容 EVM,用 Cairo 编写。Dojo的工程师团队包括 Realms,Briq,cartridge_gg,topology,starknet 等项目方团队。
- Background:
- With the introduction of Cairo 1.0, a massive step forward in smart contract development, all contracts on Starknet need to be rewritten in Cairo 1.0.
- Dojo leverages Cairo 1.0, an entity-component system and the diamond pattern to provide a modular, extensible foundation for Autonomous Worlds.
- World contract:
- Act as the core of the world, maintaining all its state, enforcing access control, and providing an interface for installing new components and systems in order to expand the universe.
- working on:
- Real time state indexing + compatibility with the mud network stack
- High throughput Layer 3s on top of starknet
- Private information through client side proving
- Offchain state channels
- Typed bindings generation
3、中间键
3.1 AA
AA 是“账户抽象”的英文简称,与常见的使用私钥和助记词获得的加密钱包不同,使用账户抽象的钱包是具有可编程性的合约钱包,它区分了账户的逻辑和状态,允许创建具有量身定制的交易验证和执行规则的账户。AA 在多方面提高了用户的体验,且有了丰富的落地应用场景,比如社交恢复、多签、无 Gas Fee 交易等。
借助 AA 技术,全连游戏可以解决用户参与过程中需要重复签名、需要使用特定钱包等降低用户体验的问题,实现更友好的交互。
3.2 随机数
随机数生成技术是游戏开发中常用的一种技术,其基本原理是通过一定的算法和种子生成一个伪随机数序列。在游戏中,随机数可以用来生成游戏中的随机事件、随机地形、随机道具等,增加游戏的可玩性和趣味性。
ChainLink等预言机项目可提供随机数组件,开发者也可直接使用基于区块链的随机数生成器,直接使用区块链中的区块哈希值作为随机数种子,从而生成可验证的随机数。随机数能为全链游戏带来更加透明和公平的玩法。
3.3 零知识证明
零知识证明是一种密码学技术,可用于证明命题的真实性,而无需透露命题内容,这种技术广泛应用于保护用户隐私和数据完整性等领域。在全链游戏中,零知识证明可用于验证游戏中的行为或事件,例如玩家完成任务或挑战。使用零知识证明技术,玩家可以在不泄露隐私信息的情况下证明自己已完成某个任务或挑战,并获得相应的奖励,而不需要向游戏服务器发送相关数据,从而提高了安全性。
三、Need to figure out
总的来说,全链游戏目前面临着方方面面的问题,这些挑战可以分类为技术、onboarding 和经济变现三个方面。例如:
- 即时性低从而限制了游戏品类(技术) 从目前的全链游戏的类型可以看出,基本都是SLG类型的策略类游戏,对于游戏的实时性要求没有那么高,而像单人的 RPG、AVG、ACT 和 moba 等游戏类型对于及时性要求很高,如果数据都存在链上,目前的区块链性能还很难支撑及时性,这类游戏更适合资产上链。
- 链上交互的高成本限制用户参与(经济变现) 链上的所有交易均需要支付 gas fee ,如果没有一个合理的经济模型,会成为玩家玩游戏的负担。
- 全链游戏相比资产上链的游戏在经济模型有什么特殊之处吗?还有待观察(onboarding)
- 在全链游戏带领的从 PGC 转 UGC 的范式中,用户如何低成本进行二创是一个关键,因此游戏开发的插件/工具等基础设施也至关重要,这里可能孕育着新机会?
尽管有一些缺陷,但随着技术的发展和基础设施的完善,全链游戏或许会迎来“黄金时代”。
- 可扩展性与 RaaS 的发展 **关于区块链的性能问题,已经有了Layer2和RaaS等解决方案。如今有很多二层扩容项目都致力于扩展性问题,资金充足的团队可选择采用StarkNet或Arbitrum Nova这样的通用 L2 或定制化用于特定用例的 L2 框架 OP Stack 构建 L2 扩展层,按需使用 Caldera、Conduit、Eclipse、Alt Layer 等 RaaS(Rollup as a Service)定制应用链的需求。
- 基础设施的增加 无论是区块链游戏引擎的发展还是AA等中间件等技术的升级,全链游戏将在玩法和用户体验上得到全新的发展,跟全链游戏不直接相关的 DeFi 和NFT Market也会间接助力全链游戏的发展。在Starknet这类的Layer2上,我们已经看见了从游戏引擎到游戏商店这种贯通上下游的生态网络,这为其他公链做出了榜样。
- 用户体验的增加 未来的全链游戏在融入 AA、跨链桥等技术后,用户门槛将会降低。在未来,用户或许只需要利用自己的邮箱或社交媒体账号登录后即可开始游戏,在游戏过程中只需一次签名或者无需签名即可畅玩整局,游戏中的更多Web3原生操作可以被抽象出来作为后端,而前端则提供与Web2相似的丝滑游戏体验。
参考
Fed Li:https://twitter.com/Dacongfred/status/1693249435751338394
Delphi_digital:https://twitter.com/JACL_e9/status/1676611154825601032
IOSG OFR Istanbul:https://mp.weixin.qq.com/s/34rfTpEVZuDJN6YvwRL6lg