首页 › programming › 游戏引擎架构七强频道精读

游戏引擎架构七强频道精读:从引擎内核到玩法工程的 YouTube 进阶地图

本期概述

本期为第 2 轮精选,聚焦 programming(编程与开发) 分类。我们避开已被前轮覆盖的"GPU 并行计算与图形编程"那一类以渲染着色器为主的内容,转而聚焦一个更上游、也更被低估的硬核方向——游戏引擎架构与玩法工程(Game Engine Architecture & Gameplay Engineering)。

为什么要读这个方向?因为它几乎是把一名程序员"拖入系统工程深水区"性价比最高的训练场。一个完整引擎要同时处理:分层架构、事件系统、实体-组件-系统(ECS)、资源管理、内存分配器、渲染抽象、脚本绑定、编辑器反射、序列化、并行调度……这些主题与数据库内核、操作系统、通信协议栈在工程方法论上高度同构。对 51学通信 的技术读者而言,理解一个引擎的"分层 + 事件总线 + 资源生命周期"骨架,几乎可以直接迁移到 5G 核心网 NF(网络功能)的服务编排与消息驱动模型。

YouTube 上这一领域有一批"从零造引擎"的长期连载频道,体量惊人、信息密度极高。本期精选 7 个频道,覆盖从高层玩法设计到底层软件光栅化、从 C++ 到 Java 的完整光谱,并按其在"引擎分层架构"中所属的层位进行组织,便于读者按需取用。

七强频道对比总览

频道 创作者 主语言 核心定位 引擎架构中的层位 订阅量级(约)
The Cherno Yan Chernikov C++ Hazel 引擎从零连载 框架层 / 引擎整体 75 万+
javidx9 (OneLoneCoder) David C++ 软件渲染与底层引擎 内核层 / 软件光栅化 28 万+
ThinMatrix Karl Java + OpenGL 3D 引擎子系统教学 渲染层 / ECS 52 万+
Sebastian Lague Sebastian Lague C# (Unity) 算法与过程化生成 玩法系统层 / 算法 330 万+
Game Maker's Toolkit Mark Brown 设计分析 关卡与玩法设计解构 设计层 / 玩法意图 260 万+
PardCode PardCode C++ (Win32/DX) 3D 引擎从零实现 平台层 / 子系统 12 万+
Bisqwit Joel Yliluoma C++(极致底层) 从零手写引擎/硬件级编程 内核层 / 位运算艺术 37 万+

逐个深度解读

1. The Cherno —— Hazel 引擎:一部活着的 C++ 引擎教科书

频道:youtube.com/@thecherno

Yan Chernikov(前 EA / CryEngine 开发者)的 Hazel 系列是这个领域最权威的连载之一。他从空项目开始,一集一集搭出一个真实的 2D 游戏引擎:先建窗口与分层(Layer)抽象,再引入事件系统(Event Dispatcher),接着是渲染抽象层(RendererAPI 把 OpenGL/Vulkan 的差异藏起来)、实体系统、序列化、脚本、再到自研编辑器。

关键洞察: - 分层与解耦:Hazel 用 Layer 与 LayerStack 管理游戏循环中的输入、UI、场景,这是引擎区别于"一个大 main 函数"的本质。 - 引用计数的智能指针体系:他专门用一集讲 Scope/Ref(scoped_ptr/shared_ptr 别名)与生命周期,这对通信网元里大量共享上下文对象同样适用。 - 性能剖析(Instrumentation):早期就埋入宏驱动的计时器与 Chrome tracing 输出,体现了"引擎天生是可观测系统"的理念。

实用价值:把他的事件系统与分层抽象直接抽象成你自己的服务框架骨架。适合人群:有 C++ 基础、想从"写业务"跃迁到"写框架/中间件"的工程师。

2. javidx9(OneLoneCoder)—— 软件光栅化与底层引擎的硬核浪漫

频道:youtube.com/@javidx9 | 主站:onelonecoder.com

David 的 OneLoneCoder 系列证明"一台只会在控制台画字符的机器也能跑引擎"。他从 olcConsoleGameEngine 起步,手写游戏循环、缓冲区、软件三角形光栅化、深度排序,后来演进成跨平台的 olc::PixelGameEngine。

关键洞察: - 游戏循环的最小本质:OnUserCreate + OnUserUpdate 两回调,把"引擎"压缩到最纯粹的形态——这正是理解任何引擎 Game Loop 的最佳起点。 - 软件光栅化:手动实现三角形填充、纹理映射、深度缓冲,逼你直面"屏幕上每个像素从哪来"。这种底层肌肉记忆,会让你日后理解 GPU 管线时毫无障碍。 - 教学叙事:他的讲解带着英国式幽默与手写板推导,节奏慢但密度高。

实用价值:用最小依赖(一个 .h)理解引擎内核,是排查渲染/性能问题的认知基石。适合人群:想真正"懂底层"的嵌入式/系统工程师。

3. ThinMatrix —— 用 Java + OpenGL 把 3D 引擎子系统讲透

频道:youtube.com/@ThinMatrix

Karl 用 LWJGL(Java 绑定的 OpenGL)逐集构建一个 3D 引擎。最珍贵的是他对 ECS(实体-组件-系统) 模式的完整实现教学——把"传统继承式对象图"重构为"组件 + 系统"的数据导向架构,并贯穿光照、地形、水面、动画等子系统。

关键洞察: - 从 OOP 到 ECS 的范式迁移:他亲手演示如何拆掉臃肿的 Entity 基类,这是理解现代引擎(Unity DOTS、Bevy、EnTT)架构趋势的活教材。 - 渲染管线子系统化:MasterRenderer、EntityRenderer、TerrainRenderer 各司其职,体现"管线即职责链"。 - 资源与内存纪律:显存对象(VAO/VBO)的创建/销毁必须成对,与任何"获取即释放"的资源管理模式同构。

实用价值:ECS 思想可迁移到任何"大量同质实体 + 关注点分离"的系统(如网元中的会话管理)。适合人群:Java 工程师、想入门数据导向设计的开发者。

4. Sebastian Lague —— Coding Adventures:把算法做成可交互的玩法系统

频道:youtube.com/c/SebastianLague

Sebastian 是这一领域视觉与叙事的天花板。他的"Coding Adventures"系列把搜索、A*、流体、过程化地形、遗传算法、魔方求解等做成可玩的可视化系统。订阅超 330 万,是技术内容极罕见的"现象级"。

关键洞察: - 算法工程化:他不只讲算法,更讲"怎么把算法变成可交互、可调参的实时系统"——这恰是从"刷题"到"工程"的鸿沟。 - 过程化生成(Procedural Generation):噪声、LOD、星球生成,展示了"用代码创造世界"的工程方法论。 - 调试可视化:每集大量花在"让中间状态看得见"上,是软件工程中"可观测性"的最佳示范。

实用价值:学习如何为一个复杂算法系统设计交互式调试与可视化前端。适合人群:所有想提升"工程审美"的开发者。

5. Game Maker's Toolkit(GMTK)—— 玩法设计即系统工程

频道:youtube.com/@GMTK | Wikipedia

Mark Brown(前英国游戏媒体记者)的 GMTK 不写一行代码,却是任何引擎开发者都该看的设计层内容。他的"Designing for ..."系列、关卡设计 Bootcamp、年度 Game Jam 复盘,把"为什么好玩"拆解成可操作的设计约束。

关键洞察: - 机制即约束:好的玩法来自"约束下的涌现",与"好的系统来自清晰的接口契约"同理。 - 玩家反馈回路:他用 juiciness、camera、control 等维度分析手感,本质是在讲"用户感知层的系统工程"。 - 可度量设计:把主观的"好玩"转化为可拆解、可测试的设计模式。

实用价值:在做任何"面向人"的系统(产品、运维面板、协议信令流程)时,借鉴其反馈回路与约束设计。适合人群:技术 leader、产品技术工程师。

6. PardCode —— Win32 + DirectX 上的 3D 引擎从零实现

频道:youtube.com/c/PardCode | 教程站

PardCode 的"C++ 3D Game Tutorial Series From Scratch"是少数敢于从 Win32 原生窗口、DirectX 图形管线一路手写到完整 3D 引擎的连载。他不依赖 Unity/Unreal,所有子系统(Graphics Engine、Input System、资源加载)都逐行实现。

关键洞察: - 平台层与图形层的清晰分离:先写平台无关的抽象接口,再用 DX 实现——典型的"接口与实现分离"工程范式。 - 图形管线的工程化:从常量缓冲、根签名到绘制调用调度,每一步都是可对照 D3D 文档的实现。 - 增量重构纪律:从能画一个三角形,逐步到光照、模型加载,体现"小步可验证"的工程节奏。

实用价值:理解图形 API 在引擎中的真实封装方式,对做协议栈/驱动层封装的工程师是极好的范式参考。适合人群:Windows 平台、图形/驱动方向工程师。

7. Bisqwit —— 用 C++ 把底层编程做成一门艺术

频道:youtube.com/@Bisqwit | 主页

芬兰程序员 Joel Yliluoma(Bisqwit)的频道是这一领域最"偏门"也最"硬核"的存在。他直播式地从零手写 NES 模拟器、自研编译器、位运算魔法、AdLib 音频合成,节奏缓慢、信息密度极高,每一行代码都经得起反复看。

关键洞察: - 位运算与底层优化:他用移位技巧合成算术运算,把"CPU 是怎么算的"摆到台面,是嵌入式/协议字段处理思维的极致训练。 - 从零造一切:模拟器、编译器、引擎——他示范了"理解一个系统最好的方式是重写它"。 - 工程美学:他的代码风格、配色、字体选择本身就是一种"匠人精神"的展示。

实用价值:培养对位级、字节级操作的直觉,直接服务于协议解析、报文构造、固件开发。适合人群:嵌入式、固件、协议栈工程师——与 51学通信 读者画像高度重合。

引擎架构知识图谱:把七强映射到一张分层图

下面这张图把 7 个频道锚定在一个典型游戏引擎的分层架构上,读者可据此判断自己缺哪一层、补哪个频道。

flowchart TB
    subgraph Design["设计层(玩法意图)"]
        GMTK["GMTK<br/>玩法/关卡设计解构"]
    end
    subgraph Gameplay["玩法系统层(算法与逻辑)"]
        LAGUE["Sebastian Lague<br/>算法/过程化/可交互系统"]
    end
    subgraph Framework["框架层(引擎整体架构)"]
        CHERNO["The Cherno<br/>Hazel: 分层/事件/ECS/编辑器"]
        THIN["ThinMatrix<br/>ECS/渲染管线子系统化"]
    end
    subgraph Platform["平台层(OS/图形API封装)"]
        PARD["PardCode<br/>Win32+DX 3D引擎"]
    end
    subgraph Kernel["内核层(底层渲染/位级)"]
        JAV["javidx9<br/>软件光栅化/最小引擎"]
        BISQ["Bisqwit<br/>位运算/模拟器/编译器"]
    end
    GMTK --> LAGUE --> CHERNO
    CHERNO --> THIN --> PARD --> JAV --> BISQ
    style GMTK fill:#fde68a
    style LAGUE fill:#bbf7d0
    style CHERNO fill:#bfdbfe
    style THIN fill:#bfdbfe
    style PARD fill:#ddd6fe
    style JAV fill:#fecaca
    style BISQ fill:#fecaca

一张学习路径图:从"懂设计意图"到"会造引擎",再到"啃底层光栅化"。

flowchart LR
    A([目标: 理解引擎架构]) --> B{起点?}
    B -->|有C++基础| C[The Cherno:Hazel]
    B -->|想懂底层| D[javidx9]
    B -->|想懂设计| E[GMTK]
    C --> F[ThinMatrix:ECS]
    F --> G[PardCode:图形管线]
    G --> H[Bisqwit:位级底层]
    D --> H
    E --> I[Sebastian Lague:算法工程化]
    H --> J([能独立设计<br/>大型系统框架])
    I --> J

核心方法论提炼:引擎工程教会我们的五件事

把七强频道的内容抽象出来,有五条可迁移到任何大型系统(包括通信网元)的工程方法论:

  1. 分层即纪律——Hazel 的 Layer、PardCode 的平台抽象,本质都是"把变化点隔离在边界"。做核心网 AMF/SMF 时,NAS 处理与底层传输同样需要清晰分层。
  2. 事件驱动优于轮询——引擎事件系统与网络中的消息驱动架构同构。
  3. 资源必须成对管理——VAO/VBO 的获取与释放、显存对象的生命周期,与协议定时器、会话上下文的获取与释放完全同理。
  4. 可观测性是默认能力——Cherno 的 Instrumentation、Lague 的调试可视化,都在说"看不见的系统不值得信任"。
  5. 重写即理解——Bisqwit 与 javidx9 的"从零造",是理解复杂黑盒(如 UE5、如商用 EPC)的最快路径。

延伸推荐

参考来源

  1. The Cherno — YouTube — Hazel 引擎从零连载的官方频道
  2. Sebastian Lague — YouTube — Coding Adventures 系列主频道
  3. OneLoneCoder 官方主页 — javidx9 的 PixelGameEngine 与全部资源入口
  4. PardCode — C++ 3D Game Tutorial Series — 从零实现 3D 引擎的完整教程站

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入