写在v0.4.0
这些尝试的起点,是想看看“一个人+AI”究竟能把汉化做到什么程度。
受别人用ChatGPT重制老游戏的启发,我先做了DreamQuest的分析与重制尝试,随后又翻出《SD高达G世纪DS》,测试GPT5.5能否完成NDS游戏的汉化。很快有了初步效果,我便顺着这个方向,继续尝试其他部分。
有些事情的难易,和预想的恰好相反。原以为很难的UI修改,主要靠AI就能推进。我此前不懂4bpp,更多是在看实际效果,提醒它调整对齐和大小。原以为比较直接的字库,反而卡了很久:两种字体大小、非标准的Shift-JIS映射,需要结合攻略里已知的人物、机体和指令,再配合OCR逐步辨认。最后,我还搭了一个网页,用来人工识别和补录,前后补了一千多字。
字体也试了不少。8×16的窄字体一直不好找,神游8×11字体中个别字的显示效果又不太理想。加上当时太想测试AI能做什么,许多尝试同时展开,摊子铺得太大,后来推进也越来越吃力。
在贴吧发过几张测试图后,大约一周内,我看到了废柴君驾到的开源项目。他把小字体统一改成了大字体,工程规划也给了我不少启发。看到有人愿意开源,我没有被撞车的感觉,反而很高兴这样可以方便把自己已有的成果合并过去,继续补齐内容、修复问题。
内容方面,补齐了四关遗漏的31条剧情及章节标题,新增404条简介,其中人物216条、机体188条;汉化了54个EV标题和28个作品名,并补齐30条回放文本。
界面方面,补全了各层菜单,修正了346个字形问题;处理了姓名框、长名称、资料首字缺笔,以及22个超宽模板、44条ID指令说明的裁切问题。
另外,还修复了TurnA图标、强夺高达因武器名称过长导致冻结、卡缪和捷利特的强化在特定通关分支中被退回等问题,并修正了人物形态名、匹配条件和西罗克相关文本。永恒号的六格背景和边框。
后来,我同时对机战Z和64做了一些技术验证。恰逢64汉化发布,官方又宣布《破界篇》重制,我便把重心放到了Z上。工程和审校主要使用GPT5.6SolMax,近期也开始使用AstraHigh。这个过程中,我同样受益于fortiersteven的开源研究。反汇编部分基本也是AI自己去调用ghidra完成的。
Z的解压缩有开源实现,本质是一个变长编码的LZSS,难点在于压缩没有公开的实现,还要调整压缩率使得能接近原始文件的大小。这部分借助AI做了rust的实现。
字库还有特殊的窄距规则,后续扩容对这个也做了处理。
翻译初稿全部使用固定版本的deepseek-v4-flash-0731,通过阿里云DashScopeAPI分批调用。提示词先明确基本要求:忠实、自然、符合人物语气,同时遵守术语、标点、变量和选择项结构的约束;再附上项目词表、已审译例和待译文本。译例只供参考表达风格,不能套用其中的内容。
剧情按关卡、场景和固定编号组织。需要补充上下文的批次,还会提供说话人的中日文名、身份、所属作品和前后台词,尽量避免混淆角色与分支。遇到指代不明的地方,保留自然的无代词表达,并标记歧义。
模型返回结果后,先由脚本检查编号、漏项、变量、术语和标点,再借助AI审校。站友在阅读和游玩中反馈的问题,我会核对原文,排查是否存在同类情况,再借助AI润色,重新构建并检查实际效果。
为了稳定地复现问题,我还搭建了一套LRPS2自动化流程,按帧操作、截图对比,使用独立的存档副本,并记录每次运行的条件。不过,字体、布局和演出的效果,最终仍需要人工看实际画面。
不过,这些经验只是当前AI水平下的阶段性记录。随着Astra的ComputerUse能力明显增强,也许不远的将来,把游戏和要求直接交给AI,让它完成高质量汉化,也会变得很顺畅。
一路下来,开发、排查和修改主要借助AI完成,也很感谢大家提供的建议和反馈。它们经常让我注意到此前遗漏的细节。审阅站也把这些建议、处理结果和后续讨论留了下来,方便继续核对和跟进。
接下来会继续处理Z的反馈,过段时间再看看Z的SP。近期更想测试和验证一下机战64的recomp版本。
当然,也得回头忙忙手头的本职工作了……
