Python Ren'Py 教程:在 10 分钟内制作一个视觉小说游戏

您所在的位置:网站首页 如何制作游戏脚本教程视频 Python Ren'Py 教程:在 10 分钟内制作一个视觉小说游戏

Python Ren'Py 教程:在 10 分钟内制作一个视觉小说游戏

2024-07-11 16:06| 来源: 网络整理| 查看: 265

原文: How to Make a Visual Novel Game in 10 Minutes – Python Ren'Py Tutorial

你有没有一些故事创意,想把它们变成小说?给小说添加一些视觉效果和互动性怎么样?

视觉小说可能是你正在寻找的游戏类型。本教程可帮助你在 10 分钟内完成设置,并且只需要最少的编码经验。让我们开始吧!

工具介绍和设置

我们将使用基于 Python 2.7 构建的 Ren'Py 视觉小说引擎。由于 Python 本身是一种脚本语言,你将能够在 Ren'Py 中“编写”你的视觉小说项目。

自 Python 3 发布以来,Python 2.7 已被淘汰,开发者不再积极维护这个版本。请放心 - Python 2.7 具有我们创建出色的视觉小说所需的所有功能。 此外,Ren'Py 的最新版本 Ren'Py SDK 7.4 提供了对 Python 3 的兼容模式。开发者也表示希望在下一个版本 Ren'Py 8.0 中与 Python 3 完全集成。如何下载和设置 Ren'Py

你可以在其官方网站上下载适用于你的操作系统(Windows、Mac、Linux)的最新版本的 Ren'Py。

下载并安装 Ren'Py 后,你可以打开 Ren'Py 启动器,选择左侧的入门项目之一(教程、问题),然后单击启动项目。

查看教程以了解该引擎的全部功能,或查看问题以查看你可以在 10 分钟内制作的非常基本的视觉小说。

Screen-Shot-2021-06-21-at-10.51.50Ren'Py 启动器如何在 Ren'Py 中创建一个新项目

让我们创建一个新项目。我的项目叫作森林徒步🌲,其中有一个简单的场景,两个孩子探索森林小径。

注意你选择的分辨率:默认是 1280 x 720,我们添加图片的时候,背景图片也要符合这些尺寸。

foresthike如何运行样板项目

启动样板项目。在主菜单按开始键。两行简短的对话后,脚本结束,我们被带回到主菜单。

launch运行样板项目如何编写我们的项目

让我们开始基于样板编写我们的游戏脚本。

像 Sublime Text 和 Atom 这样的文本编辑器都有语法高亮显示以 .rpy 结尾的 Ren'Py 脚本。查看这个 Sublime Text 包和这个 Atom 包。

我们看到的两行对话位于 script.rpy 中。打开该文件,其内容应如下所示。就像在 Python 中一样,以 # 开头的行是注释,不会被视为 Ren'Py 脚本的一部分。请看下面的注释和代码。

# Declare characters used by this game define e = Character("Eileen") # The game starts here label start: # Show a background scene bg room # This shows a character sprite show eileen happy # These display lines of dialogue. e "You've created a new Ren'Py game." e "Once you add a story, pictures, and music, you can release it to the world!" # This ends the game. return 样板代码

label 用于控制流,我们将在下一节中介绍。

最后一行的 return 语句使我们回到主菜单。

如何声明字符和添加对话

让我们用我们的故事中的那些内容来替换样板字符声明和对话。我的故事是这样的:

define laura = Character('Laura') define tom = Character('Tom') label start: laura "Wait up, Tom!" laura "Tom!" laura "I said wait up!" laura "...Tom?" tom "Boo!" laura "Yikes... not again." tom "Are you scared?" laura "Not at all." laura "Running off like that is dangerous, you know." laura "We are in the forest. We could get lost." tom "Okay okay mom. I won't do it again." return story如何添加图片和过渡

如果你自己不是艺术家,你可以考虑在知识共享网站 itch.io 寻找素材。这是一个独立游戏市场,是寻找素材的好地方。

我为我的项目找到了这组角色精灵。对于背景图片,我只是简单地将艺术滤镜应用于知识共享图片,使现实生活中的图片具有漂亮的水彩美感。

我把我所有的图片放在 game/images 中。请注意,可以在图片文件名中使用空格。

Screen-Shot-2021-06-21-at-13.23.45组织图片素材的传统方式

然后我们将这些图片以及一些过渡添加到 script.rpy。Ren'Py 在看到像 with 和 at 这样的关键字时应用转换。你可以在 Ren'Py 的 ATL(动画和过渡语言)文档中阅读有关过渡的更多信息。

label start: scene bg forest day with fade show laura angry laura "Wait up, Tom!" laura "Tom!" laura "I said wait up!" laura "...Tom?" hide laura scene bg forest day with vpunch show tom happy at right with moveinbottom tom "Boo!" show laura angry at left with moveinleft laura "Yikes... not again." tom "Are you scared?" laura "Not at all." show laura sad laura "Running off like that is dangerous, you know." laura "We are in the forest. We could get lost." tom "Okay okay mom. I won't do it again." return images

随着视觉效果的加入,我们的故事很好地融合在一起。

如何添加选项

具有不同分支和结局的游戏会增加乐趣。向 Ren'Py 脚本添加选择菜单很简单:

menu: "Which way should we go?" "Left": tom "Let's check out the trail on the left!" "Right": tom "Right is always the right way to go!"choice如何使用 Python 变量和控制流

我们可以在 Ren'Py 脚本中定义 Python 变量,并根据它们的值改变我们的故事流程。 Python 语句以 $ 或缩进的 python: 块开头。

将变量添加到我们之前的选择菜单中:

menu: "Which way should we go?" "Left": tom "Let's check out the trail on the left!" $ is_lost = True "Right": tom "Right is always the right way to go!" $ is_lost = False scene bg forest noon with Dissolve(3.0) scene bg forest dusk with Dissolve(3.0) show laura sad at left with moveinleft laura "It's getting late. Are you sure we aren't lost?" if is_lost: show tom sad at right with moveinleft tom "I hope not, but I have a bad feeling about this." else: show tom happy at right with moveinleft tom "We are fine. Look! There's the end of the trail." tom "I'm the best scout around."ezgif.com-gif-maker-2-

有关在 Ren'Py 中使用 Python 的手工资源,请参阅本文末尾。

如何播放音乐

根据 Ren'Py 的音频文档,播放音乐和音效很简单,如下所示:

play music "mozart.ogg" play sound "woof.mp3"如何保存和加载游戏

Ren'Py 为我们完成了所有复杂的工作,并具有内置的保存和加载系统。

save保存游戏load加载游戏你可以做的其他自定义设置

目前,在我们的对话中,整行文本会一次显示,而不是逐个字显示。我们可以像这样更改 options.rpy 中的变量 preference.text_cps(CPS 代表每秒显示的字数)。

default preferences.text_cps = 20cps设置自定义 CPS,以给定的速率一次一个字地显示文本

我们可以在 gui.rpy(GUI 代表图形用户界面,包括我们已经看到的文本框和菜单选项)或 screens.rpy 中自定义更多内容。

Ren'Py 还能做什么

Ren'Py 的功能不仅限于显示文本和图片。我甚至可以说 Ren'Py 与 Python 本身一样强大和通用。

使用 Pygame 模块,可以在 Ren'Py 中创建复杂的迷你游戏。我自己已经创建并开源了一些小游戏,包括一个与 Stockfish 国际象棋 AI 集成的国际象棋引擎以及一个自动为任何音乐文件生成节拍图的节奏游戏引擎。

promotion我创建的国际象棋游戏demo-4我创建的节奏游戏资源

本教程应该可以帮助你开始使用 Ren'Py。当你学习更高级的功能以向你的项目添加效果时,参考官方文档总是很有用的。

我还创建了一些课程材料,以帮助你复习 Python 基础知识及其在 Ren'Py 脚本中的功能。

查看视频教程:

谢谢阅读本文!祝你享受创建故事的乐趣!

原文:How to Make a Visual Novel Game in 10 Minutes – Python Ren'Py Tutorial,作者:Lynn Zheng



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3