小黑屋中文重制

把经典网页游戏《A Dark Room》做成简体中文新版(用 Godot 游戏引擎) · 代码仓库 →
试玩线已对齐 更新于 2026-10-18 04:03 Asia/Taipei

主线上的村庄经济到结局等内容,已经通过 #36 搬进试玩线。试玩站现在跟主线对齐了:主线没有试玩线缺的提交,试玩线还多出 10 个只在试玩线的改进。之前那条没人管的分支也已删掉。

目前没有正在等审核的改动;一共已完成 34 个改动(含这次合并)。

下一步 · 2 件事
  1. 我来做:更新一条自动通关检查脚本。合并后世界里的地标名字换了,旧脚本还在用旧名字,所以它被移出了默认检查套件;需要改成新名字再加回去。
  2. 你或我:等试玩站重新发布后,实际打开玩一遍到结局,确认村庄制作、飞船起飞和结局面板都正常。
这个项目在保留原版游戏的同时,做一个简体中文新版。代码有两条线:主线(叫 main)和试玩线(试玩站自动发布用的那条,叫 cursor/godot-chinese-remake-5c3a)。试玩站只显示试玩线上的内容。刚才已经把主线内容单向合进试玩线(#36)。

做到什么算完成

目标具体说怎么判断做到了现状
开局部分能玩从黑屋子生火,到遇见建造者、伐木、盖小屋、出门探索,能完整玩一遍打开试玩站照着说明玩,熟练玩家约 15–30 分钟已做到
原版核心内容搬完村庄经济、工坊、贸易、事件、战斗、地标、飞船、制造、结局都做进新版12 个改动已在主线;现已通过 #36 进试玩线已做到
能收集玩家数据玩家玩的时候,操作和进度会自动上报,方便分析哪里卡人已在试玩线上做好并实测过已做到
两条线内容一致试玩线也拿到主线上的核心内容试玩线相对主线:只超前、不落后已做到
没有被遗忘的半成品每个在做的东西都有人跟进没人管的分支已删除已做到
自动通关检查跟上新世界合并后地标名字变了,旧检查脚本要改脚本改完并重新加入默认检查套件待办

不做什么

进展一览

“PR”是一次改动的提交申请,审核通过后合进代码。目前没有在等审核的;已完成的按批归在一起。

顺序内容谁现状
第 0 步最早的中文新版:字体 + 刷新页面不丢进度(#1),合进主线—已完成
第 1 步试玩线打基础:字体、数据上报、界面修复、自动检查工具、画风切换等 12 个改动—12 个,全部完成
第 2 步把原版核心内容做进新版,12 个改动(先合进主线)—12 个,在主线
第 3 步试玩线上的后续改进,8 个改动—8 个,全部完成
第 4 步把主线内容合进试玩线(#36);删除没人管的分支—已完成
第 5 步更新自动通关检查脚本(合并后地标名字换了)我待办

另有 2 个字体试用的改动(#3、#4)被关掉没采用。


第 4 步:主线 → 试玩线 已完成

#36 — 把主线上的村庄经济到结局等内容单向合进试玩线Merge main migration (village through ending) into the playtest branch。合入时间:10月17日(UTC)。合并提交:6364da99d2。

已经弄清楚的


第 2 步:核心内容(先在主线) 已完成

编号做了什么合入日期
#16村庄经济:建筑、工人、熏肉Village economy batch 110月12日
#17内容搬运的审查规则和自动检查Migration review skill and --only migration gate10月12日
#18工坊:工具、武器、升级Workshop crafts batch 210月12日
#19贸易站:原版所有可买商品Trading post batch 310月12日
#20房间和野外的随机事件Room and outside events batch 410月12日
#21野外战斗:地图、遭遇、武器、技能World combat batch 510月12日
#22地标和特殊场景Landmarks and setpieces batch 610月12日
#23飞船和太空Ship and space batch 710月12日
#24制造机和图纸Fabricator and blueprints batch 810月12日
#25刽子手、结局、重玩奖励和分数Executioner, ending, prestige, and score batch 910月12日
#26小屋住满时的提示Hut cap notification10月12日
#27修复玩家数据上报时的假报错Drain playtest_events bodies to stop false ERR_ABORTED10月12日

第 3 步:试玩线的后续改进 已完成

编号做了什么合入日期
#28每条玩家数据带上游戏版本号,并加数据检查Stamp client_version on playtest events…10月13日
#29真人试玩时自动检查数据有没有传上来verify: live-play telemetry gate10月13日
#30检查改进建议写得是否规范pm-recommendation-hygiene verify surface10月13日
#31开局引导:屏幕上一直显示当前目标Early-game onboarding goal line10月13日
#32补全中后期内容,并自动检查能否通关补全中后期并加入确定性通关门禁10月13日
#33上报存档快照(只用来分析玩家行为)save_snapshot telemetry10月13日
#34去掉网页强制滚动的外框和像素画面的金边fix(web): 去掉强制滚动外壳和像素场景金框10月14日
#35改动申请模板要求附上改前/改后对比画面PR template requires Before/After visual artifact10月17日
技术细节(我怎么查的)
  • 开放 PR:作者查询 + 分支前缀 cursor/ → 0。
  • 最近合并含 #36;合并提交 6364da99d2202ea8efc833d234625be6030ad22a。
  • gh api .../compare/main...cursor/godot-chinese-remake-5c3a → status ahead, ahead_by 10, behind_by 0。
  • git/ref/heads/cursor/style-toggle-ingame-c653 → HTTP 404(已删除)。
  • #36 说明里写明 playthrough.mjs 因地标 id 变更退出 1,并已移出默认 run.mjs 套件。

需要你处理

没有必须你立刻拍板的事。上次要你定的两件(搬内容、删悬挂分支)都已完成。

我这边接下来做

  1. 改自动通关检查脚本里的地标名字,改完再加回默认检查。
  2. 试玩站发布后,抽时间实际玩到结局(或请你帮忙点开确认)。

在等别人的

没有。

只看一页的话看这里:中文新版的核心内容已经合进试玩线;试玩站不再缺村庄经济到结局那一批东西。

这是个什么项目

《A Dark Room》原本是一个网页文字冒险游戏。这个仓库保留了原版(在网站的 /classic 下面还能玩),同时用 Godot 游戏引擎做了一个简体中文新版,文字沿用原版的中文翻译。

几个说法

思路

先把能玩的中文新版和试玩环境搭起来,再一块块把原版内容搬进来,然后在试玩线上加引导和数据检查。第 4 步(主线合进试玩线)已完成;接下来是让自动检查跟上新世界,并做一轮真人通关确认。

阶段

阶段要做到要等哪一步
0第一个能发布的中文新版—
1试玩线打基础阶段 0
2原版核心内容搬进新版(在主线)阶段 0
3试玩线后续改进阶段 1
4主线内容合进试玩线 + 清理悬挂分支阶段 2 和 3(已完成)
5自动通关检查跟上新地标名 + 真人通关确认阶段 4

风险

风险可能性 / 影响怎么应对谁
自动通关检查还用旧地标名,漏报问题已发生 / 中改脚本并加回默认套件;在此之前靠其它已通过的检查 + 真人试玩我
合并后界面/数据上报和内容拼接有边角问题低 / 中合并时已按“内容跟主线、上报和引导跟试玩线”处理;发布后真人玩一遍确认你或我
不小心把试玩线并进了主线低 / 大规矩仍是只往试玩线搬你和我

⚠ 要当心的地方

内容已经在试玩线上了,但默认自动检查套件里暂时少了完整通关那一项。在脚本修好之前,不要把“默认检查全绿”当成“通关路径已自动验证”。

待定问题

哪些线会自动发布成网站?

只有主线和试玩线。其它临时分支不自动发布。

两条线怎么对齐?

只把主线合进试玩线(#36 已做完),不把试玩线并进主线。

密码、密钥放哪?

只放在浏览器本地或发布环境的设置里,绝不写进代码或这个页面。

合并冲突怎么选?

#36 约定:游戏内容跟主线;玩家数据上报、界面、开局引导跟试玩线。