国外网站大全·环游世界互联网

当前位置:首页 > 汉化宝典 > >

内容详情

收录时间:2010-06-09

标题

手机游戏汉化基础教程

已阅0
投稿须知

网站介绍

汉化不外乎就是把游戏里面的异国文字修改成咱们中国人所使用的中文汉字,请记住是中文汉字,而不是日文中的汉字。所以我们的研究对象就是游戏中的文字。下面我们就从文字开始研究:

首先,我们先别慌着开始汉化研究,因为汉化涉及许多电脑方面的基础知识,我们必须先来学习一下这戏基础。如果你对自己的电脑知识掌握程度有相当的把握那就跳过这一部分继续往下看,如果没有就一定要认真地看。

二进制(0 1):不管是电子计算机还是游戏机在存储数据的时候都是以二进制的方式进行储存的。因为电子电路能表示的就只有两种状态,要么通电要么断电(电子电路是与非门电路,准确来讲应该是高电位和低电位两种状态,这里为了简单化就认为成通电与断电)。

而我们人类只习惯于十进制,所以要读懂二进制就先转化为十进制。又由于二进制的一位表示的数值太小,如果要表示一个比较大的数字的话这个二进制数字就相当的长,这样不便于人们辨识。所以从二进制里面派生出了八进制(0 1 2 3 4 5 6 7)和十六进制(0 1 2 3 4 5 6 7 8 9 A B C D E F),每三位二进制数可以转换为一位八进制,每四位二进制可以转换为一位十六进制。

怎样互换这些不同的进制数值是个数学问题,高中文化都知道的方法,如果实在不懂的话可以使用任何一款科学计算器,Windows系统里面就带有。123D表示十进制,123H表示十六进制,末尾的D H这些字母标明数值的类型。

位bit与字节byte:我们常说的电脑是32位;PS是32位;GBA是32位,这里的32位指的是核心CPU寄存器的宽度,1位就是1个二进制位的宽度,32位就是32个二进制位的宽度,也是8位十六进制宽度,数值表示范围从00000000H-FFFFFFFFH。两位十六进制数为一个字节byte,数值范围00H-FFH;两个字节为一个字;两个字为一个双字。由此可得几个单位的转换关系:1GB(byte)=1024MB 1MB=1024B 1B(byte)=8b(bit)。MB和Mb是两个单位,任天堂的卡带容量都是以Mb为单位的。

文件与存储:电子设备在保存记录信息的时候也是二进制的方式来保存的,文件也是一样,无论是rm mp3还是txt 甚至游戏ROM也是这样的。但有一点需要注意:在保存数值信息得时候,数值是以字节为单位,高地址存放高位字节,低地址存放低位字节。

什么意思呢?举个例子:1234H 这个数有两个字节的宽度,在保存的时候就应该是34 12,因为12是高位字节,34是低位字节,越往后靠地址越高。 我们再来认识一下文字在电脑中的存储显示问题。我们知道在电脑中储存的信息只有两种状态——0和1(二进制),所以我们就得把具体问题抽象为0和1的问题。

一般来讲,文字在电脑中保存有两种形式:文本形式和图片形式。 先来研究文本形式的文字。最基本的就是把字符点阵化然后把每个点的状态转化成二进制代码。以字母“A”为例:

○ ○ ○ ○ ○ ○ ○ ○
○ ○ ○ ● ● ○ ○ ○
○ ○ ● ○ ○ ● ○ ○
○ ● ○ ○ ○ ○ ● ○
○ ● ○ ○ ○ ○ ● ○
○ ● ● ● ● ● ● ○
○ ● ○ ○ ○ ○ ● ○
○ ○ ○ ○ ○ ○ ○ ○

这是8*8像素字母A的点阵构成 我们把每个点的状态转换成二进制数值,用0表示○;1表示●,按照这个规则从左到右从上到下排列就可以得到:00000000 00011000 00100100 01000010 01000010 01111110 01000010 00000000。

\  
\

转换为十六进制:00 18 24 42 42 7E 42 00,这就是最简单的表示方法,但这并不是字母“A”在文件中的保存形式。

我们可以使用“记事本”(一定要使用记事本)创建一个纯文本文件,里面输入唯一的一个大写字母A,然后我们再用任何一个十六进制编辑器打开这个保存的文件就会发现问题(推荐UltraEdit):文件中只有唯一的一个十六进制值——41H。

为什么不是我们得到的00 18 24 42 42 7E 42 00?道理很简单,如果文字都按照这样的方式储存并表示的话那文件就太大了。计算机在保存文本的时候并不是直接把文字的点阵信息记录到文件中,而是把点阵记录到系统字库里,而文件中就记录下这个字符的代码值。

在读取的时候先把代码值41H读取出来,再通过字符映射找到41所对应字符在系统字库里面的实际位置,接着再把这个位置的信息00 18 24 42 42 7E 42 00读取出来通过显示程序显示在屏幕上的。字符映射表就是详细记录代码与字符点阵的对应关系,为一一映射,没有一对多也没有多对一。

调用系统字库可以大大节省文件的容量,提高显示效率。映射表在汉化的时候也可称为码表。在电脑中最典型的内码就是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个字节,地址从低到高依次为Blue Green Red(符合上一讲数值存储的基本规则),一共有16组(因为我们保存的是16色格式)接着调色板的就是每个点的色素索引值,也就是我们看到的那一串6。

需要说明一点,我们所做的图形研究必须是bmp格式,之所以要研究这种格式,一是因为他简单,便于研究,是一种非压缩图形格式(其他的诸如jpg gif png这些都或多或少有压缩的,存储规则都比较复杂),因而bmp格式的文件随着图片的扩大,色深的增加文件容量也会随之剧增。二是由于游戏ROM里面的图片保存原理也基本上和这种格式相同——调色板+索引值。

图片存储还有一些规则必须了解。色深不同保存后每个像素占用的空间就有区别,刚才我们所讲到的16色图片每个像素仅占用半个字节(因为只有16种颜色,所以就只有16个索引值用0-F表示出来),所以两个像素合起来才占用的是一个字节,合起来的数值在记录的时候是按位进行操作的,换句话说就是要满足数值存储的基本规则——高地址存放高位值,低地址存放低位值。

如果图片是256色那么每个像素就得占用完整的一个字节,65535色(16位色)就得占用两个字节,以此类推。这里我们引入一个单位——bpp(bit per pixel)位每像素,这个单位和色深基本上是同一个意思只是描述的方式不一样,色深是直接指的颜色数量,bpp通过描述每个像素所占用的空间间接说明颜色数量,不过bpp这个在汉化的时候更为常用。通过以上的说明,我们就可以知道bpp和色深有如下关系:

1bpp—单色(黑白)
 2bpp—4色
4bpp—16色(4bit就是半个字节)
……

bpp这个单位在以后经常会用到,其中的含义一定要深刻体会。另外,游戏中的图片格式虽说和bmp比较接近,但很多时候还是有它的特殊性的,对于图片格式的认识我们以后接触到游戏的时候再作补充,图片的现实和存储还和硬件设备由一定的关系,现在只需要大家有个感性上的认识,在作图片修改的时候还有可能涉及到程序反汇编跟踪等等复杂问题,可以说图片修改既简单又困难。 

小结:本节主要介绍了图片的保存规则,游戏机图形也是像bmp这样的把调色板与色素分离开建立索引映射的。毕竟一个是电脑一个是游戏机;一个是标准的格式,是要供人们编辑使用的,一个是“隐藏”的,是只让人看得见却摸不着的,两者之间还是会有一点点差异的,比如ROM里面的图片就不会有文件头,而调色板和索引值也不是一定连在一起的。不过修改图片步骤少,容易实现,对于标准格式的图片来说新手是很容易修改出来的。

所以各个初次接触汉化的玩家应该先接触一下图片的修改,而且目前修改游戏ROM图片的工具《TLP》功能还算可以,能够很轻易地享受到成功带来的刺激。另一个需要说的是“高地址存放高位值,低地址存放低位值”这个规则在两节的基础内容介绍中都反复提到过,为的就是让大家记死,几乎所有的地方都用得着,在以后的内容学习中不到万不得已将不再有类似的提示了,靠大家自己理解。

至此,汉化游戏前需要了解的基本内容也就告一段落,这两节的内容讲得非常的细致是希望大家不仅能了解到这些原理,更重要的是通过这种方式的学习使大家掌握分析问题的方法。网上有很多新手都在咨询汉化需要哪些工具哪儿有下载,这是十分不好的现象,学汉化学到的不应该只是怎么使用工具来操作,原因道理才是应该掌握的内容。

这两节的学习虽然没有涉及到任何游戏的内容,但讲的都是一些非常基础的东西,是容易被大家所忽视的问题,网上的教材也对这些内容讲解不够,造成很多新手知识脱节,灰心丧气的不少。在下一次,我们就将展开对游戏的分析了,游戏机样本就是任天堂的GameBoyAdvance。

分享给小伙伴们:
站长头像赫赫无敌:探索互联网世界,收集和分享实用互联网资源,推荐国内和国外知名、实用、创新、科技、优质的站点资源!互联无极限,探索无止境;分享求真知,网络无国界!
更多>>

同类站点推荐

评论

关于我们|联系方式|版权声明|关于图片|友情链接|

分享互联网优秀资源-国外网站推荐

Copyright ◎ 2014 egouz.com, All Rights Reserved.| 目前收录国外网站 个!

国外网站大全 版权所有 冀ICP备11014106号-