说起《都市媚影》这个汉化版,那真是从零开始,一路磕磕绊绊,才算是把它给彻底搞定了。今天就来掰开揉碎了,跟大家伙儿说说我是怎么一步一步把这活儿给做下来的。
找到源头:非得自己动手不可
我这个人就是闲不住,看到好东西就想深挖。去年年底,我偶然发现了这个《都市媚影》的原版。那画面,那机制,简直是绝了。但问题是,全英文,甚至有些地方掺杂着日文,玩起来像在做阅读理解,体验直接降了一大截。当时我就心想,这么好的东西,没个中文版那不是暴殄天物吗?
我跑遍了各大论坛,发现都是些残缺不全的版本,要么机翻得驴唇不对马嘴,要么是打上补丁就崩溃。得,既然没人能做那我就自己来试试看!
砸壳与硬核分析
我的第一步就是拿到干净的原版文件。文件一到手,我就开始扒皮。我先是试探性地用常用的工具去解包,结果发现主程序被裹得严严实实,弹出来一堆加密报错。它不是用常见的加密壳,而是用了好几年前的那种老式、但特别刁钻的保护手段。
为了绕过这层防护,我翻箱倒柜找了好多年前的逆向工具。光是定位到那个负责解密的关键入口,我就耗费了整整两天,咖啡都喝光了三罐。找到入口后,我硬是把那些代码一行一行抠出来,才把主程序文件给彻底脱壳了。
脱壳只是第一步。接下来是拆解资源文件。这玩意儿简直是个大杂烩,文本、图片、脚本全都混在一个巨大的资源包里。我建立了一个映射表,标记了所有可疑的文本块,这才算是摸清了它的基本结构。
翻译、校对,然后踩坑
文本文件被我导出来后,那数量是真吓人。我先是拉了几个平时一起折腾的朋友,大家分工合作,一块儿把文本给啃下来。光是翻译就花了将近一个月。
但是翻译一塞回去,出大问题了!
第一个大坑:字体适配。原版字体根本撑不住中文复杂的笔画,一显示就乱码,或者直接溢出文本框。我找来新的中文字体,调整了字库文件,反复试验最佳字号,让它既能显示完整,又不至于盖住画面。
第二个大坑:代码冲突。有些剧情对话是硬写死在脚本里的,如果文本长度稍微变动,就会打乱后面的代码执行顺序,导致对话刚进行到一半,游戏就闪退了。我不得不回过头去修改脚本的指针,重新建立文本调用的逻辑链条。
更新日志:发布与修补
初版汉化包我发布出去后,收到了好几百条反馈。这才是最热闹的时候。大家指出来的问题五花八门,大多集中在特定场景下的文本对应不上角色的表情,以及存档界面显示错误。
我整理了所有的反馈,着重检查了那几个出问题的场景的资源ID。果不其然,我在打补丁的时候,有几个资源ID映射表写错了,导致A角色的台词显示在了B角色头上。
我连夜又修复了这些映射错误,并且优化了安装器的逻辑,让大家打补丁的时候更流畅。这就是为什么大家能在下载页面看到好几版更新日志的原因。
现在这个V3.1版本,我已经跑了十多遍流程,几乎能保证文本的准确性和系统的稳定性。虽然这个过程像啃一块又一块硬骨头,但看到大家能顺畅体验到这款优秀的作品,心里头那股成就感,真是没得说!