C++ 游戏引擎编程

C++ Game Engine Programming

学习 2D 游戏引擎开发的基础知识,并使用 C++ SDL 和 Lua 脚本创建简单的游戏引擎

课程

本课程是对 2D 游戏引擎架构基础知识的温和而全面的介绍。我们将讨论游戏开发中使用的几种最流行的编程模式,并尝试通过使用现代 C++、SDL 和 Lua 编写小型 2D 游戏引擎来将我们学到的所有理论放入上下文中。

我们将一起从头开始编写一个小型 ECS 框架来管理我们的实体组件系统。我们将讨论引擎程序员如何设计他们的代码,以及我们应该如何在考虑性能的情况下考虑在内存中组织游戏对象。

您需要的工具

  • C++ 是一种强大的编译语言
  • SDL2 是一个用于跨平台渲染和输入的库
  • GLM 是一个数学辅助库
  • Dear ImGui 是一个为引擎工具创建 UI 的库
  • Sol是现代C++和Lua的绑定库
  • Lua 是一种快速且易于使用的脚本语言

我们将尝试从头开始编写大部分引擎代码。所有这些库和工具都是跨平台的,因此您将能够与 WindowsmacOS 或 Linux 一起编码!

这门课程适合吗?

本课程的目标受众是希望详细了解 C++ 在游戏开发环境中如何工作的初学者程序员。因此,学生必须已经知道如何编码并熟悉编程和逻辑的基本概念。您应该能够使用简单的 OOP 编写 if-else 语句、循环、函数和类。

注册前无需了解 C++;许多成功的学生拥有 Web、移动和游戏开发背景,使用 Java、Python、Ruby、Go、Swift、JavaScript、Ada、Zig、Kotlin 等语言。

本课程有何不同

本课程不仅仅是一个关于如何使用 C++ 创建游戏的简单教程。这是你思考 “游戏” 真正含义的抽象概念的机会,以及所有需要互动才能实现这些游戏的组成部分。不仅如此,本课程还允许您从头开始编写可用于创建多种类型游戏的小型 C++ 引擎的代码。

我们还将涉及其他重要主题,如 ECS、面向数据的设计、STL 容器、C++ 模板、游戏循环、SDL 渲染、事件系统、资产管理、内存管理和性能。最后,我们还将学习如何将 Lua 语言嵌入到我们的原生 C++ 代码中,为我们的引擎添加脚本功能。

虽然市面上还有其他关于游戏引擎开发的资源,但它们要么过于理论化,要么篇幅过长。如果您正在寻找对游戏引擎编程世界的简要介绍,并想了解游戏在幕后真正是如何工作的,那么您绝对应该参加这门课程!

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。