下载 App
《木林森森》开发日志 01:森林不会停止生长
修改于昨天 17:2452 浏览综合 包含 AI 合成内容
运营日志 #01|森林正在醒来
21 天 Game Jam · 主题「涌现」
这次比赛的主题是「涌现」。
最开始看到这个主题的时候,其实有点没有头绪。“涌现”很容易让人想到复杂的生态模拟、群体 AI,或者大量简单规则互相作用之后产生的意外结果。但对于只有 21 天的 Game Jam 来说,如果真的奔着复杂模拟去做,很可能最后只剩下一堆系统,却没有一个完整的游戏。
所以最开始给自己定下来的方向是:
2D、规模尽量小、规则简单,但规则之间能够互相影响。
最初的想法:一片不会停止生长的森林
经过一番头脑风暴之后,脑海中突然出现了《饥荒》里种下的树迅速生长的画面:
如果在一个建设类游戏里,不只是玩家会扩张,地图本身也会扩张呢?
于是有了现在的暂定项目:《森林不会停止生长》。
涌现 或许可以用生长来表现
涌现 或许可以用生长来表现
玩家来到一片巨大的森林。森林并不是地图背景,也不是单纯提供木材的资源点。它会不断生长:玩家今天刚刚砍出来的空地,过几天可能重新出现树苗;刚刚开辟出来的道路,如果长期没有维护,也可能再次被森林吞没。
于是玩家和森林实际上在争夺同一件东西:空间。
最初的森林规则非常简单:
• 空地周围的树越多,越容易出现新的树苗;
• 树苗经过一段时间会成长为成年树;
• 玩家可以砍掉树木,创造新的空地。
也就是说,森林内部没有什么复杂 AI。它只是遵循几条简单的局部规则。但我希望这些规则运行起来之后,能够逐渐形成一些并没有被明确设计出来的现象。
比如,狭窄的林间道路可能很容易重新被森林封死,而大片空地的中央反而比较安全。如果真的能够自然出现这样的结果,那么“道路维护”“森林边界”“聚落形状”这些玩法,就不需要通过额外规则强行规定,而是可以从森林系统本身慢慢涌现出来。
这也是目前我对比赛主题“涌现”的理解。
这也是目前我对比赛主题“涌现”的理解。
第一个 Demo:先看看它长回来
于是第一步没有急着做完整游戏。没有建筑,没有敌人,没有科技树,甚至暂时没有村民。第一版 Demo 只验证一件事:
砍掉森林,然后看它重新长回来,这件事情到底有没有意思?
目前地图是一片森林,中间存在一块空地。玩家可以砍树,然后让时间推进,观察森林重新向空地扩张。
这个阶段刻意没有投入正式美术,因为现在最重要的问题不是“它好不好看”,而是:森林这个系统本身有没有潜力。

图 1|当前原型:森林、营地、鹿群与第一天的操作界面。(实机截图)
玩过 Demo 后发现了一个问题
Demo 跑起来以后,森林确实会扩张。但实际玩下来,我发现了一个很明显的问题:它不吓人。甚至有点像在整理花园。
森林长出来:我砍掉。又长出来:再砍掉。虽然系统确实在运行,但森林带来的更多是“又有事情要处理了”,而不是“糟了,它要过来了”。
这让我意识到:单纯的“森林扩张”并不能制造危机感。因为森林目前夺走的只是“空地”,而空地本身并不是玩家真正珍惜的东西。
如果想让森林成为这个游戏真正的核心,它必须不只是资源,也不只是地图障碍,而应该成为一种会对玩家的行为作出回应的力量。于是设计开始发生了一次比较大的变化。
白天属于人类,夜晚属于森林
现在准备尝试一个新的规则:白天,森林几乎停止生长。玩家可以利用这段时间探索、砍伐、扩张。白天应该让玩家产生一种感觉:“我正在逐渐征服这里。”
但是太阳落下之后,森林会醒来。夜晚森林的生长速度会大幅提高。白天刚刚砍出来的道路可能开始出现树苗;森林边缘重新向营地推进;昨天还是安全区域的地方,第二天早上可能已经再次被绿色覆盖。
白天是扩张。
黄昏是后悔。
夜晚是偿还代价。
清晨则是检查昨晚究竟失去了什么。
黄昏是后悔。
夜晚是偿还代价。
清晨则是检查昨晚究竟失去了什么。

图 2|白天清出的道路,入夜后重新被森林吞没。(概念示意,非实机截图,AI 生成)
篝火:从森林手里借来一点空间
同时准备加入一个非常重要的东西:篝火。
篝火周围存在一小片安全区域。在火光覆盖的地方,森林无法生长。于是玩家终于拥有了一个真正意义上的“家”。
森林可以吞掉道路,可以吞掉空地,未来甚至可能吞掉建筑。但只要火还燃烧着,这里就是暂时安全的。
森林代表不断生长的自然,而火光代表人类暂时从森林手中夺来的空间。
至于这片空间到底能够维持多久……还不知道。
至于这片空间到底能够维持多久……还不知道。

图 3|只要火还亮着,这一小圈空地就暂时属于我们。(概念图,非实机截图,AI 生成)
森林愤怒:危险来自自己的选择
今天最大的一个设计变化,是加入「森林愤怒值」。
我不希望游戏难度只是简单地:Day 1 简单,Day 10 困难,Day 20 更困难。我更希望:玩家自己的行为决定森林有多危险。
砍伐树木,会增加森林的愤怒。未来如果加入火灾、狩猎或者对森林更严重的破坏,它们也可能影响森林。于是会形成这样的关系:
想发展 → 必须砍树 → 获得资源 → 森林愤怒上升
→ 夜晚森林反扑得更加猛烈 → 第二天需要付出更多代价维持自己的领地
想发展 → 必须砍树 → 获得资源 → 森林愤怒上升
→ 夜晚森林反扑得更加猛烈 → 第二天需要付出更多代价维持自己的领地
这样一来,游戏的难度就不完全由时间决定。一个非常激进的玩家,也许第三天就能把森林彻底激怒;一个更加谨慎的玩家,可能会主动停止扩张,让森林重新平静下来。
我希望最后能够形成一种感觉:不是游戏在决定什么时候提高难度,而是玩家自己在决定什么时候去招惹森林。
一个正在形成的循环
目前最让我感兴趣的是一个可能出现的资源循环:玩家需要木材维持篝火,木材来自森林。
缺少木材 → 砍树 → 获得木材 → 森林更加愤怒
→ 夜晚更加危险 → 维持安全区需要更多资源 → 继续砍树
→ 夜晚更加危险 → 维持安全区需要更多资源 → 继续砍树
如果最终这个循环真的能够成立,那么玩家可能会自己进入一种越来越危险的状态:
“我知道继续砍树会出问题……”
“但火快灭了。”
“再砍一点应该没事吧?”
“但火快灭了。”
“再砍一点应该没事吧?”
然后太阳落山。
这大概就是目前最希望实现的游戏体验。不过,也必须给玩家“聪明的解法”,不能把它做成一个必死的数学模型。
接下来:先验证那一瞬间的后悔
下一版 Demo 暂时不会急着加入村民、动物或者复杂建筑。准备先验证四件事情:
• 昼夜循环;
• 白天森林基本沉睡,夜晚快速生长;
• 砍树提高「森林愤怒」;
• 篝火创造一块森林无法侵入的安全区域。
然后做一个很简单的实验:第一天只砍几棵树,第二天多砍一些,第三天疯狂砍伐。
如果第三个夜晚到来的时候,看着森林快速向篝火边缘逼近,我真的产生了这样的念头:
“……我今天是不是砍得太多了?”
那这个核心玩法大概就开始成立了。如果依然只是觉得“哦,树长得更快了”,那就继续改。毕竟现在还有时间。
这是 21 天 Game Jam 的第一天。














