# 全链双雄:Dark Forest 黑暗森林 Dark Forest的灵感来自于著名的科幻小说《三体2:黑暗森林》,其是首款 **全链上的不完全信息类 **游戏。 作为一款太空MMORTS游戏,其能同时容纳上千名玩家在随机生成的无垠宇宙中探索、建造和彼此征服,同时所有玩家的**行为和状态都会更新上链**,却**不向他人公开**。 ### 3.1 背景&历史 Dark Forest想法最早的提出者及创始人是 [@Gubsheep](https://twitter.com/gubsheep),他正巧参加完一个关于零知识证明的会议,便被刘慈欣所描绘的黑暗森林理论所折服,于是便有了一个利用零知识证明,创造一个“**加密世界中的黑暗森林**”的想法。 在最开始这只是一个非常实验性甚至带有些玩票性质的想法,毕竟游戏作为一个高频交互的应用,在当时乃至现在的区块链环境中都面临着巨大的挑战,更别说将刚刚萌芽的零知识证明应用到如此复杂的系统当中,谁也没曾想Dark Forest不仅实现了这个概念,同时也成为了区块链历史上的一个里程碑。 早期黑暗森林团队的主要成员由 Gubsheep、[@Alan](https://twitter.com/alanluo_0)(Sir Waddles)、[@Ivan](https://twitter.com/chubivan) 和 [@Moe](https://twitter.com/JannehMoe) 构成。 <img src="https://p.ipic.vip/hwbe13.png" alt="截屏2023-02-01 05.39.18" style="zoom: 25%;" /> 团队**在2020年的8月7号**正式推出了游戏的第一个**[测试版V0.3](https://web.archive.org/web/20221219131839/https://blog.zkga.me/v3-rules)**,部署于以太坊的Ropsten测试网。玩家需要获得早期发放的邀请码方能参与游戏,测试版本开放一周后结算删档,根据获得积分进行排名,并对Top15名的玩家设置了1024DAI的奖池,第一名将获得256DAI的奖励。该版本在上线后没多久,就获得了V神的亲自盖章推荐。 <img src="https://p.ipic.vip/j5jcrc.png" alt="截屏2023-02-01 05.46.51" style="zoom:33%;" /> 随着社区的成长,后续也有了更多的成员和志愿者的加入,包括 [@Scott Sunarto](https://twitter.com/smsunarto)、[@spencecoin.eth](https://twitter.com/spencecoin)、[@Andy](https://twitter.com/Kooshaba) 等社区成员都为Dark Forest的发展做出过许多杰出贡献。 在**2020年10月2日**,Dark Forest的[**V0.4版本**](https://web.archive.org/web/20201028151930/https://blog.zkga.me/dark-forest-v04) 正式上线,该版本部署在了xDAI STAKE网络上,可参与的玩家数量为V0.3的两倍,同时采用了Burner Wallet(一次性钱包),并将开放时间增加至了10天。与V0.3类似,玩家需要获得邀请码方可参与,并同样设有1024DAI的奖池分配给最终排行榜的前15名玩家。 Dark Forest的**[V0.5版本](https://web.archive.org/web/20221207194613/https://blog.zkga.me/dark-forest-v05)** 则上线于**2020年的圣诞节**,开放时间增加至了14天(2020/12/25 - 2021/01/08),这个版本中增加了十分重要的**插件系统**,同时也加入了可被探索的特殊NFT。 **[V0.6版本](https://web.archive.org/web/20220929042614/https://blog.zkga.me/announcing-v6)** 则是Dark Forest最新的一个版本,该版本共分为了5轮,时间跨度长达9个月,增加了许多新的功能和游戏元素,并且发生非常有意思的[《一段”史诗般”的故事》](https://mirror.xyz/vanishk.eth/TgEzC8MvAF2J5QBU61Xl1OsmgRVNX7mMOCA55GvRIh4)。 ### 3.2 参与方式 目前Dark Forest官方的V0.6版本 **已经结束**,且尚未公布下一轮的相关消息,根据过去版本的要求,通常会需要获得邀请码方能参与官方轮,一般有多余邀请码的玩家会在DF的官方Discord中分享,同时上一轮测试中获得过积分的玩家也会拥有一定数量的邀请码。 但除了官方轮,玩家们也可以多留意相关社区自行组织的**社区轮**,早期社区轮的举办对社区运维和开发能力的要求较高,主要有较有实力的社区举办,比如最早MarrowDAO的 [**《For Pioneer》**](https://buidl.mirror.xyz/PLGtmKyqiKgwLJ9-3RjSUWGl7IKSKc9kr_7Sr99yv38) 和dfDAO的 **[《新年社区轮》](https://medium.com/dfdao/a-dark-forest-new-years-community-round-death-of-the-universe-785af7c2b56e)**。 在2022年4月7日Dark Forest团队开发了相关的 [*Lobbies系统*](https://web.archive.org/web/20221005183434/https://blog.zkga.me/hosting-a-dark-forest-community-round),能让社区快速的完成一键开服,后续包括277DAO在内的社区和个人都曾借助该系统筹办过数轮社区轮次。 而如果只是想感受下Dark Forest基本游戏操作的小伙伴,可以去dfDAO开发的[Arena系统](https://arena.dfdao.xyz/)中创建一个小宇宙体验一下,或是使用ProjectSophon提供的[DarkForest本地版](https://github.com/projectsophon/darkforest-local)进行体验 ### 3.3 游戏核心玩法 作为一款RTS即时战略游戏,资源是游戏展开的核心,而最核心的资源便是 **天体的能量**,玩家通过 **传输能量** 来完成对天体的 **守护** 与 **侵占**,在整个宇宙探索和占领星球过程中,获得的资源将会被 **转化为积分**,最终在轮次结束时根据积分评定排名和奖励。 这一节仅对游戏的界面和核心元素做简单的介绍,想了解更全面详细的内容推荐MarrowDAO的这篇[《黑暗森林不完全指南》](https://mirror.xyz/bitnews.eth/HZe6uO_faEvwut39jQvMtzNorKzpkTLdvZrEo6J4sTU),有条件的朋友则更推荐YouTube上 [Spencecoin的视频介绍](https://www.youtube.com/watch?v=keY4a9cKmgg)。 #### 3.3.1 核心元素 - **战争迷雾**:一个不完全信息类游戏的核心,以 **灰色区域** 呈现,玩家可以将自行将 **探索游标** 放置至指定区域,游标将根据CPU或GPU的哈希率展开探索; - **天体**: - **种类**:截止至最新的DF v0.6,共有 *Planet(行星)*、*Spacetime Rip(黑洞)*、*Asteriod Field(小行星场)*、*Quasar(类星体)* 和 *Foundry(铸造厂)* 5种天体类型,不同类型有着不同的功能,通常而言行星会是主要的据点,黑洞用来提取和运输神器,小行星场产出银矿,类星体作为能量和银矿的仓库,铸造厂产出神器。每种类型的天体有0-10的**等级(Level)**设置和最高四级的属性**阶级(Rank)**,属性分为以下7种: - [属性/资源] **Energy (能量)**:以 *”目前能量/最大能量 (eg. 100 / 400)“* 数值呈现,是游戏中的核心资源。既是**最终积分**构成的一部分,也是防御、攻击和运输时的唯一消耗,将能量传输至目标天体后,若抵达能量值大于目标天体的 (现有能量 x 防御系数),即可占领该天体; - [属性/资源] **Sliver (银矿)**:以 *”目前银矿/最大银矿储存 (eg. 0 / 100)“* 数值呈现,同样是游戏中的核心资源。既是**最终积分**构成的一部分,也是升级行星时的必须消耗品; - [属性] **Energy Growth (能量生成速率)**:除了 *Quasar 类星体*,其他天体均会根据该 **速率** 及 **目前能量比例**,随时间不断地**生成能量**,直至该天体的能量上限; - [属性] **Sliver Growth (银矿产出速率)**:**产出银矿**的速率; - [属性] **Defence (防御)**:属于**百分比系数**,代表当前能量值能抵御百分之多少的能量攻击,若当前能量200,防御300,则能抵御600能量的攻击;若防御为50,则只能抵挡100能量的攻击; - [属性] **Speed (传输速度)**:决定了**资源的传输**速度; - [属性] **Range (射程)**:在黑暗森林中能量的传输会随距离而衰减,该值代表传输能量衰减至零的**最大距离**; - **Artifact 神器**:神器为具有强大能力的一种特殊NFT (ERC-721)道具,仅能从 *Foundry铸造厂* 或是二级交易获得,有一次性的和可重复使用的两种类型,目前包括Spaceship在内共有9种神器; - **Spaceships 宇宙飞船**:属于神器的一种,在DF v0.6的最后一轮竞赛中,官方加入了[宇宙飞船的设定](https://web.archive.org/web/20220811181133/https://blog.zkga.me/v6-r5-announce),玩家出生自带5艘类型不同飞船,每种类型都能为天体带来不俗的加成效果; - **积分**:最终判断玩家排名的依据,由玩家所有已占领的天体的能量和银矿数量构成。 #### 3.3.2 界面 - **登录界面** 用户在官网进入会首先会看到的是一个非常原始的代码登录界面。 但用户只需要填对应选择的编号即可完成钱包的创建,创建好的钱包会将 **私钥储存在浏览器中**。 如果需要更换浏览器或电脑则需要将 **私钥导出** 后,在新的端上 **重新导入**。 <img src="https://p.ipic.vip/oxl9go.png" alt="截屏2023-02-02 18.50.21" style="zoom:33%;" /> - **游戏界面** <img src="https://p.ipic.vip/bqxdxx.png" alt="截屏2023-02-02 18.48.39" style="zoom:50%;" /> 在完成登录后,玩家便会进入到这样的初始界面中,正中央的便是玩家被随机分配至的母星。 右下角 **红色框框 **内则是前述提到的**属性**信息,下面也有关于天体类别和所有者的信息; 左上角 **红色圈圈** 内的则是玩家目前的**积分**情况; **右侧的代码Feed **则是所有行为的记录与**反馈**,可以看到行为是否有成功上链; 而如果将视野缩放一下,就能看到蓝色范围外布满了**灰色的战争迷雾**,和正在一格一格探索的**游标**; 到这里游戏就正式开始了,玩家可以通过按住母星,将鼠标拖动至想要占领的目标星球完成首次的能量传输。 #### 3.3.3 简单的游戏流程 Dark Forest是一个十分自由开放的MMO策略类游戏,而且每一轮的游戏机制都会有略微的变化,因此需要玩家自由的发挥自己的想象力,去构建游戏内或是游戏外的打法。(没错,你完全可以去各大社区里面尔虞我诈一番来获得胜利LOL) 但通常而言,在开局的最早一段时间内都属于资源的积累期,在这个阶段,玩家普遍会先安装好自己顺手的插件,然后开始扩展视野,寻找蓝色Nebula区域外的黑色区域Deep space中合适的行星作为早期据点,并不断巩固自己的据点网络,同时开始寻找神器增加实力。 有了早期的基础之后,便可根据自己的风格开展不同的战术部署,无论是向往星辰大海的探索型玩家,还是想赚点小钱的神器商人,亦或是主张斗争的侵略型玩家都有丰富的余地去施展自己的拳脚。 在这里推荐一篇由MarrowDAO成员[@xiangcai.eth](https://twitter.com/xiangcai88)分享的[《Dark Forest个人策略心得》](https://mirror.xyz/xiangcai.eth/Epz_mwS7uQUy0JcanS1RhpEGi0Dh3yisd7vdo8bRmvo),对新人玩家而言会是非常不错的参考。 而如果想要了解更大规模的战争,可以看看这场由[spencecoin记录的约战](https://www.youtube.com/watch?v=o9A-cfDanTY&t=97s),由Ner0nzz(v0.6.1排名第2) 和 0x000da (v0.6.2排名第7)两位顶尖玩家在私下约定的规则中展开的一场宇宙鏖战,同时Ner0nzz也用[一篇文章](https://www.panewslab.com/zh_hk/articledetails/D35780083.html)从自己的视角用阐述了整场战役。 ### 3.4 Dark Forest为什么耀眼 前面我们对全链上游戏的定义以及Dark Forest进行了快速的介绍,但为什么Dark Forest那么重要,一个明明看上去十分粗糙简陋的游戏,为何会成为深入加密世界或是链上游戏过程中绕不开的名字?这就需要去了解Dark Forest到底实现了什么: #### 3.4.1 技术层面:FOC + zk-SNARK - **全链上 Fully On-Chain, FOC** 在Dark Forest之前,全链上游戏的可行性一直都处于一个概念性的假设当中,因为游戏与其他的应用不太一样,尤其是想实现多人实时在线类的游戏,其有着对网络延时极高的敏感以及高强度的交互要求。 比如MMORPG或者MOBA类,可能一个玩家一秒内就会有10个以上的操作,和普通只需要和系统交互的应用不同,这些操作的交互对象即包括了系统,还包括了正在发生交互的其他玩家,而每个操作都需要获得即时的反馈才能推进游戏的进展,这在当时平均仅有12-15TPS的以太坊网络上显然是不可能的事情。 并且要将游戏全部放至链上,也就意味着这些交互程序都需要以智能合约的形式部署,这对于游戏种类的选择以及游戏逻辑的设计都带来了极大的挑战。 而Dark Forest是第一个将这种概念性想法付诸实施的项目,其将所有的游戏规则和逻辑都以合约的形式部署至了链上,使玩家和宇宙的状态都会在任何交互发生后,实时更新在链上。因此即便时至今日,Dark Forest仍然可以称得上是整个区块链中**最复杂的应用之一**。 - **zk-SNARK实现不完全信息博弈 ** 在博弈的类型当中如果按照参与者掌握的信息程度来划分,可以被划分为**完全信息博弈**和**不完全信息博弈**,区别就是参与者是否能完全掌握彼此所有的信息,**完全信息博弈**中最典型的案例就是国际象棋,因为棋盘是公开的,所以参与者是在相同的信息基础上做决策;而**不完全信息博弈**的典型案例就是德州扑克,除了台面上公开的五张牌之外,玩家还有各自的两张底牌,这便提升了决策的挑战性。 在网络电子游戏中,不完全信息博弈最典型的元素便是 ”战争迷雾“,通过对视野的遮蔽来实现信息的不对称性。但该方法在曾经的区块链中几乎无法实现,因为一旦所有的游戏交互逻辑上链,玩家的交互内容和状态也会被更新至链上,变成**透明可查**的状态,因此战争迷雾也失去了意义。 <img src="https://p.ipic.vip/ed0vd6.png" alt="截屏2023-02-04 00.26.32" style="zoom:50%;" /> 但Dark Forest则首次采用零知识证明算法zkSNARK,实现了对玩家交互信息的隐藏,**使区块链上的不完全信息博弈变得具有可行性**,同时也丰富了**zk技术的应用场景**和**全链上游戏**的可能性。 #### 3.4.2 体验层面:完全遵循加密理念生长的,自由开放高组合性游戏生态 **开源全链上游戏**的模式赋予了Dark Forest一种非常重要的特质,那就是**“Permissionless Interoperability 无许可的互操作性 ”**。 Dark Forest本质上是一个**以太坊智能合约**,像是某种协议或**规则**,这首先意味着其**不再受到特定客户端的局限**(Client Agnostic),任何有能力的人都可以用自己喜欢的视觉形态,创造一个前端客户端来调取后端合约的参数;同时,这也意味着任何的 **地址** 都能与其交互,无论该地址背后是人、机器人或是另外一个智能合约,这不仅扩展了游戏策略的边界,也催生出了一个**繁荣的插件生态**(Plugin)。 在这个生态中,玩家们自发的去组合、构建和尝试各种各样的事物与玩法,从而形成了一个有机的社区。过程中所创造的东西也完全超出了官方的预期,比如神器的交易市场、天体的交易市场、行星的赏金系统甚至是战斗AI等等,这些插件的出现**增添了更多的游戏目的和玩法**,也让更多类型的玩家可以参与进来。而Lobby系统的推出以及链上引擎的发展,更是连规则也得到了释放,玩家可以自由的设定宇宙规则来开展游戏。 这种开放的高组合性属性,毫无疑问的大幅拓展了游戏可能性的边界,让游戏玩家**本身可以参与到游戏体验的构建**当中,而不再是依赖于官方团队。 ### 3.5 Dark Forest 的生态体系 如上文所述,随着Dark Forest的发展,生态成为了其非常重要的存在,甚至可以说在核心规则/合约部署完之后,就没官方什么事儿了,正如他们自己定位的一样,他们就如同实验室里的科学家,布置好培养皿的生长环境后,就静静期待着菌群的自由发展和演化。这里会对部分有料可考的社区及插件生态做一个简单的描绘,若想全面的了解,非常建议亲身参与到整个生态中进行体验: #### 3.5.1 社区生态 - **[Dark Forest](https://twitter.com/darkforest_eth):** 首先是官方的社区,属于培养皿本皿,生态广场的概念,除了特定活动或公告的发布,以及日常的问题解决之外,运营行为较少; - **[Project Sophon](https://github.com/projectsophon):** 是一个坚决不认为自己是DAO组织的美国团队,非常认可Dark Forest的理念与愿景,并与核心团队有着紧密的合作,成为了Dark Forest生态中密不可分的一部分。他们拥有十分强的技术能力,侧重与基础架构层面的技术搭建,他们曾写了一个[Dark Forest本地库](https://github.com/projectsophon/darkforest-local) 让用户可以自己在链下或链上开启一轮游戏,同时他们做了一个非常《三体》的**坐标广播插件**,让玩家可以通过暴露目标位置来赚悬赏的doxx 2 earn机制; - **[Orden_GG](https://twitter.com/orden_gg):** 是一个非常硬核的乌克兰游戏组织,无论是代码能力还是游戏技术都有着很高的水准,曾在v0.6版本中**连续4轮登顶第一**,同时也是生态内优质的建设者,有很强的行动力和执行力,构建了**神器的交易市场**并且加了流动性池,另外还是Aavegotichi(小幽灵)的核心玩家,甚至给这个游戏做了个开源的客户端; - **[D_F DAO](https://twitter.com/d_fdao):** 是v0.6版本时成立的早期以美国人为主的DAO,是一个非常注重**游戏体验创新**的组织,同样具有非常优秀的开发能力,和核心团队有着很好的合作,在Dark Forest宇宙中创造了许多有意思的东西,包括献祭流打法的**星界巨像**(是一个智能合约,让成员将自己的星系贡献给合约,让其以集体的形式获胜)、Dark Forest 的魔改版 [Dark Forest Arena](https://medium.com/dfdao/dark-forest-arena-14c47bfd4e8)(一个MOBA形态的DF竞技游戏)等等,在游戏中也擅长组织和尝试新的策略。整体有着不错的品牌宣传与运营,是Dark Forest中一个非常有活力的社区; - **[DF Archon](https://twitter.com/DfArchon):** 是一个由中国人构成的**开发者小团体**,专注于通过Dark Forest插件的开发去整合与促进生态的发展,创造出了许多生态内的优质插件,并且将DF中的工具函数进行了更加用户友好的封装,构建成了[DF-Gaia](https://github.com/dfarchon/DF-GAIA/blob/main/README.zh-cn.md)让玩家更好的使用,同时也创造了Dark Foster游戏中第一个天体赏金系统**Artemis**, - **[MarrowDAO|GuildW](https://twitter.com/marrowdao):** 同样是一个由中国人构成的**华语DAO**,非常积极的协助的Dark Forest生态的拓展与推进,属于Dark Forest的核心布道者,尤其是在华语圈内。MarrowDAO组织内部产出了非常多优质的文章和策略分享,同时也有着不俗的开发能力,开发出了包括**神器交易市场**在内的不少插件,同时也是整个Dark Forest生态中**首个举办社区轮的组织**,由于彼时尚未拥有Lobby系统,需要社区自行修改客户端和合约端的代码,其工作量和技术含量是不小的; - **[277DAO](https://twitter.com/277dao_)**: 是一个并不局限于Dark Forest的**华语社区**,擅长于筹办活动,在Dark Forest的Lobby系统上线后曾连续举办了5轮的Dark Forest社区赛事;同时也是中文区内的主要布道者,翻译和编写了许多Dark Forest相关的教程与资料,并开发了一些有意思的小插件; - **P DAO:** 是一个相对神秘的小规模中国人组织,在V0.6.5轮次方出现,不同于大型DAO的大规模插件使用和集团式的扩展策略,P DAO更侧重于团队成员的高效协同,通过全程语音和班次轮替的策略,在v0.6.5实现了7名成员霸占前十的优秀成绩。 #### 3.5.2 插件生态 插件是整个Dark Forest中堪比灵魂的存在,目前仅经官方审核收录于的[插件库](https://plugins.zkga.me/)的开源插件便达55款插件,在这里将仅做概述性的介绍。 通过使用目的我们可以大致的将插件分为3大类: 1. **可视化**:由于Dark Forest原生的游戏界面相对简洁,因此便出现了许多能帮助信息更好呈现的插件,相对常用的包括: - **数据的可视化**: Heat Map热力图、小地图Mini Map、能计算星球间传输时间的Voyage Time、DF Archon开发的地图导出工具Map Filter Export等 <img src="https://p.ipic.vip/ttpafg.png" alt="截屏2023-02-04 18.43.43" style="zoom:50%;" /> - **特定目标的高亮或标记**:DF Archon开发的两个抱团必备插件 友善标识Peace Dove 和 高亮好友 Highlight Friends,高亮星球buff的 Hightlight Buffs等等 <img src="https://p.ipic.vip/j0bdoa.png" alt="截屏2023-02-04 18.54.59" style="zoom: 33%;" /> 2. **交易市场**:只要提供不同资源交换的平台,给玩家增加了新的游戏动机,主流的包括: - 神器交易市场:D_F DAO的[Artifact Market](https://darkforest.market/), Marrow DAO的[Dark Sea](https://github.com/snowtigersoft/darksea-market) - 坐标悬赏市场:由0xSage和xyz_pierre利用zk技术开发的[NightMarket](https://blog.zkga.me/nightmarket) - 星球悬赏市场:DF Archon开发的 [Artemis](https://github.com/dfarchon/DF-ARTEMIS) 3. **自动化**:这类插件使用的频率通常更高,主要通过脚本帮助玩家简化原本复杂繁琐的操作,提升执行效率: - 资源相关:神器的捕获和管理两件套 Hunt Artifacts、Artifactory、银矿的一键分配Distribute Silver、一键汇集资源Centralize Resources等等 <img src="https://p.ipic.vip/rwcr5k.png" alt="截屏2023-02-04 19.22.41" style="zoom:50%;" /> - 战斗相关:一键捕获周边星球 Crawl Planets、自动重复攻击Repeat Attack、一键协同攻击Simultanous Attack、甚至能直接针对玩家发起战争的Wage War等等 <img src="https://p.ipic.vip/gxz6ue.png" alt="截屏2023-02-04 19.22.48" style="zoom:50%;" /> 除了官方审核收录的开源插件外,更有大量玩家或社区自主开发的插件或客户端,由此而构建出了丰富的游戏体验和多样性的玩法,甚至有社区玩家开发一个能自己玩[Dark Forest的AI](https://twitter.com/nicksdjohnson/status/1427190777365417985)。这种围绕核心宇宙规则,向下无限展开丰富血肉,有玩家自由构建游戏体验和组合工具的开放生态模式,让Dark Forest拥有了比传统中心化游戏更广阔的可能性。