# 灯塔快递：制作与验证记录 / Development record

日期：2026-09-19。制作环境：Windows，Node.js 22.14.0，Chrome 153.0.8010.48。本示例由 Codex 中的 AI 辅助工作完成。文章依据近期 Astra 公开案例；本站示例没有独立的单模型运行证明或计费记录，不标成 Astra 专项效果测试。没有零基础真人实验参与者。

## 实际制作过程

1. 写下一个场景、五盏灯、同类礁石、三点船体、三十秒收集并返航的 Brief。
2. 实现独立的规则文件 core.mjs 和简单图形的 greybox.html。规则检查通过后，运行灰盒并截图；当时尚未编写夜航视觉版。
3. 加入原生 Canvas 夜航绘图、双语页面、收集与返航提示、明确的胜负结果、暂停、可关闭合成音效和指针操作。
4. 通过浏览器时钟、键盘、鼠标和模拟触摸检查实际输入。只读状态接口用于观察，不提供设置成功、传送或修改计时的捷径。
5. 保存双语状态截图。为文章增加来源、图注、图片尺寸与 SHA-256 核验。文章提示词是整理后的模板，未宣称逐字复现此次执行对话。

灰盒是最初的独立显示页面，与成品共用规则文件。截图记录了当时外观；它不是全部代码的历史归档。下载包包含当前代码，未来修改 core.mjs 会同时影响两种显示。

## 检查结果

- 五组规则检查：准备和暂停不耗时；斜向移动归一化与地图边界；每盏灯只计分一次且必须返航；碰撞推出、保护期与耐久耗尽；超时停止与新局重置。
- 两种语言各六组浏览器检查：键盘移动；指针收集全部并返航；持续撞礁失败与重开；暂停和超时；声音开关与窗口失焦暂停；模拟触屏收集第一盏灯且页面无横向溢出。
- 浏览器捕获未记录 JavaScript pageerror。声音按钮的状态已检查；没有真人听音评价。
- 初始灰盒截图一张；成品每种语言八张，共十七张原始截图。主文按语言展示九个画面。
- 桌面截图 viewport 为 1280 × 1060，保存为完整页面；手机模拟 viewport 为 390 × 844，长截图包含首屏以外的页面。

## 实际遇到的问题

浏览器自动化首次尝试暂停时钟时，使用了宿主电脑的当前时间。浏览器时钟已经走到更晚的时刻，检查程序报 Cannot fast-forward to the past，尚未进入玩法检查。改为固定安装时间并暂停到明确的未来时刻后，检查正常运行。这是验证脚本的问题，不算玩家在游戏中遇到的故障。

初始灰盒只提供键盘与基础显示，尚未具备完整的触屏、独立继续按钮或夜航反馈。成品补齐这些已计划的能力。没有把计划中的改进写成虚构的玩家投诉。

文章图片接入时发现原 Methods 模板把所有未发布稿都标为“已审核”。本次修正为读取实际 review.status，待审核内容显示“待审核草稿”。图片元数据参与文章内容哈希，截图或图注实质修改后需要与新版本审核对应。

## 已知范围

检查使用 Chrome 和触屏模拟。未进行实体手机、Safari、Firefox、低性能设备、持续帧率或真人趣味测试。手机竖屏地图较小，值得优先收集真机操作意见。发布到公网后的首次访问和跨网络测试也需要在真正部署后执行。

研究、制作、写作、截图和网站集成在同一次编辑工作中完成，没有分别计时。模型用量、实付金额和单独制作耗时不可可靠核算，本记录不填估计值。游戏运行本身不调用模型 API，不加载外部游戏素材。

## English verification note

Built on 19 September 2026 in Codex with AI assistance, on Windows / Node.js 22.14.0 / Chrome 153.0.8010.48. The article draws on public Astra projects; this companion has no independently verified single-model execution or billing record and no novice study participant.

The initial greybox was captured before the visual implementation. The final game adds original code-drawn art, bilingual UI, collection/return feedback, keyboard and pointer steering, pause, result screens and optional synthesized audio. Five rule-test groups and twelve bilingual browser-check groups passed. Seventeen original screenshots were saved, with nine figures displayed per article language.

Browser checks controlled time and used keyboard, mouse and emulated touch. State inspection was read-only; victories were reached through input, not state injection. The first automation attempt failed because it tried to pause the browser clock in the past; using a fixed clock origin resolved the harness error. This was not a gameplay defect.

Physical phones, other browsers, sustained frame rates, human enjoyment and listening tests remain unmeasured. Costs and separated production time are unavailable. The greybox shares the current core rules and is not a complete historical source snapshot. Prompts in the article are templates, not a raw conversation transcript.
