虚幻引擎 5 – 游戏能力系统 – 自上而下的角色扮演游戏
使用虚幻引擎的游戏能力系统 (GAS) 创建多人角色扮演游戏!
讲师:Stephen Ulibarri
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 虚幻引擎的游戏能力系统
- 多人游戏机制
- 创建一个完整的角色扮演游戏,包括战斗、经验和升级、敌人、法术、菜单、游戏保存等等
- SOLID编码原则和AAA质量代码架构
- 如何确定哪些代码在蓝图中以及哪些代码在 C++ 中,以便在发布的游戏中获得最佳性能
- 可扩展、模块化、可维护和可扩展的代码,可以作为任何严肃游戏的基础
- 游戏能力系统的所有核心功能
- 代码调试工具和实践
要求
- C++ 编程语言知识
- 虚幻引擎 C++ 基础知识 – 至少创建了一个虚幻引擎 C++ 项目
描述
这是最全面的虚幻引擎课程。如果您想学习如何构建功能齐全的 RPG 游戏,本课程将使您能够使用采用 AAA 质量代码构建的可扩展代码库来实现这一目标。如果您想知道 C++ 和蓝图之间的界限在哪里,那么这门课程就是适合您的。如果您曾经想创建一个包含统计系统、能力、升级、咒语、属性、菜单的角色扮演游戏,同时保持代码库干净并遵循最佳实践,那么这门课程就是适合您的。如果您想提高虚幻引擎开发能力并更好地了解引擎的内部工作原理,本课程适合您。如果您计划制作自己的带有互连系统的严肃游戏,涉及属性、能力、升级、敌人和人工智能,
在本课程中,我们将创建一款自上而下的 RPG 风格游戏,其中充满了使用虚幻引擎内置游戏能力系统 (GAS) 构建的系统。在这里,您将学习如何构建已发布的游戏,并对其进行专业编码,以便轻松扩展、升级和维护。我们遵循 SOLID 编码原则,并以 AAA 级游戏(例如 Fortnite)的方式平衡 Blueprint/C++ 比例。我在 AAA 游戏代码方面的经验以及与行业资深开发人员的咨询使我能够向您展示真正的游戏代码库的样子。如果您想知道与 C++ 相比,蓝图可以保留多少游戏内容,那么不用再犹豫了。这门课程就是答案。
该游戏项目中的资源是专门为本课程制作的,并将在资源包中提供。这包括:
- 角色包括主角 Aura,以及敌人角色,包括哥布林战士、哥布林游骑兵、哥布林萨满、红魔和黑魔、食尸鬼和蘑菇。
- 模块化的地下城包,可以拼凑起来形成基本的地下城
- 航点神社和方尖碑
- 粒子尼亚加拉系统效果,包括爆炸、升级效果、弹弓岩石、撞击冲击、电束、火球、火焰、火焰、眩晕效果星星等等!
- 敌人、脚步声、咒语等等的音效!
- HUD 纹理,包括高品质按钮、框架、动态动画咒语地球仪、进度条、XP 栏等等!
- 光环和所有敌人的完整动画集
- 多得多!
在本课程中,我们将讨论以下主题:
- 从头开始建立一个自上而下的项目
- 具有轮廓效果的敌人和物品选择
- 正确使用OOP和继承来创建角色类层次结构
- 游戏能力系统及其组成的核心类别简介
- 自定义游戏能力系统组件和属性集,以及如何复制属性
- 所有 GAS 类别和组件的所有重要设置
- 如何使用玩家统计属性,包括主要属性:
- 力量(增加物理伤害)
- 智力(增加魔法伤害)
- 弹性(增加护甲和护甲穿透)
- 活力(增加最大生命值)
- 次要属性,基于主要属性和其他自定义变量:
- 护甲(减少受到的伤害,提高格挡几率)
- 护甲穿透(忽略敌方护甲百分比,增加暴击率)
- 格挡机会(更改为将传入伤害减半)
- 暴击几率(造成双倍伤害的几率加上暴击奖励)
- 暴击伤害(暴击时会增加额外伤害)
- 暴击抵抗(降低攻击敌人的暴击几率)
- 生命恢复(每 1 秒恢复的生命值)
- 法力恢复(每 1 秒恢复的法力量)
- 最大生命值(可获得的最大生命值)
- 最大法力(可获得的最大法力值)
- 重要属性– 诸如生命值和法力之类的东西,它们依赖于所有其他属性
- 游戏效果– GAS 系统中用于应用属性更改的类
- 游戏标签– GAS 的重要组成部分,它使我们能够识别素质、属性、能力、角色类别以及我们可以想象的任何其他内容
- 游戏 UI – 如何以有组织、模块化和可扩展的方式高效处理 RPG 游戏中的复杂 UI。我们涵盖了不同的 UI 范例,从MVC (模型视图控制器)和MVVM (模型视图 ViewModel,使用虚幻引擎的新ViewModel功能)
- 完整的属性和法术菜单,包括升级能力、法术树、锁定的法术等级、按能力等级进行的法术升级等等
- 属性– 如何使用游戏属性来表示玩家统计数据,并通过创建效果应用程序管道将它们合并到游戏机制中,从而允许由游戏中的现象(例如战斗伤害)引起的计算和结果
- 游戏能力– GAS 的核心。我们创建了各种类型的游戏能力来处理咒语的施展,处理玩家角色和敌人人工智能的重要能力,以及如何配置不同的能力来满足您的需求。
- 不同的 RPG 类别– 我们实现了不同的角色 RPG 类别,包括游侠、战士和元素师,并以易于扩展的方式实现,因此您可以在游戏中拥有任意数量的角色类别类型
- 伤害和战斗– 我们实现了一个完整的 RPG 风格的战斗系统,具有不同的伤害类型、伤害抗性和与伤害类型相对应的减益效果,并将这些计算编码到我们的伤害管道中。所有属性、伤害类型、抗性和减益效果都在此游戏中起作用。
- 所有战斗机制都以某种形式的视觉反馈显示给玩家。这包括用于损坏的浮动文本、根据自定义标准更改颜色、通知致命一击、被阻止的命中和关键被阻止的命中的浮动文本。我们还实施了击退和眩晕机制来应对闪电伤害,使角色/敌人丧失能力,以及火焰减益,其中角色被点燃并在燃烧时受到火焰伤害。
- 敌人 AI – 我们使用虚幻引擎行为树和环境查询系统 (EQS)来实现敌人行为,为远程、战士和元素师敌人类型提供自定义行为。
- 敌人可以施展法术并召唤人工智能小兵
- 在自上而下的游戏中,当几何体妨碍摄像机时,几何体会褪色
- 技能消耗和冷却时间(法术消耗属性资源 – 在本游戏中,法术消耗法力)
- 功能齐全的HUD,配备法术,显示法术冷却计时器和经验(XP)
- 能够将能力分配给咒语菜单中的不同输入(将 FireBolt 分配给 1 键,将 Electrocute 分配给鼠标左键,将它们交换回来,等等)
- 经验和升级系统– 我们精心设计了一个经验系统,消灭敌人时奖励 XP,并在达到各种能力的 XP 阈值时升级。XP 和等级会显示在 HUD 中,等级提升消息和效果也会显示。升级与获得属性点和法术点相关,属性点和法术点可分别用于升级属性和法术菜单中的属性和法术能力,以及在升级时补充生命值和法力值。(基本上,您将看到足够多的示例来说明如何使用该系统,以便您可以使用您自己的游戏所需的任何功能来扩展它)
- 被动法术– 您可以装备的法术,在装备时保持活动状态。
- 各种进攻性法术,展示了 GAS 的不同示例和功能,包括 FireBolt、Electrocute、Arcane Shards 和 FireBlast。
- 保存进度和关卡转换
- 中级/高级虚幻引擎主题,包括自定义异步任务、能力任务、蓝图函数库、资产管理器、单例(以及为什么这些仅适用于极少数情况)、自定义游戏效果上下文、网络序列化、结构操作类型特征、C++ Lambda、游戏机制算法等等。
- 如何选择 C++ 与 Blueprint 中应包含哪些功能– 这是最有价值的课程之一,并且贯穿整个课程。学生经常问我“哪些功能应该放在 C++ 中而不是放在 Blueprint 中?” 这门课程就是我的答案。这是一个规模严肃的项目基础,有超过100小时的视频,没有任何填充物。该项目的架构由大约50% 的蓝图和 50% 的 C++组成。我将向您展示哪些功能应该位于 C++ 端、哪些功能更适合蓝图以及原因。
- SOLID 编码原则和代码架构– 我们在这个项目中保持代码库干净。我经常收到的另一个问题是“这是最佳编码实践吗???” 这门课程就是我对这个问题的回答。这是您在 AAA 游戏中看到的代码示例,该游戏已交付给数百万玩家。维护干净且模块化的代码对于需要可扩展、可扩展、模块化、可维护、可测试、高性能和高效的严肃游戏项目至关重要。本课程将向您展示如何操作。
这不是初学者课程。我希望您已经了解 C++ 编程语言,并且至少创建了一个虚幻引擎 C++ 项目。我建议您在学习本课程之前先学习以下课程(如果您还没有学习过的话):
学习 C++ 进行游戏开发,作者:Stephen Ulibarri
Unreal Engine 5 C++ 终极游戏开发者课程,作者:Stephen Ulibarri
或者已经拥有同等的知识,无论您是通过自学还是其他资源/教程获得的。如果您已经有游戏开发经验并且感觉自己可以胜任,请随时加入!如果 C++ 代码看起来太超出您的理解范围,请看一下上面的两门课程,因为它们教您在本课程中获得流畅而有趣的体验所需的一切。这两门课程中未涵盖的所有内容都将得到深入解释,我假设您对GAS 或我们在本课程中涵盖的高级主题一无所知。
这门课程是我迄今为止最好的课程,我非常自豪地为您带来虚幻引擎5 – 游戏能力系统 – 自上而下的RPG课程,这是近一年潜心开发、研究、咨询专业人士和资产创建的成果。学习完本课程后,您将比一般开发人员更了解虚幻引擎,并且您将能够创建自己的架构良好的项目,无论大小,并且您将为您的团队、您的公司、您的公司带来价值。个人冒险,以及任何你擅长的人/任何其他人。
加入课程,加入精彩的 Druid Mechanics Discord 社区,为您的游戏开发生涯中最大的飞跃投资。
Stephen Ulibarri,Druid Mechanics 游戏开发者社区创始人
本课程项目是在虚幻引擎 5.2 版本中创建的。
本课程适合谁:
- 那些希望了解如何在虚幻引擎中构建可扩展且可交付的游戏的人
- 那些希望了解如何实现游戏属性、能力、经验、升级以及如何在干净的代码库中维护这些内容的人
- 那些希望了解如何有效处理复杂系统的游戏 UI 的人
- 那些希望创建自己的 RPG、MOBA、射击游戏或任何其他类型的涉及属性、技能、咒语或其他自定义机制的游戏的人
- 那些希望了解如何通过行为树和环境查询 (EQS) 实施敌人 AI 的人
- 那些拥有虚幻引擎经验并希望扩展自己的技能以创建可发行游戏的人
- 那些正在寻找有关游戏能力系统(GAS)的综合课程的人,以便他们可以在自己的游戏项目中使用它
- 爱好者和专业游戏开发人员都将从本课程中受益
- 需要为团队的游戏项目学习 GAS 基础知识的 AAA 开发人员
- 需要了解 GAS 在虚幻引擎中如何工作、其功能、限制以及开发人员的时间和精力成本的游戏开发项目领导者
- 需要以可扩展的方式构建游戏项目的团队,以便在发布后轻松维护
- 任何已经创建了一些基本虚幻引擎项目并准备好迎接更高水平的伟大作品的人!