A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 5273|回复: 1

【转载】 风之杖汉化的故事(表)

[复制链接]
该用户已被禁言

精华
0
帖子
270
威望
0 点
积分
280 点
种子
5 点
注册时间
2006-5-11
最后登录
2023-5-13
 楼主| 发表于 2008-12-31 11:29  ·  上海 | 显示全部楼层 |阅读模式
原文转自TGFC HyperIris大大的帖子
http://club.tgfc.com/thread-6037511-1-1.html

开场废话:

岁月如梭阿 = =!!  感慨一下……猛然间发现距离自己写下第一行windows程序代码已经有10年了。

------------------------------华丽的割------------------------------

名词:

Ikaruga      -- 斑***
ZTWW      -- The Legend of Zelda - The Wind Waker      塞尔达传说,风之杖
ZTP      -- The Legend of Zelda - Twilight Princess 塞尔达传说,黄昏公主
PMTTYD      -- Paper Mario: The Thousand-Year Door      纸片马力奥千年之门
MP      -- Metroid Prime
GCM      -- GameCube游戏打包格式,一般玩家认为是iso,其实不是,GCM结构上更类似于NDS游戏ROM,或        者说NDS ROM是GCM 2.0,Wii ISO是GCM 3.0
PowerPC      -- 精简指令集微处理器,目前几乎只有IBM一家大规模生产,广泛用于Wii,PS3,XB360
Dolphin SDK -- GameCube开发代号Dolphin,Dolphin SDK自然就是GameCube的开发包
Dolphin-emu -- 史上第一个真正模拟GC游戏的模拟器,于2008年正式开源,并且开始支持Wii模拟
gcube      -- 早期GC模拟器之一,有一个很好的调试器,开放源代码,代码简洁工整

------------------------------华丽的割------------------------------

真实的历史:

现在GC上真正意义的汉化游戏据我所知只有两个:Ikaruga 和 ZTWW,其中Ikaruga汉化的程序是geese完成的,而TWW汉化的程序是我完成的。

一切都要从2007年春末夏初开始,当时我无所事事(= =),蹲在家里面玩TTYD,不知道哪根筋拧了,冒出想把游戏拆开看看的念头。于是我就找来gcm工具把TTYD整个拆包。

TTYD这个游戏是很简单的的一个小品级游戏,从程序上来看也是如此,这个游戏的文本几乎是以plain-text的形式直接存放在gcm中的,字库的格式也很简单。

之前我虽然写过多年的程序,却从没有汉化过游戏。抱着取经的想法,我在QQ上找到了oz01,我问他TTYD这样的游戏能不能汉化,oz01直接回答:“GC游戏是不可能汉化的”。orz……好吧,我汉一个。

于是我用了一个下午把文本导出、文本合并和字库合成工具写了出来,随后我翻译了开场的一句,把文本导入,合成字库,用模拟器(gcube)运行,结果大失所望,没有文字显示出来。

难道这样就放弃了么?没有找到原因怎么能放弃,我上网找到了PowerPC的汇编教程(IBM有)和Dolphin SDK,然后我开始学PowerPC汇编和GC的开发。

几天以后,我开始调试TTYD。gcube的调试器很有意思,非常类似于SoftICE,因此对我来说上手很简单。经过痛苦的调试,我弄清楚了TTYD读取字库和文本的全过程,当然问题的根源也找到了:TTYD程序检查文本的编码,如果是ASCII或者SJIS就认为是正确的文本,别的直接bypass。

……之后就很简单了,两个办法:asm-hack把检查文本内码这一段绕过去,或者导入文本生成字库的时候把gb2312做一个remapping。我很懒,我懒得写remapping,我用了asm-hack。于是TTYD就这么破解掉了。

缺少经验的我兴冲冲的在ez和tgfc几个论坛发帖挖坑,事后证明这个坑很失败,不说TTYD这个游戏本身如何,就国内而言,TTYD是一个几乎没有人玩过的游戏,没有任何知名度。经过很久,翻译了不到20句,后来我只能选择放弃。

在等待TTYD翻译的这段时间里,很不巧,我打上了TWW和MP的主意。先说MP,这个游戏我玩了很久,而且事实上很久很久以前我就有“如果这个游戏有人汉化就好了”之类的念头,但是一直没有动手,直到TTYD以后我才真正的研究这个游戏。

MP这个游戏,无论是画面还是技术上,都很华丽。比如说,打包和压缩,利用大量重复资源减少光头寻道时间,unicode(日版自带6国语言)等等,其字库也是非常有个性,具体细节就不说了。

言归正传,TWW其字库和文本都是用任天堂内部的“标准”格式存储的,有很多游戏都是这些格式,但是我并没有在SDK中找到文档,一切都需要手工逆向工程。幸运的是,这些格式并不复杂。

在导入文本后我又遇到了显示上的问题,调试发现和TTYD情况一样,依旧是检查内码,这次我选择了remapping,因为asm-hack毕竟感觉上有点“邪门歪道”。

……
完整地分析游戏资源格式,完美的重构资源才是汉化的王道。可惜在TWW中我并没有做到,事实证明我缺少经验,我以为导出文本写出工具就万事大吉,事实并不是这么简单。

首先从文本导出说起,文本导出后我并没有仔细检查,实际上最初的TWW文本导出工具有bug,虽然不影响文本的正确性,却给翻译带来了困惑。导致了之后整理文本和控制符工作量极大增加。

其次是字库合成,这个工具我写成了GUI形式,看起来很直观但是实际上效率很低:GUI程序不利于自动化,每一次制作patch都需要手工操作来制作字库,正确的做法是应该做成命令行的工具,这样就可以写一个批处理,把文本导入,字库合成,编译patch一次自动完成。

最后是翻译工具,最初我并没有意识到翻译工具的重要性。事实上这是一个致命错误。古人云:“工欲善其事,必先利其器”。后来在MP的翻译中,我引入了agemo编写的编辑器,并且我增加了针对GC汉化的文本格式和控制符语法着色,尽可能的把翻译的精力转移到文本翻译自身上而不是在茫茫的控制符中查找文本。

------------------------------华丽的割------------------------------

后记:
1 MP 这个游戏现在仍然在汉化,卡比兔在辛苦的整理文本,我希望2009年可以完工。
2 TP 项目启动了,就工具链来说我肯定会把程序写得比TWW的完善,如果这个项目可以完成,那么据我所知Zelda会成为第一个全系列汉化的console RPG游戏。
3 Dolphin的开源和成熟带来了一个契机,有喜欢TOS的么,举手。

还有人很好奇为什么不做Wii的汉化,我就顺大便在这篇扯淡文里面一并解释了:

1 Wii 这种以脑残操作为主要游戏控制方式的主机实在是太tm sb了,给这种主机汉化游戏更sb。
2 Wii 上有值得玩的游戏么?我没发现。
3 谁赞助我一台?233马克斯。

------------------------------华丽的割------------------------------

激动啊 看见TP项目启动啦 大赞 感谢那些为汉化辛苦付出的人  .

圣骑士

头衔什么的才没有呢

精华
9
帖子
2932
威望
23 点
积分
4237 点
种子
7 点
注册时间
2007-6-26
最后登录
2021-3-18
发表于 2008-12-31 13:19  ·  浙江 | 显示全部楼层
……lz你好……………………
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-15 11:15 , Processed in 0.164531 second(s), 15 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部