汉化基础教程完整版PGCG汉化小组.docx
《汉化基础教程完整版PGCG汉化小组.docx》由会员分享,可在线阅读,更多相关《汉化基础教程完整版PGCG汉化小组.docx(66页珍藏版)》请在冰豆网上搜索。
![汉化基础教程完整版PGCG汉化小组.docx](https://file1.bdocx.com/fileroot1/2023-5/17/7ac5a850-df18-4d5b-8d04-d8741f0c1517/7ac5a850-df18-4d5b-8d04-d8741f0c15171.gif)
汉化基础教程完整版PGCG汉化小组
汉化基础教程
(PGCG汉化小组)
一.心态篇----------------------------------------------------------------------2
二.基础篇(上)-----------------------------------------------------------------4
三.基础篇(下)-----------------------------------------------------------------7
四.初探篇--------------------------------------------------------------------11
五.图形篇--------------------------------------------------------------------15
番外篇*汉化美工教程---------------------------------------------------------20
六.文字篇
(一)----------------------------------------------------------------27
七.文字篇
(二)----------------------------------------------------------------30
八.文字篇(三)----------------------------------------------------------------35
九.文字篇(四)----------------------------------------------------------------41
十.文字篇(五)----------------------------------------------------------------45
十一.ASM篇----------------------------------------------------------------47
十二.压缩篇------------------------------------------------------------------54
十三.完结篇------------------------------------------------------------------57
一心态篇
游戏汉化是一个费力又费时的工程,没有游戏厂商的开发源程序,没有固定的某个软件,也没有固定的方式,一切都得靠自己手工劳作。
汉化游戏对个人的态度与心理素质要求都比较高,所以在开始学习汉化前有必要先上一堂心态课,用意在于让大家对汉化游戏有个思想上的认识,有个心理准备。
汉化不是三言两语就能说清楚道明白的,也不是喝口水、眨下眼就能精通的!
!
!
。
各位初次接触的新人想必都怀着不同的理由才投身汉化的,但无论是什么最终目的都是想把一个个日文游戏变成通俗易懂的中文游戏。
在这个共同点上是十分值得赞扬的,不过我也想提醒大家,希望大家对汉化有个正确的认识。
汉化者必须具备的3个条件:
1、坚持不懈、持之以恒的耐力。
2、熟练的计算机操作能力。
3、广泛的计算机知识。
其中最为关键的就是耐心毅力,在汉化中必定会遇到现实与潜在的双重困难,任何一个困难都有可能使你放弃汉化,面对种种错综复杂的困难,良好的心态显得十分重要。
困难不是不能克服,而是看你愿不愿意去克服。
汉化不仅是游戏的汉化过程,同时也是自身能力提高的过程。
而在这之中伴随的来自于自身(生活、学习等)和外界(Lamer)的压力同样可能使你屈服,这同样也得靠耐心来趋势自己继续前进。
“勤能补拙”,良好的耐心毅力能弥补自己在其他方面的不足,而重点是“勤”。
它可以使自己的能力得到飞速提高。
从事汉化研究的人群多为青年,青年具有先天的求知欲与积极向上的精神,但是另一方面,中国青年浮躁、不踏实、意气用事的心理却往往会制约自身的能力提高。
要想在汉化方面真有所建树首先就必须端正自己的思想,净化自己的心态。
汉化对于计算机知识要求是广而不精,所以这给当代年轻人创造了极为便利的条件。
即便是现在才开始学习,学起来也不费劲。
说到学这个问题还得说一说。
由于汉化的特殊性质在目前的社会看来并不能算作一个正规的行业,因此即便是电脑技术书籍泛滥的今天想要找到一本专门讲解游戏汉化理论原理的书实在是极为不容易,所以所有关于这方面的学习都利用网络来进行学习与交流。
网络上有不少爱好游戏汉化的热心人,他们不但自己汉化游戏,也常常把自己学习的经验技术带给大家,传授给大家。
“狼组”、“天使汉化小组”的网站上都有很详细的汉化知识讲解。
目前大部分汉化人都是从那里起步的。
如果你还是新人一定要去看,把那里旮旯里的东西都学到,都消化为自己东西。
学习阶段不能只顾看,实践才是目的。
大部分教程都是伴随一个例题游戏进行的汉化讲解与演示的,所以建议在学习的时候旁边最好是准备好这些个游戏素材,边学边做。
当然,教程所教授的内容是十分简单的,又是十分片面的。
而在亲自操刀的汉化过程中将会遇到很多无法预料的问题,需要大家克服浮躁的心理善于思考勤于思考。
在真正掌握一些基础知识并具备一定能力后不能轻易自满。
学到的这些还只是个开头,接下来还有更多更严峻的问题。
这仍然需要持之以恒的学习态度。
此外经验交流也是必不可少的,志同道合的几个人可以经常在一起讨论切磋,以达到共同进步的目的。
自己不懂的要向别人请教,请教不是叫你去问这步该如何如何,下一步又该如何如何等等这样的操作性问题。
应该问的是原理,即为什么需要这样?
请教也不能产生依赖,绝不能一遇到问题就去问,问个没完没了。
合理的是得知某一问题的原因以后首先要自行分析,认清问题的真正原因后去立刻解决问题,解决完后再进行横向纵向的拓展,即找到此问题的一般性与特殊性,哪些情况会出现这样的问题,对于出现的问题各自采取什么办法等等。
再有,网上的汉化资料讲解的方法技巧都是最典型最普遍的流程,汉化没有固定的路径。
游戏结构的多种多样,导致实现汉化的方式方法也可以多种多样,不要生硬地照搬硬套,要多思考,灵活运用;具体问题具体分析,不同的情况用不同的方法处理。
在实践的过程中要善于积累适合自己的经验技术。
同时,当遇到实际情况与教程不大相同或者相抵触的时候要能够举一反三。
另外,在自身汉化经验上升到一定程度后熟练掌握一门计算机编程语言是十分必要的事情,汇编基础必不可少,很多时候都必须通过分析游戏指令来汉化游戏,而且这十分普遍,不懂的此技能的汉化者几乎不可能独立完成一个游戏的破解工作。
高级程序语言,例如BasicC/C++,要学会利用这些高级语言来编写小程序以达到事半功倍的效果,同时也是自身能力又一次提高的过程。
关于语言的学习就大家自己去摸索吧。
还要强调的是:
汉化需要堆积大量的时间与精力,极不赞成高中学生来做这方面的研究,学生当以自身学业为重。
汉化需要热情与激情,但更需要耐心与毅力,当你心中真正装有汉化的时候它就不再那么神秘得高不可攀了。
小结:
如果你能耐心地看完这篇枯燥得只有白底黑字的不涉及任何技术性的文章后仍然对汉化充满充满无限热情,那你就具备了汉化所必须的也是最基本的条件。
以后的学习研究过程中一定要深思考、勤探索。
汉化没有捷径可图,靠得是脚踏实地坚持不懈地再攀登。
搞任何研究都不能有依赖性,汉化也不例外,绝不能像玩网络游戏那样寄希望于高手来带你,或者期待某个高手编写一套“外挂”来助你成功。
汉化主要是靠自己的研究,我们学习的不仅仅是操作,而主要的应该是原理。
因为汉化不像使用WORD编辑文书那样,学会了操作在哪台电脑上都是一样的进行。
游戏是千变万化的,没有任何两款游戏的汉化操作是完全一样的。
我们要掌握游戏运行的原理,汉化的原理,从而才能举一反三灵活运用。
汉化新手一定要注意自己的心态问题,只有建立正确的汉化观才有可能真正学会汉化。
从下次开始我们将逐步展开汉化的学习,希望对汉化有热情的玩家学有所获。
二基础篇(上)
上期我们谈了关于汉化的心态问题,别看他并没有什么技术含量,但他却决定了学习实践的成功与否。
从这期开始,逐渐讲解汉化的理论知识。
汉化不外乎就是把游戏里面的异国文字修改成咱们中国人所使用的中文汉字,请记住是中文汉字,而不是日文中的汉字。
所以我们的研究对象就是游戏中的文字。
下面我们就从文字开始研究:
首先,我们先别慌着开始汉化研究,因为汉化涉及许多电脑方面的基础知识,我们必须先来学习一下这戏基础。
如果你对自己的电脑知识掌握程度有相当的把握那就跳过这一部分继续往下看,如果没有就一定要认真地看。
二进制(01):
不管是电子计算机还是游戏机在存储数据的时候都是以二进制的方式进行储存的。
因为电子电路能表示的就只有两种状态,要么通电要么断电(电子电路是与非门电路,准确来讲应该是高电位和低电位两种状态,这里为了简单化就认为成通电与断电)。
而我们人类只习惯于十进制,所以要读懂二进制就先转化为十进制。
又由于二进制的一位表示的数值太小,如果要表示一个比较大的数字的话这个二进制数字就相当的长,这样不便于人们辨识。
所以从二进制里面派生出了八进制(01234567)和十六进制(0123456789ABCDEF),每三位二进制数可以转换为一位八进制,每四位二进制可以转换为一位十六进制。
怎样互换这些不同的进制数值是个数学问题,高中文化都知道的方法,如果实在不懂的话可以使用任何一款科学计算器,Windows系统里面就带有。
123D表示十进制,123H表示十六进制,末尾的DH这些字母标明数值的类型。
位bit与字节byte:
我们常说的电脑是32位;PS是32位;GBA是32位,这里的32位指的是核心CPU寄存器的宽度,1位就是1个二进制位的宽度,32位就是32个二进制位的宽度,也是8位十六进制宽度,数值表示范围从00000000H-FFFFFFFFH。
两位十六进制数为一个字节byte,数值范围00H-FFH;两个字节为一个字;两个字为一个双字。
由此可得几个单位的转换关系:
1GB(byte)=1024MB1MB=1024B1B(byte)=8b(bit)。
MB和Mb是两个单位,任天堂的卡带容量都是以Mb为单位的。
文件与存储:
电子设备在保存记录信息的时候也是二进制的方式来保存的,文件也是一样,无论是rmmp3还是txt甚至游戏ROM也是这样的。
但有一点需要注意:
在保存数值信息得时候,数值是以字节为单位,高地址存放高位字节,低地址存放低位字节。
什么意思呢?
举个例子:
1234H这个数有两个字节的宽度,在保存的时候就应该是3412,因为12是高位字节,34是低位字节,越往后靠地址越高。
我们再来认识一下文字在电脑中的存储显示问题。
我们知道在电脑中储存的信息只有两种状态——0和1(二进制),所以我们就得把具体问题抽象为0和1的问题。
一般来讲,文字在电脑中保存有两种形式:
文本形式和图片形式。
先来研究文本形式的文字。
最基本的就是把字符点阵化然后把每个点的状态转化成二进制代码。
以字母“A”为例:
○○○○○○○○
○○○●●○○○
○○●○○●○○
○●○○○○●○
○●○○○○●○
○●●●●●●○
○●○○○○●○
○○○○○○○○
这是8*8像素字母A的点阵构成我们把每个点的状态转换成二进制数值,用0表示○;1表示●,按照这个规则从左到右从上到下排列就可以得到:
0000000000011000001001000100001001000010011111100100001000000000。
转换为十六进制:
00182442427E4200,这就是最简单的表示方法,但这并不是字母“A”在文件中的保存形式。
我们可以使用“记事本”(一定要使用记事本)创建一个纯文本文件,里面输入唯一的一个大写字母A,然后我们再用任何一个十六进制编辑器打开这个保存的文件就会发现问题(推荐UltraEdit):
文件中只有唯一的一个十六进制值——41H。
为什么不是我们得到的00182442427E4200?
道理很简单,如果文字都按照这样的方式储存并表示的话那文件就太大了。
计算机在保存文本的时候并不是直接把文字的点阵信息记录到文件中,而是把点阵记录到系统字库里,而文件中就记录下这个字符的代码值。
在读取的时候先把代码值41H读取出来,再通过字符映射找到41所对应字符在系统字库里面的实际位置,接着再把这个位置的信息00182442427E4200读取出来通过显示程序显示在屏幕上的。
字符映射表就是详细记录代码与字符点阵的对应关系,为一一映射,没有一对多也没有多对一。
调用系统字库可以大大节省文件的容量,提高显示效率。
映射表在汉化的时候也可称为码表。
在电脑中最典型的内码就是ASCII,“41”(十六进制)就是英文字母“A”的ASCII码值。
ASCII里面包含了所有英文字符和标点符号的映射关系,ASCII编码的时候为单字节,所以A只占用一个字节。
汉字的内码比较多,主要有GB2312(简体)和GBK(繁体),汉字编码一般为2个字节,所以表示一个汉字所占用的空间就是英文字母的两倍。
这一原理相当的重要,日后汉化中都是围绕这个过程展开的。
其实从这个原理就可看出为什么汉化英文游戏比日文游戏难度大的原因。
再来说说图片形式的文字。
顾名思义,图片文字就是把文字保存为图片。
图片形式的文字字样
像这样的文字就是图片文字,文字本身就是一种图形,计算机在存储的时候要比文本型文字的原理要简单,仅仅是把每个象素转换为二进制以后按照图片规定的格式保存下来。
转换后的数据本身就是图片信息,不像文本那样有对照表。
使用这种图片文字的好处就是可以使文字显得更加美观更加个性化、艺术化,还可以和其他图片相结合在一起。
计算机或者游戏机在读取信息后就可以直接显示,不用再依照内码表进行数模(字模)转换。
所不足的就是这种文字占用的空加要比文本文字暂用的空大许多,所以就不能反复使用这种形式的文字。
一般来说,在游戏中图片文字用来作为游戏进入界面,游戏标题,控制界面等等少量的或需要美化的地方,比如“黄金太阳”、“ShiningSoul”、“SEGA”、“KONAMI”、“HP”、“MP”这些字符大都使用图片格式。
游戏里面的对话,剧情介绍,道具名称,道具介绍,状态描述等等,则大都采用文本文字,因为这些文字量比较大而且会重复出现,因而就必须从容量上考虑,再说这些地方对文字要求是正规、统一、协调,以便于阅读。
总的来说,图片文字原理比较简单,但占用空间大;文本文字原理比较复杂,好处是占用空间小。
小结:
游戏机在本质上和电脑没有太大区别,所不同的就是用途。
汉化的前提是对电脑基础知识的掌握,考验的是汉化者的综合素质。
对游戏的汉化就是对文字的修改,所有的游戏文字都离不开以上两种方式进行存储和显示的,我们必须深刻理解其中的原理。
三基础篇(下)
上一节我们主要研究了一下文本文字的原理,今天我们在来看看图片文字。
图片文字实质上就是图形,这种文字在存储规则上与普通图片是完全一致的。
我们先来了解一下图片的构成要素:
像素:
构成图片点阵的点单元数目。
因为图片都是矩形的,所以我们可以用“宽”和“高”两个参数来描述,即分辨率。
比如上一期中谈到的那个字母“A”的点阵图就是一个宽8像素高8像素的一个图片,分辨率就是8*8。
像素是以点单元也就是像素点为基本单位的,并非厘米毫米。
至于点的大小则是由硬件本身的性质决定的。
GBA屏幕的分辨率为240*160。
色深:
构成图片调色板的颜色数量。
色深一般有单色、4色、16色、256色、16位色、32位色等等,色深越大图片颜色越丰富效果也就越好。
图片的调色板固定了,图片所用到的颜色范围也就固定了,图片所用到的颜色都是从调色板里取出来的,调色板没有的颜色就无法取到,图片里也就不可能出现这种颜色。
图片的色深决定了图片存储时每个像素所占用的空间长度。
色素:
像素点的颜色。
表示颜色有很多方法,用得最多的就是RGB(Red,Green,Blue)三元色,所有的颜色都可以通过红绿蓝这三色的深度表示出来。
(255,255,255)就是一组RGB值,它表示黑色,(0,0,0)表示的是白色,随着这三个值在0-255的范围内变化,颜色也会随之变化。
图片要素还有很多,这里不作专业讨论,我们只谈了与修改有关的要素。
图片要得到保存,最起码也得记录下图片的这两个属性——调色板、色素。
就我们上次的字母“A”点阵图来说,可以把它看成一个只有白色和黑色两种颜色的图片。
我们先来做个实验,看看图片究竟是怎么保存的。
首先,我们打开Windows的画图工具,在里面把画布的大小调整为8*8,然后随便用一种颜色填充整个画布并保存为16色位图bmp格式(图1),保存的时候不用担心颜色发生的变化。
因为画板的默认调色板为24位色,我们保存为16色调色板必然会丢掉大量的颜色,
如果碰巧我们使用的这种颜色恰好被丢掉的话系统会自动采用16色调色板里面最近似的颜色加以保存。
不过我们研究的不是颜色的丢失。
接下来用十六进制编辑器打开这个图片,我们将会看到图2的内容。
如果大家填充的颜色与我得不一样的话立刻就能找到不同的地方。
不错,文件最后的三排的内容完全不同,你的可能是0-F的任何一种,反正我的就是一串6。
聪明人立刻就会明白这其中的奥秘了吧,猜得没错就是那样,文件最后的这些信息就是画布每个点的颜色。
我们可以来修改修改,看看是不是这样,从76H到95H(这里指的是地址,窗口状态栏有标明光标所在点的地址值)所有的内容都改为0,然后再用画图程序打开看看(图3),
我们的画布全都变黑了。
确实如此,bmp格式的文件就是把每个点的颜色索引值逐个逐个地记录下来的。
既然文件末尾的那些值才是点的颜色,那前面的数值又有什么意义呢?
读者可以按照这个方法继续进行对比分析,意义都很简单,为了节省篇幅,这里就略去了。
在bmp格式中文件结构可以分为三部分,最开始的两三排内容为文件头,记录着文件的像素、色深等基本信息,紧接着的是调色板每个颜色的RGB值,每一组占用3个字节,地址从低到高依次为BlueGreenRed(符合上一讲数值存储的基本规则),一共有16组(因为我们保存的是16色格式)接着调色板的就是每个点的色素索引值,也就是我们看到的那一串6。
需要说明一点,我们所做的图形研究必须是bmp格式,之所以要研究这种格式,一是因为他简单,便于研究,是一种非压缩图形格式(其他的诸如jpggifpng这些都或多或少有压缩的,存储规则都比较复杂),因而bmp格式的文件随着图片的扩大,色深的增加文件容量也会随之剧增。
二是由于游戏ROM里面的图片保存原理也基本上和这种格式相同——调色板+索引值。
图片存储还有一些规则必须了解。
色深不同保存后每个像素占用的空间就有区别,刚才我们所讲到的16色图片每个像素仅占用半个字节(因为只有16种颜色,所以就只有16个索引值用0-F表示出来),所以两个像素合起来才占用的是一个字节,合起来的数值在记录的时候是按位进行操作的,换句话说就是要满足数值存储的基本规则——高地址存放高位值,低地址存放低位值。
如果图片是256色那么每个像素就得占用完整的一个字节,65535色(16位色)就得占用两个字节,以此类推。
这里我们引入一个单位——bpp(bitperpixel)位每像素,这个单位和色深基本上是同一个意思只是描述的方式不一样,色深是直接指的颜色数量,bpp通过描述每个像素所占用的空间间接说明颜色数量,不过bpp这个在汉化的时候更为常用。
通过以上的说明,我们就可以知道bpp和色深有如下关系:
1bpp—单色(黑白)
2bpp—4色
4bpp—16色(4bit就是半个字节)
……
bpp这个单位在以后经常会用到,其中的含义一定要深刻体会。
另外,游戏中的图片格式虽说和bmp比较接近,但很多时候还是有它的特殊性的,对于图片格式的认识我们以后接触到游戏的时候再作补充,图片的现实和存储还和硬件设备由一定的关系,现在只需要大家有个感性上的认识,在作图片修改的时候还有可能涉及到程序反汇编跟踪等等复杂问题,可以说图片修改既简单又困难。
小结:
本节主要介绍了图片的保存规则,游戏机图形也是像bmp这样的把调色板与色素分离开建立索引映射的。
毕竟一个是电脑一个是游戏机;一个是标准的格式,是要供人们编辑使用的,一个是“隐藏”的,是只让人看得见却摸不着的,两者之间还是会有一点点差异的,比如ROM里面的图片就不会有文件头,而调色板和索引值也不是一定连在一起的。
不过修改图片步骤少,容易实现,对于标准格式的图片来说新手是很容易修改出来的。
所以各个初次接触汉化的玩家应该先接触一下图片的修改,而且目前修改游戏ROM图片的工具《TLP》功能还算可以,能够很轻易地享受到成功带来的刺激。
另一个需要说的是“高地址存放高位值,低地址存放低位值”这个规则在两节的基础内容介绍中都反复提到过,为的就是让大家记死,几乎所有的地方都用得着,在以后的内容学习中不到万不得已将不再有类似的提示了,靠大家自己理解。
至此,汉化游戏前需要了解的基本内容也就告一段落,这两节的内容讲得非常的细致是希望大家不仅能了解到这些原理,更重要的是通过这种方式的学习使大家掌握分析问题的方法。
网上有很多新手都在咨询汉化需要哪些工具哪儿有下载,这是十分不好的现象,学汉化学到的不应该只是怎么使用工具来操作,原因道理才是应该掌握的内容。
这两节的学习虽然没有涉及到任何游戏的内容,但讲的都是一些非常基础的东西,是容易被大家所忽视的问题,网上的教材也对这些内容讲解不够,造成很多新手知识脱节,灰心丧气的不少。
在下一次,我们就将展开对游戏的分析了,游戏机样本就是任天堂的GameBoyAdvance。
四初探篇
通过前面三节学习,我们已经掌握的一些基本原理,接下来可以正式进入汉化的研究了,仍旧采用深入浅出的方式和大家一起来探讨。
前面已经说过我们要汉化游戏不外乎就是修改文字(对于游戏配音的汉化不是业余人士能够完成的),游戏里面的文字分为两类,这两类存储显示的方式不同就决定了汉化游戏将沿两条路来进行。
图片文字数量较少,修改起来相对简单直观,但需要比较好的电脑美术造诣(图1);主要方法就是使用Tile修改工具进行修改。
文本文字数量巨大,特别是RPGSLG,修改相对复杂且工序多,大多数情况下都需要自己编写工具来完成(图2)。
文本文字汉化的主要流程为:
字库寻找→字库破解→制作原始码表→文本导出→文本翻译→文本校验→制作新码表→字库导入→文本导入。
字库破解和制作原始码表是最为关键的环节,如果这两个关卡能够顺利通过,那以后的各个环节都迎刃而解了。
介绍一下汉化最常用的工具:
《TileLayerPro》——游戏图片浏览修改工具,是修改游戏中非压缩图片的利器,支持从1bpp到4bpp所有格式的文件(包括GBA)。
在进行图片文字修改,字库查找的时候都会使用到它。
不过遗憾的是这个工具只支持16色模式,也就是最高只能到4bpp,对于GBA256色的图片无法进行正确浏览。
程序界面由菜单栏、工具栏、Tile浏览窗口、内部剪贴板、Tile编辑器、调色板编辑器组成。
菜单栏放置了这个工具所有的功能项,全部的功能都可以在这儿调用。
工具栏放置的打开保存还有必要的放大缩小按钮,以及Windows计算器的快捷图标。
Tile浏览窗口就是最大的显示出来密密麻麻星星点点的那个窗口,这些内容就是文件里的内容,