黑暗森林 : 三年全链上游戏的启示录(上)

初次发布: 2022.10.20 / 最新修改: 2022.10.26

翻译作者: DF Archon

刚刚结束不久的Devcon VI 活动中 gubsheep 的演讲内容的整理翻译。

对于演讲中提到的内容会进行相应信息的补充,以(小写双括号)的形式注明。

中文翻译与英文原意可能有所出入,请大家谅解,建议大家直接观看。

原文如下:

首先简单介绍一下自己,自2018年以来,我一直与以太坊基金会一同工作,参与各种教育社区和应用ZK的研发项目。我参与创造了《黑暗森林》,并在2019年至2021年花了大量时间与朋友们一起开发游戏(注: 原文视频中有提到具体团队成员的名称,音译可能不准确故省略),目前我正在与 0xPARC 进行ZK应用研发和其他应用加密实验。0xPARC是一个致力于推动区块链或新加密体制的可能性的团队,很多这些实验都始于0xPARC社区的《黑暗森林》。

今天的演讲的主题是关于《黑暗森林》的,但是我真正想回答的问题是: 回顾运营这个游戏的三年,像黑暗森林这样的项目能在创新和更广泛的加密领域给我们什么启发呢?

1. 《黑暗森林》介绍

要回答这个问题,我们首先要谈谈什么是黑暗森林。用一句话来概括,黑暗森林是一款在以太坊上用zkSNARKs 创建的去中心化的MMORTS游戏。

首先,《黑暗森林》是一款大型多人在线(MMO)的即时战略类(RTS)游戏,发生在一个由程序生成的无限宇宙中,包含各种不同类型的行星和空间实体。最受欢迎的黑暗森林对决模式是长达一周的大混战,数千名玩家、Bots、AIs、甚至智能合约,为银河霸权展开面对面的竞争。玩家出生在宇宙中的一个微小母星上,他们必须收获资源,征服附近的星球,并通过联盟、贸易、谈判甚至战争与邻居互动,以扩大他们的帝国。这是一款自由放任的硬核太空主题战略游戏,回合会非常激烈。

Image

《黑暗森林》与传统策略游戏的区别在于它完全运行在兼容evm的区块链上。这意味着所有游戏状态和所有游戏规则实际上都存储在智能合约中,而不是传统的后端服务器中。玩家的每一步操作实际上都是链上交易。和现在以太坊上的应用相比,这个游戏是更为复杂的,每一步操作都可能消耗数百万的汽油费,玩家在某一轮当中会走数千甚至数万步。

《黑暗森林》与许多其他策略游戏相同的关键机制是,游戏中的许多阴谋都来自于隐藏信息或信息不对称的概念。整个黑暗森林的宇宙实际上是无限的,它充满了成千上万的对抗玩家、机器人、脚本、智能合约玩家等等。然而,单个玩家在加入宇宙后只能访问整个宇宙地图的一小部分,这正是赋予《黑暗森林》灵魂的地方。可能这听起来有点矛盾,我们的链上的应用程序当中有许多复杂的私有状态在游戏的各方玩家中相互转移,但是与此同时,区块链的所有信息都是公开透明的,换句话说,存储在智能合约中的任何数据都是任何人都可以访问的。所以我们该如何在游戏中让不同玩家知道区块链上地图的不同部分?答案是,这正是zkSNARKs 所能实现的,多亏了Iden 3团队在2019年的工作 : circomsnark js ,让这类应用程序或不完全信息游戏首次在链上构建成为可能。

2. 发展回望

希望上述的内容能够让大家理解《黑暗森林》到底是什么,接下来我想回过头来谈谈我们对游戏的看法是如何随着时间而发展的。

我们早在2019年就开始制作《黑暗森林》,一开始它只是一个不切实际(pie in the sky)的实验,我们想创建一个ZK游戏,每一个WASD 的移动实际上都是一个区块链交易,触发链上的zkSNARK证明来验证事务。当时这看起来很荒谬,区块链是超级慢和超级昂贵的数据库,当然只能用于关键的金融应用或转账,游戏需要的几乎完全相反,我们做了一些基准测试,估计在以太坊主网上《黑暗森林》的一次移动可能会花费10到100美元,玩家可能需要进行多达数千次移动才能与游戏进行有意义的互动。所以我们最初创造一款游戏并不是因为它是否可行,而是因为它是一种学习更多技术的智力实验,而且这看起来似乎是一件无用的事。

但是让我们把时间线快进3年,世界各地超过1万名的玩家参与了完全靠区块链运行的回合,他们在Ropsten, xDAI和Gnosis Chain上总共花费了数万亿的汽油费,一个丰富的开发者生态系统已经出现:第三方插件、替代客户端、GPU矿工、玩家团体、数据市场、链上数据分析工具等等。我们还看到了一些史诗级以欺骗,背叛,宇宙联盟为特征的链上戏剧。其中,我最喜欢的一个例子是两个玩家联盟之间的长期竞争:ordengg (由乌克兰和东欧的玩家组成) 和 dfdao,这两个都是玩家群体,他们使用各种加密原生的治理机制来玩这个游戏。我最喜欢的一个关于这个故事的总结是willchang.eth 总结的 tweet ,基本上,如果你找到这个帖子,你可以读到关于《死敌》《荣耀之梦》《背叛》《救赎》的故事,这真是太酷了!

在黑暗森林之外,我们已经看到了在更广泛的0xPARC社区当中,下一代应用程序研发的生态系统正在蓬勃发展起来。我们经常从《黑暗森林》中获得一些的灵感,我们会在之前所阐述的游戏关键理念的基础上进行拓展。

3. 为什么要开发链上游戏?

我们经常被问到的第一个问题就是为什么要在区块链上创造游戏。我认为这个问题的答案是: 链上游戏可以在更广泛的应用层面上教会我们创新。近些年来,为人所热议是所谓的GameFi、Play2Earn 或者是加密货币如何帮助游戏金融化。但是很诚实地讲,对于我个人来说,这些想法基础是链上游戏的可能性当中最为无趣的部分了,在这个方面确实会有一些有趣的内核,但是其中90%是被炒作夸大了。我认为原生加密游戏是更为强大的,因为它们有一种特性,在我的脑海中我把它称作无许可的互操作性。 黑暗森林是一个在以太坊上部署的智能合约,这意味着任何玩家、代码机器人或智能合约都可以通过编程与游戏进行交互,这引发了很多有趣的行为。

首先我们需要注意的是,任何加密原生的游戏基本上都是与客户端无关的,因为游戏规则和状态都存储在区块链上,游戏并不关心你使用什么客户端读取其数据或与其接口交互。在我们第一个发行的版本中,我们为玩家提供了一个开箱即用的web客户端,我们注意到玩家很快就开始破解客户端从而创建自动化的、不同类型的数据可视化工具或者是新的皮肤。Ivan 和其他的贡献者发布了一个插件工具链,允许人们构建和共享JavaScript代码片段,从而允许他们自定义或修改自己的前端游戏体验。现在有将近100个开源插件,玩家可以使用这些插件远程生成上链move所需的snark proofs、可视化敌人的领土、发动一场自动的战争...以及各种各样不同的功能,这是非常有趣的!

(左上角的 Towards Center 是 ddy 开源到插件库中的第一个插件)

更进一步的是,会有玩家有实现第三方客户端的想法,《黑暗森林》或者任何的加密原生游戏看起来更像是一个协议、一组你知道规则的数字物理世界,不同的人会通过他们想要的任何客户端来和这一套规则进行交互。这里有一个 Georgios(CTO of paradigm)和 Kobe Gerkin 为《黑暗森林》开发的一个客户端(代码地址) 。最初是在Rust中开发的,它的优点是允许你在终端上玩《黑暗森林》,它提供了比典型的 JavaScript Web客户端更好的性能,你可以生成snark proofs,并更快地探索宇宙,但这是以牺牲一个漂亮的视觉UI为代价的。

nick.eth (Lead developer of ENS)开发的dark forest AI的例子(代码地址 )。

我想明确指出的关于客户端的另一件事是,顶级玩家为玩游戏而编写了非常高复杂度的自动化bot 。所有这类活动在黑暗森林中都是公平的游戏,黑暗森林智能合约只是指定了规则或宇宙的物理规律,遵守这些规则,你可以做任何你想做的事。到2022年,一些顶级玩家已经创造了工具,允许他们几乎完全抽象出《黑暗森林》的基本关卡玩法机制,而不是一次一次的执行操作。相反,玩家操作的是更复杂的指示板,包含更高级别的启发式策略,比如按下按钮将银矿分配到该区域所有待升级的星球上。这些脚本将组合出这些更高层次的策略,并为他们的行动奠定基础。在这个意义上,玩家基本上是在编写自己的游戏体验,玩家创建的第三方工具,成为玩家游戏体验的一部分。

(注: DfArchon 开源了一个基于Dark Forest 接口的插件库 DF GAIA ,仅用三个用户面板中实现了玩家所需的90%的策略功能; 我们还在开发全自动的Bot DF SISYPHUS , 演示视频地址 , 感兴趣的朋友可以和我们获得联系,参与到我们的开发活动当中)。

未完待续,后面的内容更精彩 :-)

是更加深刻地体现黑暗森林官方团队思想结晶的内容。

后续阅读:

About DF Archon

DfArchon 是一个专注于黑暗森林的游戏开发团队。我们致力于黑暗森林游戏策略开发、从区块链层到客户端的游戏体验优化和游戏核心机制设计,更多的生态项目等待我们去发掘。

欢迎大家关注我们的推特账号 @DfArchon ,参与到我们的开发和测试的活动中,

也欢迎大家加入我们的discord群组,黑暗森林生态当中的最新动态我们会在 #news-of-darkforest 当中更新。

Subscribe to DF Archon
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.