C++ 和虚幻引擎中的专业游戏开发
Professional Game Development in C++ and Unreal Engine
使用虚幻引擎使用 C++ 进行动手游戏开发。一门基于项目的课程,您可以在其中构建第三人称动作游戏并深入了解虚幻引擎 C++ 游戏开发架构,这将促进您的游戏开发事业!
不管你编程十年还是一年都没关系……我们可以一起掌握虚幻引擎!该课程旨在让那些具有一些基本编程技能的人学习,这样我们就可以快速掌握使用虚幻引擎 4 和 5 进行 C++ 编程的最激动人心的部分!
即使在今天,关于 Unreal C++ 的可用信息也很少。本课程将我可能从 8 年以上的经验中包含的所有信息打包成一个针对广泛学生的精心策划的学习路径。
这门课程适合你吗?
你可能想知道你是否适合这门课程。本课程不适合那些没有任何编程技能的人,根本没有时间将函数/变量的一般基础知识以及所有令人惊叹的中级/高级内容整合到一个课程中。您应该具备一些编程的基础技能,但不一定是 C++。我自己非常无缝地从 C# 转到 C++(这比我预期的要容易得多!),其他语言,如 Java、Python 等也可以!
以下是一些非常适合的学生类型:
- 计算机科学或游戏开发专业的学生
- 工作室员工刚刚开始或正在掌握虚幻引擎 C++
- 任何寻求在虚幻引擎中重新训练自己的编程专业人士
- 希望提高 C++ 技能和学习新功能的中级虚幻开发人员
- 那些认真对待游戏开发职业的人(当然也欢迎爱好者!)
- 学生/程序员仍然想知道游戏开发是否适合他们(这是对游戏编程的一个很好的了解)
2020 年秋季,该课程在斯坦福大学教授计算机科学专业的学生(C++ 和虚幻引擎中的视频游戏开发 – CS193U),并获得了学生的好评。
你的导师
拥有 10 多年虚幻引擎经验的游戏开发者,无论是作为独立开发者还是 Epic Games 的工程师!多年来,我为虚幻引擎社区从初学者到高级 创建了 70 多个教程、课程和示例项目。
我之前曾在斯坦福大学(CS193U) 向计算机科学专业的学生教授过虚幻引擎 C++。我以前的在线课程有超过 35.000 名学生,评分为 4.6+。
通过我的课程,我希望能把我多年来学到的东西传授给你,并帮助你以正确的方式构建自己的游戏!我喜欢通过动手实践和举例说明来解释具有挑战性的概念。我热衷于将看似困难的概念转化为易于遵循的指南。我的目标是让任何愿意学习的人都能接触到游戏开发。
除了关于游戏开发的教学和写作之外,我还以独立开发者的身份制作游戏,这让我能够及时了解虚幻引擎、C++ 和游戏创建过程。
您将学习如何正确构建您的游戏,包括一个可靠的框架来编写可应用于多种类型和设计的专业级代码。当您学习编写包含广泛适用的灵活编码原则的游戏时,无论您自己的游戏项目的设计如何,您编写的代码都将是无价的。这包括我们从头开始创建的“游戏能力系统”风格系统以及用于高效游戏循环和 UI 的基于事件的编码原则。
在整个课程中,我们将介绍Unreal 特定的 C++ 功能和概念,包括 Unreal 属性系统,它是一个强大的工具,可以将您的代码暴露给编辑器和蓝图。我们使用制作游戏的“虚幻方式”在虚幻的游戏框架之上创建游戏。在此过程中,我将解释我们编写代码背后的原因,通常只有通过多年的修补和迭代才能发现。
调试代码是一项非常宝贵的技能,因此我们将介绍 C++ 和蓝图的调试工具和技巧。我们使用性能分析工具来完成这一切,以找到影响您的游戏玩法的瓶颈或错误。
如果没有一些 AI 对手或与朋友的多人游戏,游戏将不完整,您将学习如何实现这两者!您将了解如何使用虚幻引擎 AI 功能,包括行为树、环境查询系统以及创建自定义 C++ 节点来扩展 AI 功能。然后我们继续让我们所有的游戏逻辑在多人游戏中也能无缝运行。
但这还不是全部。我将演示如何将游戏状态保存到磁盘、异步加载游戏资源、如何通过代码控制 VFX 和材质、使用 UMG、GameplayTags、动画蓝图构建响应式用户界面,创建调试命令等等!
主要特点
- 构建 C++ 游戏框架
- 结合 C++ 和 Blueprint 实现灵活的游戏逻辑
- 虚幻的游戏系统
- 基于事件的编程原则
- AI 编程(行为树、黑板、EQS、自定义 C++ 节点)
- 多人网络(复制架构、低带宽、最佳实践)
- 将游戏状态保存到磁盘(保存/加载玩家进度和世界状态)
- 性能分析工具(Unreal Insights 和编辑器内工具)
- 使用 UMG 的用户界面(使用基于事件的原则)
- 异步资产加载和软引用
在整个课程中,您将完成 7 项具有挑战性的任务,并自行完成。这些都得到了课堂演练和源代码存储库的支持,以查看您的解决方案与我的解决方案相比如何,包括使用课堂上讨论的代码进行推理。
除了上面列出的无数功能外,该课程还包含更多功能!它包含了很多技巧和窍门,我 100% 保证即使对于更有经验的程序员,你也会学到很多东西……
评论(0)