目前市面上不少的视觉小说(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文件。
两个方法各有利弊,方法一相对简单,但是会导致文件数量增大;方法二比较复杂,但是可以同时生成移动端的游戏版本。