第一部分:学习路径规划
在开始看视频之前,有一个清晰的学习路线图至关重要,C++ 游戏开发是一个系统工程,建议按以下步骤循序渐进:

C++ 语言基础 (地基)
这个阶段的目标是掌握 C++ 的核心语法和现代特性,而不是停留在 C 语言风格,游戏开发对 C++ 的要求很高。
- 基本语法: 变量、数据类型、运算符、流程控制。
- 面向对象编程: 这是重中之重! 类、对象、封装、继承、多态,理解虚函数、虚表是后续学习游戏引擎的基础。
- STL (标准模板库):
vector,string,map,set等容器必须熟练使用,它们是管理游戏数据(如实体、组件、资源)的利器。 - 内存管理: 智能指针 (
unique_ptr,shared_ptr) 的使用,避免内存泄漏。 - 现代 C++ 特性: 了解 C++11/14/17 的新特性,如
auto类型推导、范围for循环、Lambda 表达式等,它们能让代码更简洁、更安全。
游戏开发基础与数学 (承重墙)
这个阶段学习游戏开发必备的数学知识和底层概念。
- 游戏数学: 线性代数是核心中的核心!
- 向量:表示位置、方向、速度。
- 矩阵:表示变换(平移、旋转、缩放)。
- 四元数:用于表示旋转,避免万向节死锁。
- 游戏循环: 理解
输入 -> 更新 -> 渲染的基本循环。 - 输入处理: 如何获取键盘、鼠标、手柄的输入。
- 2D 图形学基础: 了解屏幕坐标系、精灵、纹理、碰撞检测的基本概念。
- 游戏数学: 线性代数是核心中的核心!
图形学与 API (窗户)
学习如何与图形硬件通信,将你的游戏世界渲染到屏幕上。
- 图形 API 选择:
- DirectX (Windows): 微软出品,功能强大,是 Windows 平台游戏开发的主流。
- OpenGL (跨平台): 开源,历史悠久,社区庞大,学习资源丰富。
- Vulkan (跨平台): 新一代图形 API,性能极高,但学习曲线非常陡峭,适合进阶。
- 核心概念: 顶点、图元、光栅化、着色器、渲染管线。
- 图形 API 选择:
游戏引擎与物理 (内部装修)
使用游戏引擎可以极大地简化开发,让你专注于游戏逻辑。

- 游戏引擎概念: 理解引擎的模块化结构(渲染、物理、音频、输入管理等)。
- 物理引擎: 刚体动力学、碰撞检测与响应,常用的有 Box2D (2D) 和 Bullet (3D)。
- 资源管理: 如何加载和管理模型、贴图、音频等资源。
专业方向 (精装修)
在掌握了基础后,可以选择一个方向深入。
- 从头开发引擎 (适合想深入底层的学习者)
- 使用现有引擎开发游戏 (适合想快速做出游戏的学习者)
- Unreal Engine (虚幻引擎): C++ + 蓝图,功能强大,AAA 级游戏首选。
- Godot: 轻量级,开源,支持 C++ 和 GDScript,社区活跃。
第二部分:精选视频教程推荐
以下教程按照上述学习路径进行推荐,并标注了适合人群。
C++ 语言基础
-
- 简介: 强烈推荐! 这是目前公认最好的 C++ 基础教程之一,讲解清晰、现代,覆盖了从基础到高级的众多 C++ 特性,非常适合零基础或想系统学习现代 C++ 的开发者。
- 语言: 英文,但有高质量的中文字幕。
-
- 简介: 国内非常经典的 C++ 入门视频,结合了《C++ Primer Plus》这本经典书籍,讲解细致,适合喜欢中文教学、需要手把手引导的初学者。
- 语言: 中文。
游戏开发基础与数学
-
- 简介: 必看! 这不是编程教程,但它能让你直观地理解向量、矩阵等数学概念在几何上的意义,看懂这个,后续的图形学和游戏数学学习会事半功倍。
- 语言: 中文。
-
- 简介: 国内讲师制作的专门针对游戏开发的数学教程,会结合代码和游戏场景进行讲解,非常实用。
- 语言: 中文。
图形学与 API (以 OpenGL 为例)
-
- 简介: 这不是一个视频,而是一个顶级的中文网站,但它有配套的 YouTube 视频教程(由原作者制作,有英文字幕),这个教程是学习 OpenGL 的圣经,从最简单的窗口创建到高级的 PBR 渲染,讲解得非常透彻,代码示例清晰,注释详细。
- 配套视频: YouTube - The Cherno - OpenGL Series (The Cherno 制作,与网站内容对应)
- 语言: 网站/视频为英文,但网站有完整中文翻译。
-
- 简介: 国内也有许多优秀的 OpenGL 教程,搜索 "OpenGL 教程" 可以找到很多。"OpenGL 超级宝典" 的视频讲解等,可以作为 LearnOpenGL 的补充。
- 语言: 中文。
游戏引擎与物理
-
Game Engine Architecture - The Cherno
- 简介: 进阶必看! 这个系列不教你如何使用某个特定引擎,而是讲解如何从零开始设计一个游戏引擎,它会带你实现一个极简的 2D 引擎,涉及渲染、物理、音频、脚本等核心模块,看完后,你对引擎的理解会达到新的高度。
- 语言: 英文,有高质量中文字幕。
-
- 简介: 如果你想学习 2D 物理引擎,直接看 Box2D 的官方教程和源码是最好的方式,B站上也有很多关于 Box2D 原理和使用的中文讲解视频。
- 语言: 官方文档为英文,B站视频为中文。
专业方向
-
Unreal Engine (UE)
- 官方频道 - Unreal Engine: YouTube 链接
- 简介: 官方发布的教程,质量最高,涵盖了从入门到高级的各种主题,包括 C++ 开发、蓝图使用、VR/AR 等。
- 国内优秀讲师 - Lighthouse (灯塔): B站主页
- 简介: 国内 UE 教学的标杆人物,他的 UE4/UE5 系列教程非常系统和深入,广受好评。
-
Godot
- 官方频道 - GDQuest: YouTube 链接
- 简介: Godot 社区最活跃的教程频道之一,提供大量高质量的视频教程,从入门到游戏制作全流程都有覆盖。
- 国内优秀讲师 - 千叶 Junior: B站主页
- 简介: 国内 Godot 教学的代表人物,他的教程非常适合中文用户,从基础到项目实战,内容非常丰富。
第三部分:学习建议
- 动手!动手!动手! 看再多教程不如自己写一行代码,跟着教程敲代码,然后尝试修改、扩展它。
- 不要害怕看源码: 优秀的开源项目(如 Godot, Box2D, 甚至一些小型的渲染器)是最好的老师,尝试去理解它们的设计和实现。
- 从 2D 开始: 3D 游戏开发复杂度极高,建议先用 C++ 和一个图形 API(如 OpenGL)或者一个轻量级引擎(如 Godot)完成几个 2D 小游戏(如俄罗斯方块、打砖块、平台跳跃游戏),这会给你巨大的信心。
- 学会调试: 学会使用 GDB (Linux) 或 Visual Studio Debugger (Windows) 来追踪 Bug,这是程序员的核心技能。
- 耐心和坚持: C++ 游戏开发学习曲线陡峭,遇到困难是正常的,坚持下去,你会看到自己的成长。
祝你学习顺利,早日开发出自己的游戏!
