通过制作 RPG 游戏来学习 Godot 4 - 第一部分:项目概述和设置 🤠

2025-05-24

通过制作 RPG 游戏来学习 Godot 4 - 第一部分:项目概述和设置 🤠

通过制作 RPG 游戏来学习 Godot 4 — 第一部分:项目概述和设置 🤠

你有没有想过,是什么让《荒野大镖客:救赎》中的亚瑟·摩根如此具有标志性?对我来说,是那种身临其境地体验那个时代,却无法真实体验的怀旧之情。这就是奇幻的魔力,也正是这种魔力促使我创作了这套最经典、最扎实的 2D RPG 游戏教程系列,而这套教程完全使用了 Godot 4 和 GDScript。本教程系列旨在教你如何从头到尾制作一款游戏,并最终向你展示作为一名 Godot 开发者新手所需的一切知识!

那么,我们要创作的这款游戏究竟是什么呢?《Dusty Trails》是一款西部风格的狂野西部RPG游戏,玩家可以在整张地图上奔跑,射击、掠夺敌人并完成任务。敌人会随机生成,如果靠近玩家,它们会四处游荡并追逐玩家。我们还会设置NPC和店主,负责为玩家提供任务并出售可拾取物品。

图 1:我们的游戏和实体的概览。

图 1:我们的游戏和实体的概览。


什么是 RPG?
RPG,即角色扮演游戏,是一种电子游戏类型,玩家在虚构的场景中扮演角色。玩家负责在叙事中扮演这些角色,可以通过文字表演或通过关于角色发展的结构化决策过程来演绎。RPG 通常涉及故事叙述、世界构建和角色发展。


本系列教程将涵盖以下几个方面:

  • 玩家动画、动作和统计数据

  • 完整的游戏UI

  • 拾音器和耗材

  • 敌人的移动、动画和统计数据

  • 敌人随机游走和生成

  • 随机战利品掉落

  • 玩家和敌人的死亡、伤害和攻击

  • XP 和升级

  • 带有任务的基本可定制 NPC

  • 场景转换(位置改变)

  • 游戏音乐和音效

  • 持久保存、暂停和加载系统

  • 带有碰撞和相机的游戏地图

  • 简单店主

  • 项目导出

请注意,本系列教程面向 GDScript 和 Godot 开发者初学者。此外,本教程使用的是Godot 4.1.1 版本——因此,如果您在使用较新版本时遇到错误,请不要担心,因为这种情况可能会发生。我会尽可能更新此项目,使其能够兼容较新版本的 Godot。我还会在各个章节的末尾提供各个部分的源代码链接,以便您可以轻松地将这些项目的代码与您的代码进行比较。

您将在本部分中学习:
· 如何浏览 Godot 编辑器。
· 如何更改项目设置以及如何使用节点属性。
· 如何创建场景。

· 如何向场景添加节点。

编辑概述

在我们开始疯狂编程之前,我们首先需要了解 Godot 编辑器的布局。如果您已经熟悉该编辑器,可以直接跳到本部分的“项目设置”部分;如果不熟悉,我建议您先跟着我一起熟悉一下编辑器。

戈多角色扮演游戏

如果您还没有安装 Godot,请前往其网站下载最新版本。下载完成后,解压文件。由于 Godot 无需安装,您可以直接将其拖到计算机上您想要的存储位置,或者直接从“下载”文件夹中打开。

戈多角色扮演游戏

启动可执行文件,您将看到“项目管理器”窗口。在这里,您可以创建新项目、加载现有项目,或扫描整个目录以导入多个项目。

戈多角色扮演游戏

在顶部,你会看到一个名为“资源库项目”的菜单。在这里,你可以下载并查找社区成员为 Godot 制作的项目、模板或演示。它与其他在线资源市场(例如 Itch.io、Unreal Marketplace 或 Unity Asset Store)类似。唯一的区别是,这里的所有内容都是免费的。

戈多角色扮演游戏

要创建项目,请点击“新建项目”,然后会出现一个窗口,让我们选择项目的保存位置并为其命名。我将其命名为“Dusty Trails”,但您可以随意命名。

戈多角色扮演游戏

渲染模式有哪些?
Forward+ 模式适用于更高端的游戏项目,这些项目对图形和渲染的要求更高。Mobile
模式通常用于移动游戏。Compatibility
模式使用与 Godot 3 相同的渲染器,这意味着图形和渲染质量较低,更适合较旧或配置较低的设备。

您可以在兼容模式或 Forward+ 模式下启动游戏——这取决于您的显卡驱动程序是否支持 Godot 提供的 Vulkan 版本。您可以在此处阅读有关新渲染更新的更多信息。

选择“创建和编辑”,你就会神奇地进入项目窗口。顶部是工作区,也就是我们完成任务的空间。默认情况下,3D 功能始终处于活动状态。点击其他选项,就可以在不同的工作区之间切换。

戈多角色扮演游戏

图 2:工作场所导航的鼠标输入

图 2:工作场所导航的鼠标输入


这些工作区有什么用处? 2D工作
用于编辑和查看 2D 游戏的 2D 场景。3D 工作用于编辑和查看 3D 游戏的 3D 场景。 脚本工作是我们编写、编辑和查看脚本的代码编辑器。AssetLib工作是资源库项目,您可以在项目中免费使用。



窗口左侧的面板是场景停靠栏 (Scene Dock)。它列出了当前打开的场景的内容,您还可以在此停靠栏中向场景添加新节点。Godot 中的场景是节点的主要载体或容器,而节点是游戏的主要构建块。

戈多角色扮演游戏

不同的节点有不同的功能,例如,碰撞形状和动画精灵各有其用途,因此,能够将它们组合在一个场景中,使我们能够为游戏创建具有更复杂功能的组件。场景还可以实例化其他场景,例如,在世界场景中创建敌人场景。我建议您查看 Godot 文档中的“节点和场景”部分。

什么是场景和节点?
场景是一个容器,它包含按层级结构排列的节点集合——例如我们的玩家或敌人。节点是场景中构成场景的基本单元——例如场景中的精灵或相机。

图 3:节点和场景示例。在线版本请点击此处查看(https://app.mural.co/t/godot5664/m/godot5664/1680196108691/c8c74015cd7e5090492ac132dd78a64656af7fcc?sender=christinecoomans304568)。

图 3:节点和场景示例。点击此处查看在线版本

另一个面板称为导入面板,您可以在此设置或编辑已添加到项目文件夹的资产(例如图像、字体和音频文件)的属性,然后可以使用保存的属性重新导入它们。

戈多角色扮演游戏

在场景和导入停靠栏下方,您将看到“文件系统”面板,您可以在此管理项目文件、文件夹和资源。您可以将新资源拖拽到此面板,将其导入项目,也可以添加新的文件夹、脚本、场景等。

戈多角色扮演游戏

戈多角色扮演游戏

窗口右侧的面板称为检查器面板,您可以在其中查看和编辑当前选定节点的属性。

戈多角色扮演游戏

旁边的节点面板可用于连接信号并为节点添加。组可用于将不同类型的场景或节点(例如,我们的 NPC)分组,以便玩家知道如何与这些节点交互。信号可用于多种情况,例如,通知游戏按钮已被按下或动画已播放完毕。这使我们能够告诉游戏在发生某些事件时该做什么。大多数节点都内置了信号,例如按钮和动画播放器,但我们也可以创建自定义信号。稍后我们将更深入地解释这些概念。

戈多角色扮演游戏

图 4:自定义信号(左)和内置信号(右)。在线版本请点击[此处](https://app.mural.co/t/godot5664/m/godot5664/1680250496630/18827fb6f27e1d2caa971f8f4436cfe65ee62e06?sender=christinecoomans304568)。

图 4:自定义信号(左)和内置信号(右)。点击此处查看在线版本

在 Inspector 和 Node Dock 上方,你会看到用于播放、暂停、重启或停止场景的选项。我们将在这里启动游戏进行测试。

戈多角色扮演游戏

编辑器窗口底部包含输出面板、调试器控制台、音频混音器、搜索结果面板以及动画和着色器编辑器。它们默认折叠以节省屏幕空间,但点击后会最大化。某些可自定义的节点(例如 Tilemap 或动画播放器节点)会向此窗口添加新选项。

戈多角色扮演游戏

戈多角色扮演游戏

让我们回顾一下每个现有的选项:

  • 输出 控制台返回我们添加到代码中用于测试的打印消息或通知。

  • 调试器 控制台用于(您猜对了)调试和错误处理。

  • 音频 混音用于编辑音频文件。

  • 动画 编辑器用于为动画播放器节点创建动画。

在上方的功能区或菜单栏中,您有几个选项。您可以在“场景”选项卡下管理场景。您可以添加、保存、打开或关闭场景。

戈多角色扮演游戏

您可以在“项目”选项卡下管理项目设置和属性(例如输入操作、窗口大小、自动加载单例等)。您也可以从这里退出“项目管理器”窗口。我们也将从这里导出项目。

戈多角色扮演游戏

您可以在“调试”选项卡中启用或禁用调试工具,例如,让碰撞可见,以便您可以看到碰撞事件是否在游戏过程中执行。

戈多角色扮演游戏

“编辑器”选项卡允许您更改与编辑器相关的设置,例如,您可以更改其当前布局或主题。您甚至可以截取当前窗口的屏幕截图。

戈多角色扮演游戏

最后,“帮助”选项卡可让您快速访问 Godot 4 文档和社区论坛。如果您对使用编辑器感到更自在,我们可以继续设置我们的项目。

戈多角色扮演游戏

项目设置

在开始一个项目之前,我通常会列出制作游戏所需的步骤(或清单)。这通常只是一个提纲,在实际制作游戏的过程中,我会对这些步骤进行不同的修改。

关于游戏开发,有一点需要记住:这不应该是一段线性的旅程。每个人的开发方式都不一样,但如果你对我通常的步骤感兴趣,可以在这里查看《Dusty Trails》项目步骤的示例,并将其作为你自己游戏的样板(或者不这样做,这完全取决于你)。我还使用了从网上找到的这个调色板来制作这款游戏​​,以防你好奇我的配色方案是从哪里来的!

现在开始设置。本节所需的资源可以在这里下载。这些免费资源的来源可以在我的GitHub 仓库中找到。下载资源后,解压文件并将其拖到“文件系统”面板中。我们还可以删除项目中默认的 icon.svg 和 README.MD 文件。

戈多角色扮演游戏

右键单击面板,然后创建三个新文件夹:Scenes、GUI 和 Scripts。Scenes 文件夹将包含我们所有的 .tscn 文件(玩家场景、NPC 场景、地图场景等);Scripts 文件夹将包含我们所有的 .gd 文件;GUI 文件夹将包含我们所有的 UI 元素场景(菜单、弹出窗口、HUD 等)。

戈多角色扮演游戏

戈多角色扮演游戏

在 Scenes 文件夹中,我们来创建第一个场景,也就是主场景。主场景将作为游戏元素的核心容器。我们将在这里添加地图、角色和物品,以便进行游戏。主场景也会在游戏启动时自动运行。

要添加场景,您可以右键单击“文件系统”面板,像我们添加文件夹一样添加它,或者您可以点击“场景停靠栏”中的加号图标。这是更快捷的方法,所以从现在开始我都会这样做。

戈多角色扮演游戏

您将看到它将提示您选择一个节点。您在此处选择的节点将成为根节点或父节点。根节点是树结构中的最高节点,没有父节点。

我们以后可以随时更改此节点,所以即使选错了也不用担心!我们需要选择Node2D作为根节点。Node2D 节点是 2D 游戏的基础节点。我们通常在主场景中使用此节点。

戈多角色扮演游戏

您还可以在场景码头“2D 场景”选项中自动选择此节点作为您的根节点。

戈多角色扮演游戏

现在您将看到一个 Node2D 节点已添加为我们的根节点,但我们的场景尚未保存。请将其保存在上面的“场景”菜单中,或使用快捷键 CTRL + S。将场景保存为“场景”文件夹中的“Main”场景。

戈多角色扮演游戏

戈多角色扮演游戏

双击 Node2D 根节点进行重命名。为了简单起见,我们将其重命名为与场景名称一致。

戈多角色扮演游戏

现在我们可以向根节点添加子节点了。您可以再次通过加号图标进行操作。记住,我们制作的是 2D 游戏,所以以“3D”结尾的节点不适用于我们的节点!现在我们先添加一个 Sprite2D 节点,因为我想向您展示一些东西。请注意,您添加的任何节点都会添加到节点菜单的“最近”面板中,因此您下次可以轻松地从那里选择它,而无需搜索它!

戈多角色扮演游戏

戈多角色扮演游戏

戈多角色扮演游戏

在 2D 工作区中(因为我们要制作 2D 游戏),选择你的 Sprite2D 节点,然后按下键盘上的 F 键,将焦点移到所选节点上。选中节点后,在检查器面板中,你将看到纹理选项。这就是我们精灵的图像。

戈多角色扮演游戏

如果您进入资产文件夹,您可以将任何您想要的图像拖到该纹理属性中。

戈多角色扮演游戏

如果你放大你的精灵图,你可能会发现它有点模糊。这可不行,不过幸运的是,我有个解决办法。

戈多角色扮演游戏

在“项目”>“项目设置”下的项目设置选项中,将“纹理渲染”从“线性”更改为“最近”。这将扩大纹理渲染的规模,使图像资源始终保持高质量。

什么是纹理过滤?
纹理过滤是计算机图形学中用于改善纹理应用于 3D 模型或 2D 图像时外观的技术。当纹理进行缩放、旋转或其他变换时,纹理过滤尤为重要。
选择正确的纹理过滤模式对于提升 2D 和 3D 图形的质量、性能和整体视觉体验至关重要。

戈多角色扮演游戏

你的精灵现在应该很清晰了。

戈多角色扮演游戏

这部分最后一步是设置主场景。在“项目设置”的“应用程序”>“运行”下,您可以将主场景设置为我们新创建的场景。这样,每当我们运行游戏时,它都会运行这个场景。稍后,我们将把它改为菜单场景,因为我们希望玩家能够看到开始菜单,而不是直接进入游戏。

戈多角色扮演游戏

恭喜,您已经学会了如何浏览 Godot 编辑器,以及如何使用节点和场景 - 这是您在整个游戏过程中将使用的核心基础。为您的项目创建自己的GitHub 存储库将是一个很好的做法,这样您就可以定期备份您的项目。

在下一部分中,我们将设置游戏角色,也就是玩家,并添加使其在游戏中移动的功能。这意味着更多的节点,并且你将第一次使用脚本!记得保存你的游戏项目,下一部分见。

*您也可以使用 Godot 的官方Git 插件,但截至 2023 年 7 月,Git 插件尚未更新以与 Godot 4.1 及更高版本兼容。

在 ko-fi.com 给我买杯咖啡


完整教程

戈多角色扮演游戏

本系列教程共 23 章。我将在接下来的几周内分阶段每日发布所有章节。

如果您喜欢这个系列,或者想跳过等待并访问离线完整版教程系列,您可以在Ko-fi 上以 4 美元的价格购买离线小册子来支持我! 😊

您可以在此处找到本系列全部 23 个部分的教程链接的更新列表

文章来源:https://dev.to/christinec_dev/lets-learn-godot-4-by-making-an-rpg-part-1-project-overview-setup-bgc
PREV
18 个提高生产力的 DevTools
NEXT
让我们用 React 制作一个 Pokémon 主题的笔记应用程序!