课程核心亮点
1. 聚焦引擎架构,不止于 “做游戏”
课程核心并非简单用 C++ 开发一款游戏,而是深入拆解 “
游戏引擎” 的本质 —— 讲解实体 – 组件 – 系统(ECS)框架、数据导向设计、内存管理、事件系统等核心架构逻辑,让学习者理解游戏背后的抽象原理,掌握可复用的引擎开发思路,最终产出的小型引擎可适配多种 2D 游戏类型开发。
2. 多技术栈融合,兼顾基础与进阶
- 核心开发语言:现代 C++,涵盖 STL 容器、模板、智能指针、运算符重载等关键特性,同时讲解代码优化技巧。
- 关键工具与库:SDL2(跨平台渲染与输入处理)、GLM(数学辅助)、Dear ImGui(引擎 UI 开发)、Lua(脚本语言)、Sol(C++ 与 Lua 绑定库),课程会详细指导各平台的环境配置与依赖管理。
- 脚本拓展:教你将 Lua 嵌入 C++ 原生代码,实现游戏逻辑脚本化,提升引擎灵活性。
3. 循序渐进,适配有基础的新手
- 前置要求:无需掌握 C++,但需具备基础编程能力(会写 if-else、循环、函数、基础面向对象编程),无论此前熟悉 Java、Python、JavaScript 等何种语言,均可顺利入门。
- 教学逻辑:从环境搭建、窗口创建等基础操作开始,逐步深入到 ECS 架构、碰撞系统、动画系统等复杂模块,每个知识点配套实操练习与测验,避免纯理论堆砌。
4. 内容全面,覆盖引擎开发全流程
课程共 27 个章节,核心模块可分为 5 大类,兼顾实用性与深度:
- 基础准备:库与依赖配置(Windows/macOS/Linux 全平台)、编译与链接、项目目录结构、游戏循环(固定帧率 / 可变 Delta Time)、日志系统设计。
- 核心架构:ECS 框架从零实现(组件池、实体注册、系统签名)、数据导向设计(缓存优化、结构体存储方式)、面向对象与组件化设计对比。
- 核心功能:SDL 渲染(矩形、纹理、双缓冲)、动画系统、碰撞检测系统、事件系统(事件发布 / 订阅)、资产管理(纹理、字体加载)、相机跟随、Z-Index 排序、实体标签与分组。
- 高级拓展:Dear ImGui 引擎 UI 开发、True-Type 字体渲染、Lua 脚本绑定(关卡加载、实体行为脚本)、地图边界裁剪、瓦片地图(Tilemap)渲染。
- 实践与总结:包含瓦片地图编辑器提案项目、代码重构技巧、后续学习方向指引。
5. 注重实战,拒绝 “纸上谈兵”
- 全流程动手:从项目搭建、类设计到功能实现,逐行讲解代码演变,关键模块均配套实操练习(如日志系统开发、实体组件管理、子弹发射功能实现等)。
- 问题导向:讲解缓存命中 / 失效、循环依赖、编译优化等实际开发中常见的问题与解决方案,提升工程实践能力。
讲师背景
讲师 Gustavo Pezzi 是英国伦敦大学讲师,Pikuma 平台创始人,拥有匹兹堡州立大学、伦敦城市大学、牛津大学等多所名校学术背景。他深耕计算机科学与数学基础教学,荣获多项教育类奖项,持有英国高等教育教学认证(PGCLT),擅长将复杂技术逻辑转化为易懂的教学内容,教学质量有权威保障。
学习收获
- 掌握现代 C++ 在游戏开发中的核心应用,理解模板、智能指针、内存管理等关键技术的实际场景。
- 深入理解 ECS 架构、数据导向设计等游戏引擎核心思想,能独立设计并实现小型 2D 游戏引擎。
- 熟练使用 SDL2、Dear ImGui、Lua 等工具,具备跨平台 2D 游戏开发能力。
- 掌握游戏开发中的关键工程问题:性能优化、资产管理、脚本拓展、事件驱动编程。