前言
最近在研究GB&GBC游戏的汉化,发现中文网上相关的资料确实比较少,所以这里简单记录一下自己汉化游戏的过程,方便以后查询,也可以让有兴趣来汉化GB&GBC游戏的同好能少走一些弯路。授人以鱼不如授人以渔,如果你自己喜欢某个游戏又没有汉化版本,不如自己动手去搞一个。大部分GB/GBC游戏的文本量都不太大,并且现在用AI翻译文本的效果也还可以,一个人来汉化也是可以的。
我没有任何编程的基础,也就是从去年才开始接触GB&GBC游戏的汉化,所以很多东西也是一知半解,这里的表述都是写给我自己这个菜鸟看的,肯定会有很多错误,也欢迎大家及时指出。
首先强烈推荐大家去看看中文网上唯一一篇关于GB汉化的教程《[GB]学习GB&GBC汉化》,即便看不懂,你也先把这篇文章保存好,将来一定用得上。我开始也是看得一头雾水,但后来发现我实际遇到的问题,基本上都能在这里面找到答案。
关于GB游戏的原理,Z80汇编语言什么的我自己也搞不明白,我就从简单的开始分享。
一些常用的工具软件可以在这里下载
https://pan.baidu.com/s/1J5IfXaxZwu9eU6FFMZnIyg?pwd=9cnv
一、CrystalTile软件的简单使用
我就拿最近在汉化的《超时空要塞7》的过程来举例。这个游戏文本不多,游戏中使用的是大字,因此不需要修改文本显示的程序,也没有使用压缩程序,汉化起来相对容易。
游戏rom我们就用原始的没有修改过的rom,首先需要对游戏有个基本的了解,至少知道游戏里的文字大概出现那些地方。本游戏中出现日文文字的地方主要有下面几处:开头的介绍,游戏过场场景中下方对话框中的文字,战斗画面下方的显示框,以及一些系统设置的界面。我们的目标就是把这些地方汉化为中文。




还需要一个软件CrystalTile2(或者CrystalTile)。这个软件功能相当强大,基本上大部分的汉化工作都可以用它完成。遗憾的是汉化中用到的很多软件都是多年前大佬们写的,在现在的操作系统上可能运行的不太好,可能要不同版本的搭配起来用。一些软件的简单操作,我会大概提到,大家也可以自己多去摸索。
先用CrystalTile2打开游戏的rom,看到的是一堆数字,这是十六进制编辑器模式。

我们换一个方式来看,点上方菜单栏这五个图标里的第一个,切换到Tile模式

会看到很多花花绿绿的点点组成的小方格

这里我们随便点一个小方格(Tile),然后按住shift,再按上下左右可以调整每页显示的Tile数量,我们先调到行列16x16(右下角可以看到)

往下滚动,会看到很多看起来像是图片或是文字的小方块,但顺序是乱的,比如像下面这样的

按住Ctrl加左右可以微调这些Tile的位置,通过联合使用shift加上下左右,有些界面看起来就比较像游戏里的画面了,比如这个就有点像是游戏的标题画面

至于文字,因为这个游戏里是大字,应该是4个Tile显示一个汉字,看这里应该是把一个字上下分开连着放了。

修改左边宽度为16,高度为16,绘图模式ObjH-1234。(有些游戏中需要使用ObjV-1324才能看到完整的字符,还有一些游戏要把Tile颜色那里选择为单色1bpp才能正常显示,多多尝试)

就可以看到完整的文字了,这应该就是游戏中一处字库的位置

游戏中显示的图片文字,就是我们现在看到的这些Tile通过特定的排列显示出来的,如果把这些Tile修改了的话,游戏中的显示也会相应修改。
双击任意一个Tile,就会进入Tile编辑器模式,可以用鼠标在小格子里自己绘制想要的Tile,保存之后游戏中相应的Tile的显示也会跟着改变。
右下角中间000F105A表示当前选择的Tile的地址

左侧边栏第一行偏移地址,表示当前页面右上角的Tile的地址,在这里输入相应的地址,可以快速定位到想要看的Tile处

比如输入A819A,再回车,就来到另一处字库的位置

建议大家多多尝试看看rom的内容,对游戏中图片、字库等的位置有个大概的了解。可以先把一些比较重要的Tile的起始位置记下,这样方便后面快速定位。