开发日志
LoopTrain 项目的长期开发记录。每篇日志都会记录真实进展、当前问题和设计判断。
LoopTrain 长期规划:游戏只是实验对象
LoopTrain 的长期方向不是单纯做完一个互动叙事游戏,而是把游戏作为实验对象,探索 AI Native Software Engineering:故事演进、事件溯源、Agent Runtime、Prompt Builder、知识图谱、自动测试和可回放协作协议。
v0.12.0 · Replay Echo:时间线回放与 NPC 记忆残响
引入时间线回放系统(失败后从锚点接入)和 NPC 记忆残响系统(跨轮情感残留影响开场白和 LLM 表演),新增 LLM Echo Guard 防止打破第四面墙,修复 portrait-intro.js 崩溃 bug。
v0.11.0:渐进式 UI 解锁系统——从 overwhelm 到 flow
实现 UIStage 7 阶段状态机,许知微主界面化提示卡,案件板 CaseBoard,加载状态管理,按钮点击反馈动效。解决新手面对 12 个按钮和复杂行动选项的认知负荷问题。
LoopTrain v0.11.0 — 手机竖版 UI 重设计
从 1290 行单体 app.js 到 12 个独立组件,从 12 层 z-index 绝对定位堆叠到 flex 流式四区布局——v0.11.0 把 LoopTrain 的手机竖版 UI 从'功能堆叠的聊天界面'重构为'现场状态面板 + 行动反馈流 + 时间线调试器'。
LoopTrain v0.10.0 — NPC 时间线推理系统
从 8 条互补线索到 20 条对抗线索,从死数据时间线到玩家构建的 PlayerConstructedTimeline,v0.10.0 把 LoopTrain 的核心玩法从'线索收集'升级为'NPC 时间线推理'。
LoopTrain v0.9.0 — Playwright E2E 回归测试上线
LoopTrain 首次建立 E2E 回归测试:12 步完整玩家路径 + 存档恢复/重置,Mock 模式 33.1s 全绿,集成到 verify_slt.sh 和 AGENT.md 规则 21。
LoopTrain v0.8.2 — 版本号单一源与工程规范扩展
从 3 个检查脚本 PASS 但 23 处不一致的矛盾出发,建立 VERSION 单一源 + sync_version.sh 自动同步 + check_cross_consistency.py 跨文档检查,将版本号治理从人工维护变为可验证断言。
LoopTrain 工程规范:Work Item 流转制与收尾流程
从文档散落六处到 8 阶段 Work Item 流转制:LoopTrain 如何建立可验证的工程规范,并以存档版本检测系统为例完整走通从 Idea 到部署的全流程。
v0.7 - v0.8:目标引擎、指令系统、许知微与《寒灯初醒》内容上线
v0.7 建立了目标引擎(GoalEngine DSL)、12 条指令系统和许知微助手角色;v0.8 完成《寒灯初醒》全部试玩内容:新故事、新角色、8 条线索、8 个目标、3 轮结算。
v0.6.1 Runtime:建立分层 TypeScript 架构,引入事件溯源记忆系统
v0.6 完成了 LoopTrain 从 flat snapshot state 到分层 TypeScript Runtime 架构的升级:61 个 TS 文件,20 个模块,MemoryRuntime Core 和 Deterministic Assistant 流水线。
版本历史
基于 Git 提交记录整理的 LoopTrain 完整版本历史,从 v0.4.3 ST 试玩版到 v0.6.1 Runtime 架构。
Loop Engineering 的应用与 LT 自开发实验设想
AI Coding 发展到今天,核心问题已经不再是“AI 能不能写代码”,而是“AI 如何在一个长期项目中稳定、可控、可验证地持续工作”。本文讨论 Loop Engineering 方法论,以及 LoopTrain 如何实践“LT 自己开发 LT”的自开发实验。
Runtime 架构设计:Slice 0 实施基线
LoopTrain Runtime 架构设计已发布到技术文档库,明确 Slice 0 的 TypeScript host、Runtime API、CompanionView、Deterministic Assistant Runtime 和 LLM 边界。
第二次文档治理:从栏目堆叠到文档库
第一次文档治理解决了事实源和发布保护,但也把设计、技术、决策等栏目直接暴露在一级导航里。第二次治理把这些内容收进 /docs 文档库,并明确 Devlog 只记录已发生事实。
一次 Devlog 文章丢失事故:本地分支落后远端时不要部署
记录一次真实的 Devlog 文章丢失事故:Narrative State Runtime 文章存在于远端分支和旧线上 release,但本地未同步远端更新,后续部署时被 rsync --delete 从当前线上版本中移除。
给 LoopTrain 建立文档治理规则
LoopTrain 从 SillyTavern 验证包迁移到独立运行时后,项目文档开始分散在 README、docs、materials、devlog 和 TBD 中。本文记录一次文档治理决策:保留 TBD 作为讨论稿区,把 devlog 作为正式长期文档中心。
Narrative State Runtime:LoopTrain 的记忆系统设计
把玩家状态从聊天记录和临时 Session 中抽离出来,设计成面向循环叙事的 Narrative State Runtime。
音效系统第一版方案定稿
确定 LoopTrain 音效系统第一版的边界:不改引擎、不做复杂配乐,先建立 AudioManager、事件映射层、静音开关、音频 manifest 和 6 个占位音效。
今天,我第一次在 AI Coding 中感受到"失控"的瞬间
两件小事让我重新思考 AI Coding 最大的风险:不是代码错误,不是幻觉——而是 AI 在没有获得授权的情况下,自行做出决策。Runtime 不只是游戏需要,AI Coding 同样需要。
解决项目代码与 Devlog 网站内容脱节
LoopTrain 完成 ST 剥离后,Devlog 网站多个页面的内容仍停留在迁移前的旧状态。本文记录这个典型的信息漂移问题及我们的解决方案:将 Devlog 从手写博客改造为数据驱动的项目仪表盘。
v0.5.0-standalone:独立运行时完成 + UX/UI 全面审计修复
LoopTrain 从 SillyTavern 完全剥离,建立独立运行时 SLT。完成上线前全量审计并修复所有发现的问题。UX/UI 从专业前端设计角度全面打磨。
准备增加音效系统
音效系统第一版不追求完整配乐,先建立可扩展的 AudioManager、音频 manifest 和事件绑定,让声音服务于时间压力、线索反馈、失败冲击和循环记忆。
当前试玩版的问题整理
整理当前 v0.4.3 试玩版的已知问题:ST 原始界面暴露、立绘 404、遮罩错位、无音效、Server Plugin 未连接、剧情链路不完整。
开始剥离 ST,建立 LoopTrain Standalone MVP
本次调整确认 LoopTrain 将从 ST Extension 逐步迁移为独立运行时,第一步先提取现有 Engine 和本地 Mock 闭环,不做大重写。
为什么要建立 LoopTrain 开发日志
LoopTrain 是一个个人长期开发的互动叙事解谜游戏项目。建立开发日志的目的不是宣传,而是持续记录项目演化、设计判断和版本进展。