开发日记 — 2026年3月18日(周三) 节拍前夜 · 第51天
03/1924 浏览开发日记 包含 AI 合成内容
今日概况

今天做了什么
i18n 国际化系统:从零到全覆盖(上午)今天上午的主线任务,是把游戏内所有用户可见的中文字符串从硬编码模式,全部抽离转为国际化key管理,搭建完整的i18n体系。先搭建核心基础设施 i18n/init.lua,实现通用 T("key") 翻译函数,配套 zh.json 存储中文原文,并在 main.lua 完成初始化配置。随后分四阶段稳步推进:Phase 0 搭建底层框架、Phase 1 梳理共享词汇表、Phase 2 适配九个UI屏幕、Phase 3 覆盖四个战斗模块,最终落地234个i18n key。紧接着把教学相关对话(战前对白、奖励弹窗、地图引导等)也纳入体系,新增40个专属key,总计完成274个i18n key,实现全量用户可见界面文本覆盖。数据层中文内容(技艺名、乐器名、怪物名)刻意保留原格式,这类属于游戏核心数据,无需纳入界面文本国际化范畴。配置完成后,将 zh.json 从 scripts/i18n/ 迁移至 docs/ 目录,原位置保留符号链接方便调用。用户也可直接上手润色文案,比如将“乐队”改为“节拍对战”、补充“外面舞台”相关表述,这正是i18n系统的核心价值:修改文案无需翻阅代码,大幅提升迭代效率。顺手完成文档大清理:昨晚搭建的 game-texts.txt 和 game-texts.json 已被zh.json完全取代,果断删除冗余文件(累计删减2017行)。同步在架构文档新增i18n系统说明,将路线图从旧记忆文档独立出来重新梳理撰写。
教学系统四个bug修复(下午)
下午聚焦教学系统体验优化,集中攻克并修复四大问题,针对性提升新手引导流畅度:
A1:对话按钮动画优化:音乐老师对话的选项按钮原是瞬间消失,新增0.4s easeInOut淡出动画,等待淡出完成后再切换打字机效果,过渡更自然
A2:移动端文本适配:修复手机端对话文本溢出问题,添加 whiteSpace=normal
实现自动换行,适配小屏设备
A3:奖励页面亮度修复:教学奖励页面叠加了多余暗幕遮罩导致画面过暗,移除冗余遮罩后,亮度与正常精英奖励页面保持一致
A4:流程体验优化:移除教学奖励页“继续”按钮,改为1.8s延迟后自动弹出对话框,简化操作、提升流程顺滑度
排查过程中还发现 T() 函数的隐蔽bug:string.gsub 会返回两个值(处理结果+替换次数),直接传入 table.insert 会导致count被误判为插入位置,添加括号丢弃多余返回值即可解决,这也是Lua多返回值的经典坑点。
教学体验打磨 + BGM 扩展(傍晚)
针对A3暗幕亮度问题反复调试优化,起初直接移除暗幕导致背景过亮、乐器卡辨识度低;随后添加DMPanel调整暗度,又出现画面过暗的问题;最终敲定方案:保留暗幕但仅压暗背景层,不遮挡乐器卡和文字层,来回迭代三四轮才找到视觉平衡点。
晚上解决了长期遗留的教学战BGM时长过短问题:原tutorial.json的beatmap仅有14小节,新手还未掌握战斗操作流程就结束对局。将其扩展至53小节(与normal2难度保持一致),让新手有充足时间练习操作、熟悉规则。
今天卡过的地方
A3暗幕亮度调整是今日最大卡点,问题本身不复杂,但视觉类效果的“合适阈值”很难一步到位。初期还出现改错路径的失误(误改了Create()的非教学场景),后续调整DMPanel参数(dmAlpha 210→80,brightness 25→60)也未达到预期,最终绕回最简方案:保留暗幕、调整渲染层级。虽反复调试三四轮,但最终呈现效果贴合预期,新手体验更舒适。
数据
项目总代码量:47,830 行(105 个 Lua 文件)
i18n key 总数:274 个
教学 bug 修复:4 个(A1-A4)
教学战 beatmap:14 → 53 小节
清理旧文档:-2017 行
明日计划
[ ] S1-2:拉长斩杀教学进度(新手没学会就结束了)
[ ] S1-3:节拍可视化提示(新手致命伤——不知道该啥时候按)
[ ] S2-2:效果器踏板禁用时攻击技能没变灰
碎碎念
今天完成了两类截然不同的工作:上午深耕基础设施建设(i18n国际化系统),下午聚焦用户体验打磨(教学bug修复)。前者是早就该落地的底层优化,274个文案原本散落在30多个文件里,如今打开一个JSON就能全局管控;后者是细节决定体验的关键项,选项瞬消、文本溢出、画面过暗,单个问题虽小,叠加起来就会让新手陷入困惑。
昨晚耗费精力搭建的game-texts体系,今天就被i18n的zh.json完全替代,两千行冗余内容说删就删。工具始终是为目标服务的,决策不该被沉没成本绑架,及时迭代更高效的方案才是核心。
A3暗幕来回调试三四轮,过程确实有些繁琐,但这类“差一点点”的视觉优化,本就需要反复试错才能落地。至少最终效果达标,新手的视觉体验也更舒适,这份折腾就有价值。
开发工具:TapTap Maker
项目起始日:2026-01-28




