首页 › games › 《A Dark Room》点把火,烧上付费榜

《A Dark Room》点把火,烧上付费榜

仓库档案

项目 内容
仓库 doublespeakgames/adarkroom
作者 Michael Townsend(Doublespeak Games,个人开发者)
Star 约 7k+(据仓库页面,实时数据以 GitHub 为准)
语言 JavaScript(原生 + jQuery,无框架)
License MPL 2.0(据仓库页面)
首发时间 2013 年
维护状态 多年持续小修小补,社区翻译长期在合(据仓库页面)
在线试玩 adarkroom.doublespeakgames.com(自带中文)

先说清楚这个仓库的分量:它不是某个教程 demo,也不是什么 framework,它是一个完整上线、有续作、有主机版、登过 App Store 付费总榜第一的商业游戏,源码全部摊开在 GitHub 上。作者是一个人,代码总量不大,纯前端,clone 下来双击 index.html 就能玩。对想入局游戏变现的个人开发者来说,这是教科书级别的“拆开看看人家怎么赚钱”的样本。

这游戏是什么

一句话:开局只有“生火”和“添柴”两个按钮的文字放置游戏,火越烧越旺,世界越烧越大,最后把你烧上一艘离开地球的飞船。

2013 年,Michael Townsend 受 Candy Box 启发做了这个网页小游戏。没有美术,没有音效堆砌,没有新手引导,第一屏就是黑底白字的几行英文和一个火堆。玩家口口相传,社区自发把它翻译成十几种语言(含中文),一路长到今天。

玩法结构大概三层:前期是独居小屋的生存(添柴、捡水、吃肉);中期陌生人进村,变成村庄经营(小屋、陷阱、制革坊、教堂,资源链一层套一层);后期造飞船离开地球,进入 New Game+ 带加成重开。全程没有一张图片,所有世界都靠文字在你脑子里渲染。

核心循环长这样:

flowchart TD
    A[生火 / 添柴] --> B[资源自动产出]
    B --> C[解锁新建筑 新按钮]
    C --> D[随机事件带选择]
    D --> E[新名词 新悬念]
    E --> F[好奇心 + 进度感]
    F -->|就再看一会儿| A
    B -.离线也在涨.-> G[关掉网页也惦记]
    G --> A

注意这条循环里最狠的一环:资源在你关掉网页的时候也在涨。系统在你不在场时持续给你发奖励,你“回来”这个动作本身就是开盲盒。

为什么上头

把它拆开看,几乎每个机制都是冲着“再来一会儿”设计的。

1. 信息差开局:好奇心就是引擎。 游戏不解释任何东西。你看到的第一个反馈是"the room is freezing",然后是"the fire is dead",你点添柴,变成"the fire is roaring"。三行文案教会了基础操作,同时埋下一个问题:这游戏到底是个啥?没人告诉你,所以你只能继续点。零成本教程,全靠玩家自己的好奇心驱动,这是文字游戏最聪明的一面。

2. 分层解锁:先给名词,再给功能。 陌生人进村,先躺墙角不省人事;你添几轮柴,她醒了,自称 builder;再过一会儿,她提出第一单生意——造辆推车。然后是陷阱、小屋,小屋越盖越多,村庄成型。注意节奏:每个新系统都是“延迟到货”的。builder 躺墙角的那几分钟,你满脑子都是“她醒了会干嘛”。这种悬念不需要任何剧情功底,只需要把解锁顺序拉开时间——免费的钩子。

3. 冷却按钮:游戏的心跳。 所有行动按钮都带一个冷却转圈动画。这个设计一石三鸟:视觉上给你“世界活着”的即时反馈;操作上限被天然限频,防肝防炸;转圈结束那一刻的“可点击”状态,本身就是一个微小的多巴胺点。你等的那 15 秒不是惩罚,是预告。

4. 随机事件:30 字一发的叙事钩子。 旅人讨水、神秘商人、野兽夜袭、陌生人带Weapon来访……每个事件就两三句话加一两个选项,做成纯数据配置。单独看平淡无奇,但架不住频率和随机性——玩家永远不知道下一秒会掉什么,这就是最原始的随机奖励机制。

5. 挫败与重开:损失厌恶反向锁人。 火会熄、村会被袭、人口会掉。有损失,玩家才会“我得回去看看”。纯躺平收益的游戏留不住人,ADR 早就懂。

6. 终局与 NG+:给长线一个理由。 飞船升空那一下,前面几十小时的所有资源链全部兑现意义。NG+ 带加成重开,收集欲和成就系统接棒,循环再转一圈。

你会发现 ADR 没有用任何一项高级技术,它只是把即时反馈、进度感、随机奖励、收集欲四个开关全拧到了适合的位置。这是设计功力,不是技术功力——也正是个人开发者最该抄的部分。

技术拆解

这套代码的可爱之处在于“原始”:原生 JavaScript + jQuery,没有构建工具,没有 npm 依赖地狱,没有状态管理库。2013 年的写作风格放今天依然能跑,而且正因为简单,才适合当模板抄。

几个值得细看的模块:

全局就是一个大 State 对象加 get/set,没有任何框架。它会提醒你一件事:MVP 阶段的状态管理,购物车级别的就够了。真正难的是上面那层“内容节奏”的设计,而那不需要写代码。

可复用清单:冷却按钮、事件调度、解锁条件表、放置产出 tick、localStorage 存档。这五件套拼起来,换个皮就是一个新游戏的地基。

变现观察

这才是这个仓库最值得写进你商业计划书的部分,因为它有一条完整的、被验证过的变现链路。

原版网页:免费 + 开源,本身不挣钱。 无广告、无内购、无注册。它挣的是另一样东西——口碑和分发。开源让社区自发翻译、自发传播、自发维护,等于零预算买量,全世界玩家帮它做本地化。

真正收钱的地方在下游。 2014 年,iOS 开发者 Amir Rajan 把它移植上 App Store,定价 0.99 美元付费下载,随后一路冲到美区付费总榜第一(据当年多家媒体公开报道)。之后顺水推舟:续作 The Ensign 上线,游戏本体还登陆了 Switch、PS4、Xbox,主机版继续收费。一个 2013 年的免费网页游戏,靠“移植 + 多平台发行”收割了多年。

把这条链路抽象一下:

网页免费开源版(获客 + 口碑 + 天然试玩 Demo)
    ↓ 导流
移动端付费下载 / 去广告内购(主要收入)
    ↓ 放大
主机版 / 续作(二次收割)

开源不但不挡财路,反而是最便宜的发行策略。 很多人不敢开源自己的游戏,怕被抄——ADR 给出的答案是:玩法被抄不走的,是内容和节奏;而开源换来的传播,是你一个人根本买不起的量。

同类旁证也够硬:放置/增量品类是网页广告变现的头部选手,Poki、CrazyGames 上 idle 类靠广告分成活得很好;微信小游戏里文字放置(开铺子、修仙挂机那一批)靠激励视频广告跑出过不少月流水案例;itch.io 上 Candy Box 系的打赏制也成立。这个品类天然适合“低成本 + 高留存 + 广告变现”的个人开发者模型。

给我的灵感

① 中文换皮:《开炉记》——修仙炼丹放置。 照抄 ADR 三屏结构:丹炉(对应火堆)、洞府(对应村庄)、事件弹窗。“打坐”代替添柴,灵石代替木材,筑基/金丹代替小屋/教堂,随机事件写成“师门来信”。事件 30 条、建筑 15 个即可开服,MVP 两周量级。变现走微信小游戏,激励视频“加速炼丹”,这是被验证过的组合。

② 融合款:文字村庄 + 自动探索小队。 村庄照 ADR 挂机,另派一支小队自动出圈探索,每次回来生成一份 roguelike 风格的文字战报(“你派出的猎人在第 3 层遭遇狼群,损失 2 肉 1 人”)。战报做成可分享的图片卡片,自带传播属性。MVP 三到四周,变现用 IAP 加速 + 分享落地页广告。

③ 加一层钩子:每日来信。 把随机事件系统绑上真实日历:每天一封信推进一条长剧情,错过就要等(或看广告补读)。在 ADR 现成的事件系统上包一层日期判断就行,MVP 一周。真实时间驱动 + 推送召回,是放置游戏提留存的便宜大招。

上手

建议的打开方式:先玩 20 分钟,重点感受前 10 分钟“两个按钮抓人”的节奏;再打开源码,把冷却按钮和事件系统各读一遍。玩和读加起来一个晚上,你手里就多了一套放置游戏的全套骨架——剩下的问题只是:你的火堆,烧什么题材。

[!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学通信知识星球海报-扫码加入