<!-- title: 《GodotProjectZero》十三年前的黑屋，还在教人赚钱 -->
<!-- domain: games -->
<!-- repo: TinyTakinTeller/GodotProjectZero -->

# 《GodotProjectZero》十三年前的黑屋，还在教人赚钱

2013年，一个叫 Michael Townsend 的开发者发了款网页小游戏：打开是一片黑，屏幕上只有一句话和一根火柴。没有美术、没有音效、没有教程，全靠一行行文字往外蹦。就是这间“小黑屋”，第二年被人移植到 iOS 之后，冲上了美区 App Store 付费榜第一，作者在博客里把整个冲榜过程写成了一组复盘文章，成了独立游戏圈的教科书案例。

十三年过去了，这间黑屋还没凉。GitHub 上有人在用 Godot 复刻这套公式——今天要挖的就是这个仓库：**TinyTakinTeller/GodotProjectZero**，一个叫 **A Dark Forest** 的实验性极简放置游戏。Star 不多，但它复刻的这套玩法，到今天仍然是个人开发者“零美术、纯文字、两周出活”的最佳起手式之一。

## 仓库档案

先把丑话说在前面：这个仓库 Star 只有三位数，跟你印象里“开源爆款”不沾边。但它值一篇文章，原因不在仓库本身，而在它选的那个“祖师爷”——A Dark Room 是文字放置这个品类的活化石，看一个人怎么复刻它，比自己啃原版更能看清这套玩法的骨架。

## 这游戏是什么

一句话说清：**你从一间冷屋子和一根火柴开始，靠一行行冒出来的文字，把一个文明慢慢点着。**

A Dark Room 的经典开局是这样的：屏幕漆黑，只有“生火”一个按钮。点了，火亮了，屋子暖了，按钮变成“添柴”。你出去捡柴火，回来发现火又灭了。来回几次，系统赏你一排置物架；再过一会儿，出现“做陷阱”的选项；陷阱抓到毛皮，你学会盖小屋；小屋盖起来，陌生人陆续入住，变成村民——你得给他们分派工作：采集的、打猎的、制皮的。然后地图展开，旧道路、荒野、铁矿、洞穴……一处一处冒出来，每处都藏着新的文字、新的资源、新的危险。

A Dark Forest 复刻的就是这套公式，并且按“极简”两个字往死里砍：砍掉美术、砍掉动画，只留状态、资源和文字，用 Godot 重写成实验版。整个游戏的核心循环，画出来长这样：

```mermaid
flowchart TD
    A[生火/添柴<br>维持温度] --> B[出门采集<br>捡柴/设陷阱]
    B --> C[资源入袋<br>木头/毛皮/肉]
    C --> D{资源够解锁<br>下一格了吗?}
    D -- 不够 --> B
    D -- 够了 --> E[盖建筑<br>柴火房/小屋/陷阱]
    E --> F[村民入住<br>分派工种]
    F --> G[工人持续产出<br>离线也在涨]
    G --> H[触发新事件文字<br>村庄消息/地图地点]
    H --> I[好奇心被勾住<br>想看下一行字]
    I --> A
    I --> B
```

注意这个循环里最狠的一环：**驱动玩家回来的不是资源，是“下一行字”**。木头可以算出来，但“荒野深处那间废弃小屋里有什么”算不出来。这就是这类游戏和普通数值放置的分水岭，后面细说。

## 为什么上头

把这间黑屋拆开，你会发现它几乎是一份“人类成瘾机制”的清单，每一条都能对应到具体的按钮：

**1. 文字即奖励——进度感最便宜的实现。**
一般游戏要做出“进度感”，得画新地图、做新怪、配新音乐。A Dark Room 只需要多打一行字：“村民中开始流传森林里有狼出没。”十一个字，玩家的多巴胺一样照给不误。对个人开发者来说，这是天大的好消息：**别人用美术买的情绪，你用文案就能买**。一条新事件文字的成本是一个字符串，一条新怪物模型的成本是一个月的美术外包。

**2. 选择权膨胀曲线——按钮从 1 个长到 20 个。**
开局你只有一个“生火”，这不是偷懒，是精心设计的压迫感：没有选择的时候，给你一个选择就是恩赐。之后每几分钟赏你一个新按钮，玩家的体感是“我在不断变强、不断解锁”，其实系统只是把预先写好的表按序弹出。这种“漏斗式解锁”让前 30 分钟的流失率极低——因为每一分钟都有新东西看。

**3. 稀缺制造心流——柴火永远差一点。**
火会灭，这一条是整个游戏的心跳。你添的柴在烧，村民在吃，陷阱会空——所有资源的出口都在漏。玩家永远处在“刚够又不太够”的边缘，这是心流理论里最标准的张力区间。太富了无聊，太穷了挫败，“差一点”刚刚好。

**4. 离线成长的错觉——放置游戏的回访钩子。**
村民一旦入住，就算你关掉浏览器，他们也在“替你打工”。几小时后回来一看：仓库满了，村庄里又冒出一行新文字。这个设计同时命中两件事——**给玩家一个回来的理由**（看看涨了多少），和**给玩家一个骄傲的资本**（我睡着的时候我的文明还在生长）。移动端放置游戏那套“离线收益翻倍，看个广告？”的印钞机，烧的就是这条人性。

**5. 不解释的美学——好奇心缺口。**
这游戏从头到尾不给你说明书。毛皮是干嘛的？铁匠铺为什么是灰的按钮？ wandering stranger 给你的东西有什么用？一律不解释。玩家被迫去搜攻略，于是有了社区 Wiki，有了“剧透警告”的攻略帖——**一个游戏能让玩家主动建 Wiki，留存就不用愁了**。这个“故意不解释”的招数，零成本，可惜绝大多数新手不敢用。

对照经典的上头六因子：即时反馈（每下点击数字都动）、进度感（新按钮新文字）、随机奖励（事件和地图掉落）、策略深度（工种分配的资源平衡）、收集欲（物品栏一格格填满）、社交攀比（讨论帖里晒进度）——它前五项全占，唯独不靠第六项。**一个不联网的单机文字游戏能做到这个覆盖度，这就是它被复刻十三年的原因。**

## 技术拆解

从仓库信息看，这是一个 Godot + GDScript 项目。对想入局的人来说，这个技术选型本身就是答案：

**为什么是 Godot 而不是网页三件套？** 原版 A Dark Room 2013 年用 HTML+JS 写成，是当年最顺的路。今天你再写纯网页版，要跟几千个 Wordle 克隆抢曝光；而 Godot 一键导出 Windows/Mac/Android/iOS/Web 五端，同一个文字放置游戏，就能同时上 Steam、手机商店和 itch.io——**对变现来说，“能上几个店”比“代码多优雅”重要十倍**。GDScript 语法接近 Python，会一点脚本语言就能上手，MVP 学习成本几乎为零。

**这类游戏真正要拆的不是引擎，是“内容管线”。** A Dark Room 全部秘密在数据结构里，A Dark Forest 的复刻价值也在这里。照着原版的骨架，你需要实现的是这么几张表：

- **建筑解锁表**：`{名称, 前置条件, 造价, 解锁后开放的按钮}`——整个游戏的“选择权膨胀曲线”就是这张表按序弹出；
- **物品/资源表**：`{名称, 获取途径, 用途标签}`，“不解释美学”靠它控制信息披露的节奏；
- **事件池**：`{触发条件, 概率, 文案, 奖励/惩罚}`——随机奖励全从这里抽；
- **工种产出表**：`{工种, 每秒产出, 消耗}`——离线收益的核心。

四张表配一个滚动文字日志组件（新事件往上插一条，带渐隐），游戏就立起来了。这几个组件全是通用的：你换成修仙题材、开饭店题材、末日生存题材，管线一字不改，只换表内容。

**存档和离线结算，各只需十行左右的核心逻辑。** 存档：把资源、建筑、事件进度序列化成 JSON 写进用户目录，读档时做版本迁移；离线收益：记录时间戳，读档时用 `当前时间 - 上次时间` 乘以工种产出，封个顶。这两个不起眼的小函数，恰恰是商业放置游戏付费点的地基——“离线收益×2，看广告解锁”卖的就是它们。

**MVP 工作量估算**：核心循环（生火—采集—建造—村民—离线）一两周；填上 30~50 条事件文案和三张地图地点，才是一个“完整感”够卖的作品，再加一两周。对照原版是一个人业余时间做出来的量级，这个估算不算乐观。

## 变现观察

这间黑屋的祖师爷，本身就是一份完整的变现教案：

**A Dark Room 本尊的路径**：网页版免费上线，攒口碑攒玩家；2014 年开发者 Amir Rajan 把它移植上 iOS，低价付费下载，冲到美区 App Store 付费榜第一，并在自己博客上公开了完整的榜单冲刺复盘——从选关键词到控制评分节奏，写得明明白白。一个零美术的文字游戏，靠这套打法登顶付费榜，这件事至今还在给文字放置品类背书：**这个品类的天花板，是被验证过的**。

落到今天，复刻这套玩法的现实变现路径有四条，按门槛从低到高：

1. **H5/小游戏平台 + 激励视频**。放置类是广告变现的宠儿：单局时长长、回访频繁、“离线收益翻倍”“加速两小时”是天然的广告位，用户看广告的意愿远高于其他品类。微信小游戏、抖音小游戏上竖屏纯文字的放置产品已经跑出过不少案例。
2. **itch.io 付费下载 + 打赏**。文字放置在 itch.io 有稳定的受众，定价随意、支持 pay-what-you-want，适合先放个半成品试水。
3. **Steam 低价付费**。Godot 导出 Steam 包很顺，文字放置做 15~30 分钟一次的“完整一局”体验，按同类先例定价个位数美元卖得动。
4. **开源本体 + 卖周边**。仓库开源攒 Star 和信任，赚钱靠教程、模板、定制换皮——很多独立开发者的真实收入结构其实是“游戏免费，手艺收钱”。

## 给我的灵感

三个可以直接动手的点子，按投入从小到大排：

**1.《出租屋创业记》——换皮复刻，MVP 两三周。**
把黑屋换成出租屋：生火→交房租续命，捡柴→接外卖单，盖小屋→租下第二间房，村民→雇兼职店员，工种分配→排班，地图→整栋楼的神秘房间。事件文案全部本地化：房东查房、邻居投诉、隔壁烧烤摊来挖人。竖屏纯文字，直接上微信小游戏，变现走激励视频（“离线收益×2”）。这是三条里最快见到钱的，核心代码照着 A Dark Forest 的表结构抄思路就行。

**2. 给黑屋加一个“每日种子”。**
A Dark Room 类游戏最大的遗憾是通关即弃。学 Wordle 的传播思路：每天固定一个随机种子，全服同一套事件序列，玩家比谁当天爬得远，结果导出成一张 emoji 网格图分享。这一改动把“单机放置”变成“轻社交攀比”，补上了上面说的第六因子——而且实现成本只是把随机数发生器换成可播种的，一周内能加完。适合在 H5 版上做，传播和广告变现互相放大。

**3. 卖模板不卖游戏。**
把这类仓库的结构吃透之后，整理成一份“文字放置游戏 Godot 模板”：四张数据表 + 日志组件 + 存档/离线结算代码 + 一份换皮教程，上架 itch.io 和 Godot Asset Library，定价 10~15 美元。ADR-like 是独立开发者练手的热门品类，“想做个黑屋游戏”的人永远在源源不断地出现——**淘金热里，卖铲子的比挖金子的先赚到钱**。

## 上手

一句话收尾：这间黑屋烧了十三年还没灭，说明的不是情怀，是需求。火种开源了，柴火得你自己捡。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
