这个项目在保留原版游戏的同时,做一个简体中文新版。代码有两条线:主线(叫
main)和试玩线(试玩站自动发布用的那条,叫 cursor/godot-chinese-remake-5c3a)。试玩站只显示试玩线上的内容。刚才已经把主线内容单向合进试玩线(#36)。做到什么算完成
| 目标 | 具体说 | 怎么判断做到了 | 现状 |
|---|---|---|---|
| 开局部分能玩 | 从黑屋子生火,到遇见建造者、伐木、盖小屋、出门探索,能完整玩一遍 | 打开试玩站照着说明玩,熟练玩家约 15–30 分钟 | 已做到 |
| 原版核心内容搬完 | 村庄经济、工坊、贸易、事件、战斗、地标、飞船、制造、结局都做进新版 | 12 个改动已在主线;现已通过 #36 进试玩线 | 已做到 |
| 能收集玩家数据 | 玩家玩的时候,操作和进度会自动上报,方便分析哪里卡人 | 已在试玩线上做好并实测过 | 已做到 |
| 两条线内容一致 | 试玩线也拿到主线上的核心内容 | 试玩线相对主线:只超前、不落后 | 已做到 |
| 没有被遗忘的半成品 | 每个在做的东西都有人跟进 | 没人管的分支已删除 | 已做到 |
| 自动通关检查跟上新世界 | 合并后地标名字变了,旧检查脚本要改 | 脚本改完并重新加入默认检查套件 | 待办 |
不做什么
- 不把试玩线并进主线(这是定好的规矩;只往试玩线里搬)。
- 不把任何密码、密钥写进代码或这个页面。
- 不给其它临时分支开自动发布。
- 不编造没查到的状态。
进展一览
| 顺序 | 内容 | 谁 | 现状 |
|---|---|---|---|
| 第 0 步 | 最早的中文新版:字体 + 刷新页面不丢进度(#1),合进主线 | — | 已完成 |
| 第 1 步 | 试玩线打基础:字体、数据上报、界面修复、自动检查工具、画风切换等 12 个改动 | — | 12 个,全部完成 |
| 第 2 步 | 把原版核心内容做进新版,12 个改动(先合进主线) | — | 12 个,在主线 |
| 第 3 步 | 试玩线上的后续改进,8 个改动 | — | 8 个,全部完成 |
| 第 4 步 | 把主线内容合进试玩线(#36);删除没人管的分支 | — | 已完成 |
| 第 5 步 | 更新自动通关检查脚本(合并后地标名字换了) | 我 | 待办 |
第 4 步:主线 → 试玩线 已完成
#36 — 把主线上的村庄经济到结局等内容单向合进试玩线Merge main migration (village through ending) into the playtest branch。合入时间:10月17日(UTC)。合并提交:6364da99d2。
已经弄清楚的
- 冲突处理原则:游戏内容跟主线;玩家数据上报、界面、开局引导跟试玩线。
- 开局引导、玩家数据上报、工人收入、故事短路径等自动检查都通过了。
- 一条叫
playthrough.mjs的通关检查还在用合并前的地标名字,所以暂时移出默认套件——这是下一步要改的。 - 分支
cursor/style-toggle-ingame-c653已删除(画风切换功能已在试玩线历史里)。
第 2 步:核心内容(先在主线) 已完成
| 编号 | 做了什么 | 合入日期 |
|---|---|---|
| #16 | 村庄经济:建筑、工人、熏肉Village economy batch 1 | 10月12日 |
| #17 | 内容搬运的审查规则和自动检查Migration review skill and --only migration gate | 10月12日 |
| #18 | 工坊:工具、武器、升级Workshop crafts batch 2 | 10月12日 |
| #19 | 贸易站:原版所有可买商品Trading post batch 3 | 10月12日 |
| #20 | 房间和野外的随机事件Room and outside events batch 4 | 10月12日 |
| #21 | 野外战斗:地图、遭遇、武器、技能World combat batch 5 | 10月12日 |
| #22 | 地标和特殊场景Landmarks and setpieces batch 6 | 10月12日 |
| #23 | 飞船和太空Ship and space batch 7 | 10月12日 |
| #24 | 制造机和图纸Fabricator and blueprints batch 8 | 10月12日 |
| #25 | 刽子手、结局、重玩奖励和分数Executioner, ending, prestige, and score batch 9 | 10月12日 |
| #26 | 小屋住满时的提示Hut cap notification | 10月12日 |
| #27 | 修复玩家数据上报时的假报错Drain playtest_events bodies to stop false ERR_ABORTED | 10月12日 |
第 3 步:试玩线的后续改进 已完成
| 编号 | 做了什么 | 合入日期 |
|---|---|---|
| #28 | 每条玩家数据带上游戏版本号,并加数据检查Stamp client_version on playtest events… | 10月13日 |
| #29 | 真人试玩时自动检查数据有没有传上来verify: live-play telemetry gate | 10月13日 |
| #30 | 检查改进建议写得是否规范pm-recommendation-hygiene verify surface | 10月13日 |
| #31 | 开局引导:屏幕上一直显示当前目标Early-game onboarding goal line | 10月13日 |
| #32 | 补全中后期内容,并自动检查能否通关补全中后期并加入确定性通关门禁 | 10月13日 |
| #33 | 上报存档快照(只用来分析玩家行为)save_snapshot telemetry | 10月13日 |
| #34 | 去掉网页强制滚动的外框和像素画面的金边fix(web): 去掉强制滚动外壳和像素场景金框 | 10月14日 |
| #35 | 改动申请模板要求附上改前/改后对比画面PR template requires Before/After visual artifact | 10月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套件。
需要你处理
我这边接下来做
- 改自动通关检查脚本里的地标名字,改完再加回默认检查。
- 试玩站发布后,抽时间实际玩到结局(或请你帮忙点开确认)。
在等别人的
只看一页的话看这里:中文新版的核心内容已经合进试玩线;试玩站不再缺村庄经济到结局那一批东西。
这是个什么项目
《A Dark Room》原本是一个网页文字冒险游戏。这个仓库保留了原版(在网站的 /classic 下面还能玩),同时用 Godot 游戏引擎做了一个简体中文新版,文字沿用原版的中文翻译。
几个说法
- 主线 / 试玩线:代码的两条版本线。只有这两条会自动发布成网站;试玩站用的是试玩线。
- 改动(PR):一次提交的修改,审核后合进某条线。
- 剧情“导演”:游戏里决定什么时候出事件、给东西的那部分程序。默认按原版规则走,不联网也能玩。
- 自动检查:每次改完跑一遍,看节奏、数据上报、内容搬运有没有出错。
- 玩家数据上报:记录玩家的操作和进度,存到数据库里供分析。
思路
先把能玩的中文新版和试玩环境搭起来,再一块块把原版内容搬进来,然后在试玩线上加引导和数据检查。第 4 步(主线合进试玩线)已完成;接下来是让自动检查跟上新世界,并做一轮真人通关确认。
阶段
| 阶段 | 要做到 | 要等哪一步 |
|---|---|---|
| 0 | 第一个能发布的中文新版 | — |
| 1 | 试玩线打基础 | 阶段 0 |
| 2 | 原版核心内容搬进新版(在主线) | 阶段 0 |
| 3 | 试玩线后续改进 | 阶段 1 |
| 4 | 主线内容合进试玩线 + 清理悬挂分支 | 阶段 2 和 3(已完成) |
| 5 | 自动通关检查跟上新地标名 + 真人通关确认 | 阶段 4 |
风险
| 风险 | 可能性 / 影响 | 怎么应对 | 谁 |
|---|---|---|---|
| 自动通关检查还用旧地标名,漏报问题 | 已发生 / 中 | 改脚本并加回默认套件;在此之前靠其它已通过的检查 + 真人试玩 | 我 |
| 合并后界面/数据上报和内容拼接有边角问题 | 低 / 中 | 合并时已按“内容跟主线、上报和引导跟试玩线”处理;发布后真人玩一遍确认 | 你或我 |
| 不小心把试玩线并进了主线 | 低 / 大 | 规矩仍是只往试玩线搬 | 你和我 |
⚠ 要当心的地方
内容已经在试玩线上了,但默认自动检查套件里暂时少了完整通关那一项。在脚本修好之前,不要把“默认检查全绿”当成“通关路径已自动验证”。
待定问题
- 主线还要不要继续自动发布,还是只当存档?
哪些线会自动发布成网站?
只有主线和试玩线。其它临时分支不自动发布。
两条线怎么对齐?
只把主线合进试玩线(#36 已做完),不把试玩线并进主线。
密码、密钥放哪?
只放在浏览器本地或发布环境的设置里,绝不写进代码或这个页面。
合并冲突怎么选?
#36 约定:游戏内容跟主线;玩家数据上报、界面、开局引导跟试玩线。