Ren'Py视觉小说引擎是一款开放源代码的自由软件引擎,用来创作透过计算机叙述故事的视觉小说。Ren'Py之名是Ren'ai与Python两词混合而成。Ren'ai为日文,意指“恋爱”,而Python是Ren'Py所使用的语言环境。(维基百科)

前段时间在考虑做一款简单的 GalGame,本来打算直接使用橙光制作工具进行制作的,后来发现它已经不支持本地打包发行,所制作的游戏都必须发布到其官方的 web 页面,遂放弃。后来我找到了 Ren'Py 这款制作引擎,很多人也许没听说过它,但可能知道这么一款游戏《Doki Doki Literature Club!》(心跳文学俱乐部),这款游戏一经发布,就通过“获取系统管理员名称”、“删除文件才能达成真实结局”等新奇操作吸引了很多人的眼球,而这款游戏就是使用 Ren'Py 制作出来的。

官方网站:The Ren'Py Visual Novel Engine
GitHub:renpy/renpy


官方的文档已经非常详细,所以本文仅作为个人的使用笔记。

首先在官方网站下载 SDK,打开之后是这个样子

新建一个工程之后,可以在右边看到 4 个脚本文件,我们暂时需要进行编辑的就是 script.rpy 这个文件。

    # 游戏的脚本可置于此文件中。

# 声明此游戏使用的角色。颜色参数可使角色姓名着色。

define e = Character("艾琳")

# 游戏在此开始。

label start:

    # 显示一个背景。此处默认显示占位图,但您也可以在图片目录添加一个文件
    # (命名为“bg room.png”或“bg room.jpg”)来显示。

    scene bg room

    # 显示角色立绘。此处使用了占位图,但您也可以在图片目录添加命名为
    # “eileen happy.png”的文件来将其替换掉。

    show eileen happy

    # 此处显示各行对话。

    e "您已创建一个新的 Ren'Py 游戏。"

    e "当您完善了故事、图片和音乐之后,您就可以向全世界发布了!"

    # 此处为游戏结尾。

    return

可以看到其使用的语法非常友好,几乎没有学习成本。我们就逐行来看。

首先 define e = Character("艾琳") 在开头声明了一个角色,Ren’Py 允许你在开头就定义角色。这可以使你用一个短名关联一个角色,并且能够改变角色名字显示的颜色。比如可以这样写 define s = Character('希尔维亚', color="#c8ffc8"),其定义一个短名为“s”,长名为“希尔维亚”的角色,名字颜色为淡绿色。

然后是 label start:,label语句常用于在程序中给某个脚本点命名。在这个例子中,我们创建了一个名为 start 的标签。start 标签是特殊的,因为当用户点击主菜单的“Start Game”时,Ren'Py 脚本会从这个标签开始运行。之后我们可以使用 menu 和 jump 语句在各个标签之间灵活地跳转。

scene bg room 显示了一个背景图像,其 tag 标签是“bg”,属性是“room”。

这里需要解释一下,在 Ren'Py 中,每个图像都有一个名称。该名称包含一个 tag,以及一个以上的可选属性(attribute)。tag 标签和属性名必须以字母开头,包含字母、数字和下划线。给定 tag 标签时,每次只能展示一副图像。当拥有同样 tag 标签的第二副图像需要展示时,它会直接替换第一副图像。Ren’Py会在images目录下搜索图像文件,可以通过启动器(launcher)的“打开目录”选项里选择“images”完成配置。Ren’Py能使用PNG或者WEBP文件作为角色美术资源,JPG、JPEG、PNG或者WEBP文件作为背景美术资源。文件的命名相当重要,Ren’py将使用除去扩展名后,强制字母变为小写的文件名来作为图象名。

例如,images目录下的这些文件,定义了下列图像:

“bg meadow.jpg” -> bg meadow
“sylvie green smile.png” -> sylvie green smile
“sylvie green surprised.png” -> sylvie green surprised
因为文件名会被转换为小写字母,所以下面这种方式也可行。

“Sylvie Green Surprised.png” -> sylvie green surprised
图像可以被放在images目录的子目录(子文件夹)中。目录名忽略,只使用文件名定义图像名。

Ren’Py会在images目录下搜索图像文件,可以通过启动器(launcher)的“打开目录”选项里选择“images”完成配置。Ren’Py能使用PNG或者WEBP文件作为角色美术资源,JPG、JPEG、PNG或者WEBP文件作为背景美术资源。文件的命名相当重要,Ren’py将使用除去扩展名后,强制字母变为小写的文件名来作为图象名。

show eileen happy 显示角色立绘,其图像属性和上面一样。

e "您已创建一个新的 Ren'Py 游戏。" 显示 e 角色的对话。

最后 return 游戏结束。

Last modification:March 31st, 2019 at 04:30 pm
If you think my article is useful to you, please feel free to appreciate