【碎碎念】
做这件事情其实想法起源于之前偶然看到的夜行侦探 EVE bursterror的AI汉化https://tricks.one/post/eve-resource-analysis-part-1/,从那时起,对日语一窍不通的我就隐约察觉到,使用大语言模型来翻译文本的汉化时代已经不远了。我个人从事的工作会编写一些代码,但我并不是一个专门的做逆向的软件工程师,所以当时的我即使能搞定文本翻译的问题,游戏程序的改写依然是一座难以撼动的大山。直到前几个月,各种信号都显示使用LLM来生成代码的方案已经相当可用了,用来辅助做程序逆向的案例也不少,这时我就下定决心试验一下。
之所以选定Luv wave这个游戏,有以下几个因素。首先这款游戏和夜行侦探EVE burst error同为Csware公司的作品;其次Luvwave这款游戏的主题也和AI密切相关,使用AI技术来汉化AI游戏,我认为还是别有趣味的;最后,从现在来看本作的汉化难度确实不算非常高,所以我才能在没有相关经验的情况下,几乎一个人把主要工作完成的原因。当然,对这款游戏的喜爱也是必不可少的。可能绝大多数人(包括我)了解到这个游戏,是从其改编的动画版了解到的,动画版里展现出的人工智能、互联网、谍战、动作戏等要素深深吸引了我,不过打完游戏本体我也发现动画确实对游戏进行了超级魔改,如果还没看动画,我还是推荐先体验游戏再去看动画版。 然后我从技术角度谈谈这次汉化的工作吧,可能称不上什么很有用的经验,不过我觉得还是有必要记录下。
这款游戏的游戏资源构成,可以认为是三部分:游戏引擎、音画游戏资源和游戏脚本文件。实际上我的工作主要是汉化这个脚本文件,对脚本文件的拆包和分析,完全是由AI来进行的,我基本上没有插手。我是无意中发现。游戏的脚本文件是单独列出的,里面包含了游戏内所有的文本。再把游戏的文本拆出后。通过翻译替换之后重新打包,就得到了一个新的汉化脚本包体。做这项工作我起初使用了deepseek4pro模型搭配opencode来完成,后来切换到了Qwen3.8-max和Qoder的组合,deepseek4pro+opencode组合的工作状况我还是很满意的,后面想要试一下Qwen模型就切过去了,工作状况也没太大问题。 游戏文本的初翻我使用了deepseek4flash,我时先把文本喂给它让他整理出高频词有哪些,然后我把高频词翻译成术语表,带着术语表再让AI来进行翻译。使用AI来翻译是分段把文本发给它的,虽然带了术语表,但上下文不呼应的问题还是非常严重,所以校对工作还是必不可少的。校对时我主要使用了网页版的Gemini3.1pro来帮我翻译,主要是考虑到Gemini拥有比较丰富的世界知识,在翻译科幻背景的文本时也许能提供更多的帮助,不过我也没和其他模型实际对比过效果,是不是真的比其他模型更合适我也没法下这个论断。
除了游戏内的文本,游戏里还有一些动画视频来做的演出内容,比较幸运的是,这些视频没有打包进游戏资源,而是直接放置在了游戏的目录中,这样避免我再去做相应的拆包和封包,给我省了不少工作量。视频采用了加字幕的方式来翻译的。游戏本身的画面比例是4:3,但视频的比例是16:9,所以游戏内视频播放是有黑边的,我用几个带了下方黑边的视频替换了原视频,并且把字幕加在了下方的黑边中,这样既不遮挡画面也能有字幕,游戏也能正常播放,算是一个我有些得意的小巧思吧。
另外一个很重要的问题是汉字的显示。这款游戏的字体渲染是调用Windows系统提供的系统API来进行的。我这里没有使用在原版程序上加二进制补丁的方式,而是编写了一个动态链接库来hook相关的函数,强制使其渲染中文编码和中文字体。这样相对比较简单地解决了汉字显示这个问题。我一开始也尝试了使用二进制补丁的方式来做,但发现具体的函数入口似乎并不太好找。我一番尝试无果之后,就放弃了。在Win98系统下,游戏虽然会请求日文编码,但是系统可能会强制返回当前系统的默认语言。换句话说,在中文Win98系统下,游戏是默认强制显示中文的,而这里用来hook的动态链接库其实没有起作用,所以在Win98系统下会有额外的显示错误。在其他较老的Windows上,可能动态链接库不会起作用,系统也不会强制游戏使用中文编码,此时汉化补丁会失效,可能需要转区工具的软件来弥补一下。理论上讲,我可以制作一个多版本Windows都适用的动态链接库,但具体实现有点麻烦,这里就先开摆。
测试和debug应该时这个游戏汉化中最困难的部分了。一个很大的麻烦是游戏本身的原版的bug就非常多。在测试的时候,很难分清是由汉化引入的bug还是游戏本身的bug,经常需要切回原版来进行复现,**拖慢了测试的进度,也给我增加了许多不必要的工作量。测试时另外一个令人头痛的点是,本作的攻略资料相当稀少,而游戏内的流程其实只有一条主线,不同的结局只在游戏最末尾才有分歧,是否能够达成某个结局只有在最后才知道,要解锁N个结局就几乎等于要通游戏N周目,而游戏内的选项又极其复杂和繁多,如果有失误进错结局了,要到游戏最后才知道。 为了尽量测试全部游戏内容,我甚至去闲鱼买了一本当年官方出的攻略书,后面发现这个攻略书里的内容也有遗漏和错误,不知道是bug还是什么原因。结果就是有一个结局(BAD END)和游戏的隐藏文本甚至到现在我也没有在游戏内看到。不过脚本文件中的内容我应该还是都翻译且校对了,应该影响不大,如果有坛友在这方面能提供帮助,可以在帖子下留言,万分感谢。
关于这个游戏本身,我其实也有些想分享和吐槽的,不过大概率要剧透,这里就先不展开了,以后可能在这个帖子后面或者其他平台和大家交流吧。关于游戏的攻略,可能我还要再整理一下资料,后面可能会补充进来。这里也要感谢一下我的朋友可乐+牛奶,在游戏的校对和测试上帮我做了很多工作。希望大家能喜欢这个游戏,也欢迎大家对补丁进行反馈。
|