20.1 Ren'Py 视觉小说引擎

Ren'Py 游戏概述

本节介绍 Ren'Py 视觉小说引擎在 FreeBSD 系统上的安装、配置与应用方法。Ren'Py 是开源游戏开发工具链的组成部分,为交互式叙事内容的创作与分发提供跨平台解决方案。

Ren'Py 是一款专门用于制作视觉小说的引擎。视觉小说是一种以文字叙述为主、配合图像、音乐和选项分支的互动叙事形式。与通用游戏引擎不同,Ren'Py 专注于视觉小说的特定需求,提供了简化的脚本系统和内置的资源管理功能。

Ren'Py 核心基于 Python 语言,因此可移植到 Windows 和 Linux 等操作系统平台。虽然 Ren'Py 暂未官方适配 FreeBSD,但 FreeBSD 社区对其进行了二次打包,使其能够在该平台上运行。

在 FreeBSD 上运行 Ren'Py 游戏需进行必要的配置。以下将详细介绍具体的实施步骤。

安装 Ren'Py

可使用 pkg 或 Ports 两种方式安装 Ren'Py。pkg 提供预编译二进制包,安装速度快;Ports 允许从源代码编译,可进行自定义配置。

使用 pkg 安装 Ren'Py:

# pkg install renpy

或者使用 Ports 安装 Ren'Py:

# cd /usr/ports/games/renpy/
# make install clean

Ren'Py 设置中文界面

本小节介绍如何将 Ren'Py 界面设置为中文。设置界面语言的具体操作步骤可参考以下图片。具体步骤包括选择语言选项并应用更改。

玩《心跳文学部!》

警告

《心跳文学部!》是一款恐怖游戏,并可能会 致郁arrow-up-right 备份arrow-up-right

这里以《心跳文学部!》为例,其他游戏也可采用相同的操作方式。选择附带 Linux 版本的游戏进行解压,即同时包含 Windows 版本与 Linux 版本的游戏文件。

运行 Ren'Py

默认游戏路径位于 ~/。Ren'Py 基于 Python 开发,其底层文件处理机制对非 ASCII 字符路径支持有限,因此不识别中文路径。必须将解压后的文件夹 DDLC-1.1.1-pc 放在用户主目录下,例如 /home/ykla

汉化语言包位置:Doki Doki Literature Club 简体中文汉化补丁 v1.02(2025 更新)arrow-up-right 备份arrow-up-right。将汉化包解压后放置于游戏目录的 game 子目录中。

在引擎界面左侧点击“刷新”,在“工程(Projects)”列表中即可看到刷新后的游戏 DDLC-1.1.1。点击该游戏后,选择右下角的“启动工程(Launch Project)”即可加载游戏。

上述游戏的 FreeBSD 适配版本已发布于 https://github.com/ykla/DDLC/releasesarrow-up-right,可供参考使用。

rpa 解包

本小节介绍 rpa 文件的解包方法与相关工具。解包 rpa 文件可用于查看或修改游戏资源。

选择游戏版本

尽量选择附有 Linux 版本的游戏。如果游戏仅支持 Windows 系统,可通过 Ren'Py 引擎的“构建分发”功能打包 Linux 版本,该功能位于 Ren'Py 启动器的项目选项中。

解包工具

rpa 文件是 Ren'Py 的归档格式,用于打包游戏资源(图像、音频、脚本等)。rpa 文件解包工具:unrpaarrow-up-right 备份arrow-up-right

也可使用 pip 安装 unrpa 软件包:

随后使用 unrpa 工具将指定的 rpa 文件解包到目标目录,其中 -mp 参数用于指定输出目录。例如,将 archive.rpa 解包到 ./extracted 目录:

rpyc 文件是 Ren'Py 脚本文件的编译格式,包含了游戏的剧情逻辑与交互规则。rpyc 由 rpy 源文件编译而来,为二进制格式,不可直接阅读。rpyc 文件反编译工具:unrpycarrow-up-right 备份arrow-up-right

使用 unrpyc 工具反编译指定的 rpyc 文件,将其转换为可读的 rpy 源文件:

该步骤并非必需,仅用于方便将脚本翻译为其他语言或进行二次开发工作。

参考文献

课后习题

  1. 查找 Ren'Py 官方源代码,尝试将其移植到 FreeBSD Ports 中,并构建一个可独立安装的包,分析其移植过程中需要解决的跨平台兼容性问题。

  2. 使用 unrpa 和 unrpyc 工具解包并反编译一个 Ren'Py 游戏,重构其最小可运行脚本。

最后更新于