PlayFirst类小游戏是基于Playground SDK开发的游戏,汉化技术比较简单。Playground SDK是由PlayFirst公司出品的可免费使用的游戏开发包。用此开发包开发的游戏除了PlayFirst出品的游戏外还有其他公司的。《好消息!120多个Playfirst休闲小游戏汉化实现》(https://www.chinaavg.com/read.php?tid-20251-fpage-4.html)帖子中有此类游戏的不完全列表。
$ v2 O8 Y7 b r7 \此类游戏的资源包是\assets\assets.pfp。汉化的第一步就是解开.pfp包。由于Playground SDK对于游戏读取文件有优先级,只要把\assets\assets.pfp解出的需要修改的文件修改后放在\assets目录下,游戏就会优先读取,从而使得该类游戏的汉化无需打包还原。 & N0 _/ F9 ?( e T; B7 C
# f: l) L7 @3 T: m" \. I, f( C B
解包工具可使用通用命令行解包器QuickBMS,该解包器在《【汉化工具】通用命令行解包器QuickBMS》(https://www.chinaavg.com/read.php?tid=16533)帖子中下载最新版本quickbms0.23.zip。既然是通用的,就不仅仅是用来解.pfp包的。这个工具通过读取BMS脚本文件来进行针对某种类型的资源包的解包工作。比如,我们要解开的是.pfp包,那么需要.pfp包的解包脚本供quickbms读取。至于quickbms的详细介绍,可以到上面的帖子中去看。
$ _2 H+ g* r0 x6 Mpfp解包脚本在《自己写了个PFP解包器(quickbms)》(https://www.chinaavg.com/read.php?tid=20277)帖子中下载。 ! @9 @/ o$ F5 i& S _+ a
这是一个.bms的脚本文件。当运行quickbms的时候,会提示输入这个脚本文件,
6 ]% Q, B4 {$ q( q5 X ( ]: {$ F) K8 f( t+ _) k0 E4 k
9 _' R3 R v; E2 D8 v
同时弹出文件选择对话窗口。
$ V% \; |+ w0 E. y! I
& W4 P7 U, \5 Q
0 D$ h2 j8 j. Y! I* W# n- `选择了脚本文件后,对话窗口会闪烁一下,此时切换回命令行窗口,发现quickbms提示输入要被解包的包文件,
8 G8 @" \0 x( Q, e8 {. ~6 v% Z W; i6 C+ z
& i9 t# k ~* C7 H( J7 L* s0 l( f- n* v4 A7 n/ B* K
同时对话窗口变为选择包文件,
) p/ T( E' o9 n' ~7 c" X
6 O& w; U8 `2 b" g% v; f0 M
/ L. [+ e# \0 e/ a4 w$ Y# V- j选择你要解包的assert.pfp,点击“打开”,对话窗口再次闪烁一下,此时切换回命令行窗口,发现quickbms提示输入解包后的文件的存放路径, / p ^; q% V8 A1 D- \* I8 G
# I* @2 x. A; }) }8 h
1 n5 P5 }' {3 a对话窗口也相应更新。 " K+ u4 ]6 T1 i1 i& s5 P0 t8 Q
' n9 W9 j0 P& a$ q' J
& q9 D8 A6 w! d! T" p& w
选择好路径,点击“保存”,解压便开始了。完成后到设定的解压路径中查看,asserts.pfp已经被解包为若干目录和文件。 + S: |- q# j o, ~
1 I+ g5 S( A* [, M1 \* s ~2 I4 D
3 x8 R8 [1 O) @# L( Z4 k+ i8 Y) L# s1 @( _# S, h
接下来的工作就是准备汉字字体。首先下载字体工具。这个工具的下载还是在《好消息!120多个Playfirst休闲小游戏汉化实现》(https://www.chinaavg.com/read.php?tid-20251-fpage-4.html)帖子里,Playmate Font Maker 1.0.1。这个工具的构成是Playmate Font Maker.exe和Character Sets目录。Playmate Font Maker.exe读取Character Sets目录下的.txt文件。 0 @/ J% j( Y# _' E& v7 D3 H
点击File菜单下的“Export to Mvec File...”生成一个.mvec字库文件。除了simhei.ttf(黑体),还有simfang.ttf(仿宋),simkai.ttf(楷体)对应中文字库。这里需要注意的是字符选择框中除了Chinese Simplified必选外,4个ASCII码的也要选上。否则汉化后游戏要显示汉字时易强制退出。
. g4 L' I/ c: f
$ J, l% ~. Z& |8 h% @! r! d* x
% e9 c, M8 R4 G3 M$ ?& ~生成了自己的.mvec文件后,要按照原来资源包中的fonts目录下的文件名逐一对应地替换掉。比如,fonts下有三个文件:arial.mvec,georgia.mvec,times.mvec,那么你也需要用三个自己的.mvec文件(可以是同一个文件的三个拷贝),改成上述三个名字替换掉它们。这个很好理解,因为游戏的可执行文件在读取字库文件时是按照预先设定好的文件名来的。你必须伪装成它原来的文件骗过它。如果只是简单地将自己命名的字库文件加入fonts下,就会出现游戏界面上被改成中文的地方什么也不显示的情况,但如果换成任意英文就能显示。这说明游戏程序根本就没有读取你的字库文件。 ! p5 E' u* L" j1 y U7 A
另外,标点符号如果想用中文标点和更多的汉字,可以自己做一个包含中文标点以及游戏中需要的汉字的.txt文件放在Playmate Font Maker的Character Sets目录下。执行Playmate Font Maker.exe的时候,它会出现在字符选择栏中。想了解详细内容,请查看《关于PlayFirst系列游戏汉化时中文标点符号的使用》(https://www.chinaavg.com/read.php?tid-20956-keyword-%B1%EA%B5%E3.html)帖子。需要注意的是,自己添加的字库文件要保存为UTF-8格式的txt才能被正确识别。 ' O/ m6 Q0 q+ E M0 A- G
) B3 f. s+ @: M" l9 z5 c9 u
对于这一类的小游戏,汉化工作的重头戏就是修改strings.xml字幕文件。需要注意的是最好用专门的xml编辑器进行编辑,不要用什么notepad。还有就是编辑好了之后要保存为UTF-8格式,不然汉化后会显示乱码。另外,有的字幕是以图片形式出现的,而不在字幕文件中,这就需要PS了。 / t% |3 r3 V9 E0 C/ S" r* h# w
5 r! V% E8 v2 p$ \0 U
如果遇到更多的问题,可以到《Playfirst 及各类小游戏汉化问题汇总》(https://www.chinaavg.com/read.php?tid-20963-fpage-2.html)帖子中查看和提问。
6 R" b! F' y7 \+ Q: A! o( x. Q8 n; ?( h; c$ t9 o( \* k0 j
其实本帖中的内容坛子里都有,这里只是做了一个整理和补充,针对零起点的同学,希望大家喜欢。最后,感谢枫叶等汉化群里的坛友帮助。
% E8 Y3 ]* K5 l/ f+ [' a! J
. ]8 U* d ]$ L4 ^5 D3 F
# u* p9 m" a' K1 f2 B6 B, g4 u+ d! x& Z, z0 W1 l: s, I
+ G; W6 p: M# F5 V" o |