虚幻引擎5游戏能力系统 (GAS) 创建多人角色扮演游戏 Unreal Engine 5 – Gameplay Ability System – Top Down RPG
使用虚幻引擎的游戏能力系统 (GAS) 创建多人角色扮演游戏!
你将会学到的
- 虚幻引擎的游戏能力系统
- 多人游戏机制
- 创建一个完整的 RPG,其中包含战斗、经验和升级、敌人、法术、菜单、游戏保存等
- SOLID 编码原则和 AAA 质量代码架构
- 如何确定哪些代码应该放在蓝图中,哪些代码应该放在 C++ 中,以便在已发布的游戏中获得最佳性能
- 可扩展、模块化、可维护、可扩展的代码,可作为任何严肃游戏的基础
- 游戏能力系统的所有核心功能
- 代码调试工具和实践
要求
- 了解 C++ 编程语言
- 虚幻引擎 C++ 基础知识 – 至少创建过一个虚幻引擎 C++ 项目
说明
这是目前最全面的虚幻引擎课程。如果您想学习如何构建一款功能齐全的 RPG 游戏,本课程将让您能够使用可扩展的代码库(采用 AAA 质量代码构建)来实现这一点。如果您曾经想知道 C++ 和蓝图之间的界限在哪里,那么本课程就是您的不二之选。如果您曾经想创建一个完整的 RPG,其中包含统计系统、能力、升级、法术、属性、菜单,同时保持代码库整洁并遵循最佳实践,那么本课程就是您的不二之选。如果您想提高虚幻引擎的开发能力并更好地了解引擎的内部工作原理,那么本课程就是您的不二之选。如果您计划制作自己的严肃游戏,其中包含互连系统,包括属性、能力、升级、敌人和 AI,并为多人游戏编写代码,那么本课程就是您的不二之选!
在本课程中,我们将创建一款自上而下的 RPG 风格游戏,其中充满了使用虚幻引擎内置游戏能力系统 (GAS) 构建的系统。在这里,您将学习如何构建已发布的游戏,并熟练地对其进行编码,以便轻松扩展、升级和维护。我们遵循 SOLID 编码原则,并以 AAA 已发布游戏(例如 Fortnite)的方式平衡蓝图/C++ 比率。我对 AAA 已发布游戏代码的经验以及与行业资深开发人员的咨询使我能够向您展示实际已发布游戏的代码库是什么样的。如果您曾经想知道游戏中有多少内容可以保留在蓝图中而不是 C++ 中,那就不用再找了。本课程就是答案。
注意:本课程涉及使用 C++ 进行编程,这涉及使用集成开发环境 (IDE),例如 Visual Studio、Rider 或 VSCode。我在本课程中使用的 IDE 将是 Rider,但此 IDE 不是学生学习本课程的必要条件。您可以使用您选择的任何 IDE。
本游戏项目中的资产是专门为本课程制作的,并将以资产包的形式提供。其中包括:
- 角色包括主角 Aura,以及敌人角色,包括哥布林战士、哥布林游侠、哥布林萨满、红色和黑色恶魔、食尸鬼和蘑菇。
- 模块化地牢包,可以拼凑起来制作基本的地牢
- 航点神殿和方尖碑
- 粒子尼亚加拉系统效果,包括爆炸、升级效果、弹弓石、撞击、电束、火球、火箭、火焰、星星的眩晕效果等等!
- 敌人、脚步声、咒语等的音效!
- HUD 的纹理,包括高质量按钮、框架、动态动画法术球、进度条、XP 栏等等!
- 为 Aura 和所有敌人设置完整动画
- 多得多!
在本课程中,我们将涵盖以下主题:
- 从头开始建立自上而下的项目
- 带有轮廓效果的敌人和物品选择
- 正确使用OOP和继承来创建字符类层次结构
- 游戏能力系统及其组成核心类的介绍
- 自定义游戏能力系统组件和属性集,以及如何复制属性
- 所有 GAS 类别和组件的所有重要设置
- 如何使用属性来统计玩家数据,包括主要属性:
- 力量(增加物理伤害)
- 智力(增加魔法伤害)
- 韧性(增加护甲和护甲穿透)
- 活力(增加最大生命值)
- 次要属性,基于主要属性和其他自定义变量:
- 护甲(减少受到的伤害,提高格挡几率)
- 护甲穿透(忽略敌人护甲百分比,增加暴击几率)
- 阻挡几率(改为将受到的伤害减半)
- 暴击概率(双倍伤害加上暴击奖励的概率)
- 致命一击伤害(造成致命一击时增加的额外伤害)
- 暴击抵抗(减少攻击敌人造成暴击的几率)
- 健康恢复(每秒恢复的生命值)
- 法力恢复(每秒恢复的法力量)
- 最大生命值(可获得的最大生命值)
- 最大法力值(可获得的最大法力值)
- 重要属性– 比如生命值和法力值,它们取决于所有其他属性
- 游戏效果– GAS 系统中用于对属性应用更改的类
- 游戏标签– GAS 的重要组成部分,它使我们能够识别品质、属性、能力、角色类别以及我们能想到的任何其他事物。
- 游戏 UI – 如何以有组织、模块化和可扩展的方式高效处理 RPG 游戏中的复杂 UI。我们涵盖了不同的 UI 范例,从MVC (模型视图控制器)到MVVM (模型视图视图模型,使用虚幻引擎的新ViewModel功能)
- 完整的属性和法术菜单,具有升级能力、法术树、锁定法术等级、按能力等级升级法术等
- 属性– 如何使用游戏属性来表示玩家统计数据,并通过创建效果应用管道将其整合到游戏机制中,从而实现由游戏中的现象(例如战斗伤害)引起的计算和结果
- 游戏能力– GAS 的核心。我们创建各种类型的游戏能力来处理法术的施放、处理玩家角色和敌人 AI 的重要能力,以及如何配置不同的能力以满足您的需求。
- 不同的 RPG 类别– 我们实现了不同的角色 RPG 类别,包括游侠、战士和元素师,并且以易于扩展的方式进行,以便您可以在游戏中拥有任意数量的角色类别类型
- 伤害和战斗– 我们实施了一套完整的 RPG 风格战斗系统,其中包含不同的伤害类型、伤害抗性和与伤害类型相对应的减益效果,并将这些计算编码到我们的伤害管道中。所有属性、伤害类型、抗性和减益效果在此游戏中均可用。
- 所有战斗机制都以某种形式的视觉反馈显示给玩家。这包括表示伤害的浮动文本、根据自定义标准改变颜色、表示致命一击、格挡命中和致命格挡命中的浮动文本。我们还实施了击退和眩晕机制,以应对闪电伤害、使角色/敌人丧失行动能力以及火焰减益效果,角色在燃烧时会着火并受到火焰伤害。
- 敌人 AI – 我们使用虚幻引擎行为树和环境查询系统 (EQS) 实现敌人行为,为远程、战士和元素使敌人类型提供定制行为。
- 敌人可以施展法术并召唤 AI 仆从
- 当几何图形挡住了自上而下的游戏中的摄像头时,它会逐渐消失
- 技能消耗和冷却时间(法术消耗属性资源 – 在这个游戏中,法术消耗法力)
- 功能齐全的HUD,配备法术装备,显示法术冷却计时器和经验(XP)
- 能够在咒语菜单中将能力分配给不同的输入(将 FireBolt 分配给 1 键,将 Electrocute 分配给鼠标左键,将它们交换回来等)
- 经验和升级系统– 我们设计了一个经验系统,消灭敌人后奖励 XP,达到各种能力的 XP 阈值后升级。HUD 中显示 XP 和级别,同时显示升级消息和效果。升级与获得属性点和法术点相关,属性点和法术点可分别用于升级属性和法术菜单中的属性和法术能力,以及在升级时补充生命值和法力。(基本上,您将看到足够多的有关如何使用此系统的示例,您将能够使用您想要的任何功能来扩展它以用于您自己的游戏)
- 被动法术——你可以装备的法术,在装备后保持有效状态。
- 各种攻击性法术,展示了 GAS 的不同示例和特征,包括 FireBolt、Electrocute、Arcane Shards 和 FireBlast。
- 保存进度和关卡转换
- 中级/高级虚幻引擎主题,包括自定义异步任务、能力任务、蓝图函数库、资产管理器、单例(以及为什么这些只适用于极少数情况)、自定义游戏效果上下文、网络序列化、结构操作类型特征、C ++ Lambdas、游戏机制算法,等等。
- 如何选择哪些功能应该放在 C++ 而不是蓝图中– 这是最有价值的课程之一,贯穿整个课程。学生经常问我“哪些功能应该放在 C++ 而不是蓝图中?”这门课程就是我的答案。这是一个严肃的项目基础,有超过 100 小时的视频,没有填充内容。该项目的架构大约有50% 的蓝图和 50% 的 C++。我会向您展示哪些功能应该放在 C++ 端,哪些功能更适合蓝图,以及原因。
- SOLID 编码原则和代码架构– 我们在此项目中保持代码库整洁。我经常遇到的另一个问题是“这是最佳编码实践吗? ”本课程就是我对这个问题的回答。这是您在 AAA 游戏中看到的代码示例,已交付给数百万玩家。维护干净和模块化的代码对于需要可扩展、可扩展、模块化、可维护、可测试、高性能和高效的严肃游戏项目至关重要。本课程将向您展示如何做到这一点。
这不是一门初学者课程。我希望您已经了解 C++ 编程语言,并且至少创建过一个虚幻引擎 C++ 项目。
这是我迄今为止最好的课程,我很自豪能为您带来虚幻引擎 5 – 游戏能力系统 – 自上而下的 RPG课程,这是近一年的艰苦开发、研究、咨询专业人士和资产创建的成果。学习本课程后,您将比普通开发人员更了解虚幻引擎,并且您将有能力创建自己的精心设计的项目,无论大小,您将为您的团队、您的公司、您的个人企业以及您用您的技能增光添彩的任何人/任何其他事物带来价值。
加入课程,为您游戏开发生涯的最大飞跃投资。
Druid Mechanics 游戏开发者社区创始人 Stephen Ulibarri
本课程项目采用虚幻引擎 5.2 版创建。定期添加更新以确保与较新引擎版本的兼容性。
此课程面向哪些人:
- 那些希望了解如何在虚幻引擎中构建可扩展且可交付的游戏的人
- 那些希望了解如何实现游戏属性、能力、经验、升级以及如何在干净的代码库中维护这些内容的人
- 希望了解如何有效处理复杂系统游戏 UI 的人
- 那些希望创建自己的 RPG、MOBA、射击游戏或任何其他涉及属性、技能、法术或其他自定义机制的游戏的人
- 希望了解如何使用行为树和环境查询 (EQS) 实现敌人 AI 的人
- 拥有虚幻引擎使用经验并希望拓展技能以创建可交付游戏的人
- 那些正在寻找有关游戏能力系统 (GAS) 的综合课程以便将其用于自己的游戏项目的人
- 业余爱好者和专业游戏开发者都将受益于本课程
- 需要为其团队的游戏项目学习 GAS 基础知识的 AAA 开发人员
- 游戏开发项目负责人需要了解 GAS 在虚幻引擎中的工作原理、其功能、局限性以及对开发人员的时间和精力成本
- 需要以可扩展的方式构建游戏项目的团队,以便在发布后轻松维护
- 任何创建过一些基本的虚幻引擎项目并准备好实现更高水平的伟大的人!
2.用户在本站下载的资料,仅限购买正版前临时了解,如有需要,请购买正版,版权归原作者所有。
3.未经合法授权,用户不得以任何形式发布、传播、复制、转售该作品。
评论0