目前市面上不少的视觉小说(Visual Novel)游戏都采用了 Ren’Py 引擎,这里给大家提供一个解包与汉化 Ren’Py 引擎的游戏的简单方法。
判断是否为 Ren’Py 引擎
这里以 Steam 上的免费游戏 Doki Doki Literature Club!「心跳文学部!」(下简称 DDLC)为解包的例子。
至于如何判定游戏是否为 Ren’Py 引擎制作,可以先查看一下游戏文件的整体构架,发现有 *.rpa
文件存在基本可以判定是 Ren’Py 引擎制作。
rpa 文件解包方法
进入游戏所在目录 Steam\steamapps\common\Doki Doki Literature Club
,观察到 *.rpa
文件集中放置在 game
目录下。对于 *.rpa
文件,可以用 unrpa 工具进行解包。
不少人可能用的 Windows 操作系统,通常没有安装 Python,需要先前往 Python 官网下载运行环境。(如果看不懂英文,也可以通过百度搜索到下载站进行下载。需要注意的是,Python 的版本需要高于3.0。)
运行环境与解包工具就绪后,用命令行执行形如以下格式的命令(可自行对其中的参数进行替换):
python unrpa -mp "path\to\output\dir" "path\to\archive.rpa"
其中,path\to\output\dir
为解包后的文件输出路径,path\to\archive.rpa
为 *.rpa
文件的路径。回车执行后,文件即可成功解包。对于 DDLC,需要解包的文件则为 audio.rpa
、chs.rpa
、fonts.rpa
、images.rpa
、scripts.rpa
。
前往解包后的输出路径,文本通常存在于 *.rpy
文件或者 *.rpyc
文件当中,图片、音频和视频等文件则通常是以未加密的形式储存。至此已经基本完成了游戏的解包工作,绝大部分的内容都可以直接使用。*.rpy
文件是可以直接使用文本类编辑工具进行编辑,直接包含可见的对话明文内容以及程序的脚本内容。
rpyc 文件解包方法
不过,也有一部分的游戏可能没有 *.rpy
文件,而是只有 *.rpyc
文件。*.rpyc
文件实际上是经由 Ren’Py 将 *.rpy
文件编译后输出的文件,需要 unrpyc 对其进行反编译。
*.rpy
和 *.rpyc
时,会优先读取 *.rpyc
文件。具体的使用方法和先前 unrpa 的方法类似,用命令行执行形如以下格式的命令(可自行对其中的参数进行替换):
python unrpyc -c "path\to\dialog.rpyc"
其中,path\to\dialog.rpyc
为 *.rpyc
文件所在的路径。回车执行后,即可实现反编译。
Ren’Py 引擎游戏汉化方案
*.rpyc
文件存在时,游戏初次运行会将 *.rpy
文件自动编译成 *.rpyc
文件。对于汉化 Ren’Py 引擎游戏,有2个可选的解决方案:
- 不打包为
*.rpa
文件:由于 Ren’Py 引擎的机制,可以直接将解包汉化后的*.rpy
文件放置于game
目录下,图片等资源类文件保留原有路径; - 打包为
*.rpa
文件:由于 Ren’Py 引擎的机制,对于*.rpa
文件内的文件,只读取*.rpyc
文件而不读取*.rpy
文件,因而需要用 Ren’Py 引擎重新构建一次游戏以生成编译后的*.rpyc
文件,再将其打包为*.rpa
文件。
两个方法各有利弊,方法一相对简单,但是会导致文件数量增大;方法二比较复杂,但是可以同时生成移动端的游戏版本。