和《超操纵机器MG》这款游戏的缘分还要从初中说起,当时我家里不能上网,于是总需要找机会在网上下载一些单机游戏来玩,有一次去亲戚家串门,大人在聊天,我就借亲戚家的电脑玩,在网上偶然发现了这个游戏,当时我就被这个游戏的形式所吸引,那时的我不会日语,只能靠着日语里面夹杂的那些汉字去硬猜游戏的剧情,跌跌撞撞竟然也通关了,当然那时候是用电脑模拟器玩的,而这款游戏里有大量需要灵活操作触摸屏的关卡,用电脑自然是非常吃力,于是整个游戏基本上也只过了普通难度,后来就没有再碰了。
等到大二的时候,偶然在网上发现了一个汉化NDS游戏的帖子,当时突然想起了以前玩过的这个游戏,就想尝试着汉化一下,但是这个游戏的ROM结构有些奇怪,而且当时也没有找到太多汉化的相关资料,试了一段时间一直不顺利就放弃了,一转眼又过了好多年,就在今年我刷B站时看到UP主fciq发的一个NDS汉化教程视频,他的教程更加详细,而且这几年我的日语也算粗通了些皮毛,所以尽管我基本上没有汉化的经验,心中依旧燃起了汉化这款游戏的烈火,就再次准备进行汉化的尝试。
但这次和大二的时候一样,相同的问题又摆在了我的面前,我们知道在汉化的时候首先需要找到游戏的字库,NDS游戏的字库一般是NFTR格式的,将ROM解包以后很快就找到了该格式的字库,但在我将字库中的汉字全部替换为无关内容后,游戏中的大部分文本竟然没有发生任何变化,这说明我找到的字库并不是游戏文本所使用的。于是我遍历了整个ROM,却再也找不到其他的字库了。此外,在ROM中只能找到游戏中的一小部分文本,比如人物的介绍以及机甲的说明等,但最关键的剧情文本却根本找不到,于是汉化又遇到了困难。但这次我有了更详细的攻略,在反复阅读汉化攻略之后,起初并没有什么发现,我尝试在ROM中搜索剧情文本中的一些词,发现这些词确实是藏在ROM中,但是以一种断断续续、中间夹杂乱码的方式储存的,此外ROM中还有一些看上去非常像汉字,但是不管怎么调整网格的尺寸都无法拼成汉字的图块,我怀疑这才是游戏真正的字模,而这样的数据在ROM中零散分布了一百多处,和这个游戏的关卡数很接近,这些都让我非常疑惑,汉化的工作也一时陷入停滞。
有一天我突然想到,这些文本会不会是被压缩过的呢?于是我在攻略中找到了压缩相关的内容,原来NDS游戏有一种非常常见的压缩算法叫做LZ77,很多文件会以这个形式来压缩储存,我马上找到对应的工具,竟真的把一部分文件给解压开了,解压之后就是某一关剧情的文本,以及这一关对应的字库。原来游戏为了节省运行内存,在每一关只会加载这一关所用到的字,而不是加载整个JIS字库,我将其中汉字进行了替换,游戏也成功发生了变动,这让我感到非常的振奋,这下无论如何都可以汉化游戏的剧情了。
汉化剧情,就需要把游戏中的日语假名和日本汉字转换成我们所使用的简体字,显然字库是不一样的,通常的做法是在所有的文本汉化结束之后,生成一个新的码表并将ROM和字模都对应地换进去。但在我所使用的汉化工具「CT2」中,一旦改变了码表就无法正常显示了,我希望导入文本之后也能在软件中看到大致的内容,这就需要把翻译后文本中的简体字刚好换成对应的日本汉字,比如「亚」对应「亜」、「气」对应「気」等等,于是我找到了一个可以把简体字转换为日本汉字的网站,等翻译完之后我就把简体字给输入进去,转换成对应的日本汉字再导入到ROM文件里,这样在CT2里我也能够轻松地分辨哪些是游戏文本,哪些是不相干的数据。在生成字体的时候,直接保留日本汉字编码而将字模替换成对应的简体字,在游戏中显示的时候就正常了。不过这样又会产生一个问题,那就是日本汉字并不能完全覆盖我们所使用的简体字,有大约5%左右的汉字是日本人完全不使用的,比如汉语中常见的拟声字「啊」「呢」,还有一些汉语中常用,但实际上还挺复杂的字,比如「尴尬」「瘫痪」,于是我就从日本汉字里面找了一些冷门字替代这些缺失的汉字,但随着文本量的增加,这些字的清单也越来越长,如果每次都要手动替换的话很麻烦,我就写了一个Python小程序解决了这个问题(其实是大模型帮我写的)。接着就是紧张而兴奋的汉化工作了,汉化了游戏的前两章我就发现了一个问题,这游戏里面的专有名词太多了,比如人名、机甲名、地名等,每次翻译的时候都需要先思考一下该如何翻译,这非常消耗时间,而且稍不注意就有可能不统一,于是我决定先把这些名词都统一地翻译出来并做一个词汇对照表(相关内容可见附录,里面有名词翻译的一些小趣闻)。大概花了三周左右的时间,文本就算翻译完成了,当然期间也借助了翻译软件以及大模型的帮助,我大概统计了一下这个游戏的文本差不多接近十万字,还是很有成就感的。
之后就是要对游戏里图片中的文字进行汉化,主要是游戏的一些菜单界面。在NDS中图像文件一般来说分为色板以及数据两部分,这样就不用每个像素点都储存RGB值造成空间浪费。刚开始我不知道怎样正确地导出色板,也走了一些弯路。熟练之后就是先找到色板,然后找到图片并调整图块的尺寸,拼好图片再复制到画图板里,然后用画图板或者PS修改,改好之后再导回去即可。这中间又遇到了一个困难,就是在游戏中有一部分图块是共用的,比如日语的一些名词常用片假名来表示,里面会有「ヨ」「コ」这样的假名,具有一定的对称性,于是游戏的制作组就会把这些图块翻转一下,节省一点存储空间。这下可害苦了汉化的我,因为我不会反编译游戏,所以如果遇到这样的结构,这个图块我就只能空着不放了,当然这样的部分在游戏里不多,而且也不算特别显眼,细心的玩家可以猜猜看哪些部分有这样的情况。
大部分图片都汉化完了,可是却有几张图片在ROM中无论如何也找不到,因为图片不像字模或者是游戏文本,前者只有黑白两色,而后者只要编码正确,一眼就能看出来,图片有4位和8位两种格式,而且根据色板和图块尺寸的不同,在ROM中的表现也会大相径庭,所以我很难使用肉眼去遍历整个ROM。于是我就在解包后的ROM里一个一个文件去排除,最后剩下了几个可能的目标,原来它们是以另一种名为RLE的压缩格式储存,并将多幅图片合并在同一个文件中的,使用对应的工具解压并修改后也解决了问题。但最后还有一个东西始终没有找到,那就是刚进入游戏时选择「新的开始」和「继续游戏」的按钮。说实话,如果是其他内容实在找不到,大不了就不汉化了,反正也无伤大雅。但是你说游戏刚进来的界面就汉化不了,这让我的面子往哪搁?于是我说什么也得找到它。这下汉化工作又陷入了停滞,有一天我突然想到,开始界面的样子和游戏里机甲的操纵面板很像,该不会它是储存在游戏操纵面板的那一大个数据包里吧?因为游戏里的面板有上百个,而且它们的色板也各不相同,所以我当时粗粗看了一眼,知道「哦,原来是操纵面板」就没有仔细看了。这下我下定决心要把操纵面板全部看一遍,这些操纵面板转换成图块有好几千行,而且每个操纵面板之间都有一些零星的配置数据,导致图块会有些错位,还得微调一下,我花了一个多小时,都快翻到最后了还没找到开始界面的面板,逐渐有点心灰意冷,结果没想到它竟然储存在倒数的几个,真是让我又喜又气,早知道就倒过来看了。补上了这最后一片拼图,汉化工作也基本完成了。
最后就是进行校对了,我一共校对了三遍,修改了一些错别字、病句以及显示不正确的地方,当然可能还是会有些许的错漏,请大家谅解。如果大家在游玩的过程中发现有任何问题的话,还请不吝赐教,截图给我,届时我再汇总整理一个1.1版本,因为这是我最喜欢的NDS游戏,也希望它能够以一个比较完美的状态呈现。
在汉化的过程中还有两个小插曲,其一就是我在解包游戏之后,发现有一个文件夹名字叫robot,很显然这里储存了游戏里的各种机甲。我尝试用敌人的机甲替换了玩家的机甲,竟然真的可以使用,而且制作组居然还为敌人的机甲也制作了操纵面板,可能他们当时也需要测试吧。拿着最终BOSS的机甲爽玩了几关非常快乐,不知道能不能通过修改存档的方式,真正获得这些敌机呢?这个技术我目前还不会。
第二个小插曲,就是我想将每一台机甲不同攻击方式的攻击力添加到机甲介绍中。我在WIKI上看到有一个表格,里面统计了这些攻击力,但是仔细一看的话就会发现其实缺了很多,他主要统计了威力比较高的攻击方式,有些细枝末节的内容(比如一些以远程攻击为主的机甲,也有近战攻击力),还有小垃圾机甲它就没有统计了。这对强迫症的我来说稍微有点不能接受,请教了外网上几年前「英化」这个游戏的帖子,他说我可以考虑通过查看内存的方式来获取这些机甲的攻击力。我觉得这是一个好办法,但是因为游戏里的敌人都会动来动去,而且还会攻击,很难去做实验,于是我就找了游戏里破坏固定目标物的一关,用金手指让敌人全部自爆,然后通过查看内存的方式,找到了这个目标物的血量,就可以测试不同攻击的威力啦,就这样我成功统计了游戏里面所有攻击方式的攻击力。
以上就是汉化的大致经过了,做完这个项目,感觉特别有成就感,甚至比玩游戏本身都有趣多了,也觉得特别幸运,我最爱的一款NDS游戏居然一直没有人汉化,使我得以亲手汉化它,童年的纸飞机,如今飞回手中。
附录:名词翻译轶事
在本作中有大量的专有名词,如人名、地名以及机甲名等等。在翻译过程中,我不想直接采用音译的方式,这样会使名称没有辨识度,而且非常杂乱和拗口,我希望能将音译和意译结合起来,翻译出如「基因」「引擎」这样信达雅的译名,下面我想分享一些比较重要或个人比较满意的译名。
名称类词语翻译的主要原则:
如果已经存在广泛使用的译名,则优先使用(如ファウスト浮士德)
如果原文是意义明确的单词,则使用直译(如スペクトラ多光谱)
如果是由英文单词化用来的名字,尽量使用音译与意译相结合(如ベルメラン镖岚)
如果是意义不甚明确的英文名,则直接使用音译(如メリッサ梅丽莎)。若有可能,在音译时选择可以体现对象特征的单字。
1.俑机
作为游戏中最重要的概念,由人偶发展而来的巨大机器人:MG,其全称是Marionation Gear,Marionation一词源于marionette即提线木偶,在原版游戏中也把MG称为「人形」,也就是日语中「人偶」的意思,在翻译的时候我也考虑过直接使用「人形」这个词,但是显然汉语中的「人形」很难表达「由人偶发展而来的巨大机器人」这个意象,更何况游戏中的许多动物类机甲根本不具有「人」的外形特征,无论是直接使用「人形」或者直译「人偶」都难免产生一丝怪异感。另外也曾考虑过使用「机甲」,但是这样的话又丢失了原作中人偶这个特色,最后决定使用生造词「俑机」,虽然「俑」这个字第一反应会让人联想到「兵马俑」,但事实上早在战国时期就有定义「机械发动踊跃,故谓之俑也」,可见「俑」就是由简单机械驱动、能够自己转动跳跃的木人,用在此处可谓非常合适,于是就敲定下来。
2.自律兵
在游戏中原文是Automan,如果直接音译的话岂不是变成「奥特曼」了吗?(笑),于是借用了游戏中对它的描述「自律人形」,故称之为「自律兵」,这个名字是大二时就想好了的,期间也考虑过「自控机兵」,但经过推敲后还是觉得「自律兵」更合适。
3.冈雷师傅
作为游戏中主人公的师傅,其原名罗马音是garoi,我知道这个名字是取自美国科幻小说家丹尼尔·加卢耶(Galouye),但直接使用「加卢耶」的话会比较拗口。而且游戏中师傅的形象与科幻小说家实在是风马牛不相及,于是采用了能体现出师傅个人特点的「冈雷」二字,比较简洁有力。
4.刻墨镇
游戏中主人公们居住的小镇,原名罗马音是kurono,取自古希腊神话中的时间之神:克罗诺斯,同时这个词在日语中又谐音「黑色的」,于是将音译和意译结合,取「时刻」「墨水」译为「刻墨」。
5.逆渡镇
游戏中历史博物馆所在的小镇,原名罗马音是retoroguraado,取自机械表中的一个结构「逆跳指针」(retrograde),同时这个词也有「时光倒流」之意,于是将音译和意译结合,取「逆渡」。
6.览拓市
游戏中的科学之都,原名罗马音是ratorapanto,取自机械表中的另一个结构「追针」(rattrapante),这个结构主要用于田径比赛中的多人计时等场景,是对机械表功能的一种创新和拓展,再考虑到「科学」这个概念,结合音译,取「览拓」。
7.陀轮镇
游戏中另一座小镇,原名罗马音是torubion,取自机械表中的结构「陀飞轮」(tourbillon),这个词本身就是音译和意译相结合的,但作为地名的话三个字又稍显啰嗦,于是取「陀轮」。
8.江麓城
游戏中的黄金之都,原名罗马音是jaguruuru,其实就是英语中的「丛林」(jungle),在游戏场景中这是一座被群山包围的宫殿,旁边恰好有条河,于是将音译和意译结合,译为「江麓」。
(游戏中的俑机非常多,仅举例最满意的几个,名称有出处的俑机我都已加入了游戏的汉化文本之中)
9.弩弓俑机 弦音
原名「弩弓人形ヒュオン」(hyuon),这个名字其实类似中文的拟声词「嗖」,就是箭矢飞行的声音,于是结合音译和意译,取「弦音」。
10.投刃俑机 镖岚
这是一台使用回旋镖的机甲,原名「投刃人形ベルメラン」(berumeran),正是取自英语中的回旋镖(boomerang),于是结合音译和意译,取「镖岚」。
11.甲壳俑机 铠步
这是一台螃蟹外形的机甲,原名「甲殻人形クライヴ」(kuraivu),正是取自英语中的螃蟹(crab),于是结合螃蟹坚硬的外壳和横向爬行的特点,译作「铠步」。
12.蒸汽俑机 棍武
这是一台使用蒸汽驱动的机甲,原名「蒸気人形ドーヴァー」(doovaa),其武器是一对武术短拐,也就是十八般兵器中的「拐子」,原名正是取自日语中的短拐(トンファー tonfa),于是结合音译和意译,译作「棍武」。