posts

《游戏引擎实现原理》引擎内核 · 全书目录与章节索引(61 篇)

《游戏引擎实现原理》卷一《引擎内核》全 61 篇,用 TypeScript 从零实现 3D 引擎内核 helio:从引擎分层与主循环起步,经内存分配器与对象池、世代句柄与稀疏集、自研容器与游戏数学、数据导向布局、ECS 存储与查询调度、基于 worker_threads 的 Job System 与依赖 DAG、显式注册表反射与序列化,最后装配成引擎,让《微光岛》里出现第一个能走动的方块。

《游戏引擎实现原理》卷一《引擎内核》全 61 篇,是一套以从零手写一个 3D 引擎内核为主线的书:从第 1 章定义「引擎的分层与模块边界」起,到第 18 章把前 17 章的零件装配成一个能跑的引擎,helio 会一路长大——一个带帧预算统计的固定步长主循环、一套依赖拓扑排序的子系统生命周期与 PAL 平台抽象层、一组线性 arena 与块分配器、一个让悬垂引用无处藏身的世代句柄系统、一套自研容器与游戏数学、一条从面向对象到数据导向的重构路径、一套基于稀疏集与 archetype 的 ECS 与查询调度、一个基于 worker_threads 与 work stealing 的 Job System、一套显式注册表的反射与序列化方案。每一节都写代码,每一节的代码都在本机真跑过,跑出来的结果就是这一节的结论。

本页是《引擎内核》的全书目录:按章节顺序列出全部 61 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的学习路径与周计划。

全书概览

项目内容
书稿《游戏引擎实现原理》卷一《引擎内核》
篇数61 篇(正文 18 章 54 节 + 目录篇 + 序 + 前言 + 附录 A–D)
领域3D 游戏引擎内核从零实现
贯穿项目《微光岛》——一款低多边形 3D 收集冒险小游戏
从零引擎helio——纯 TypeScript、零运行时依赖、Node 26 直接运行
阅读方式从目录篇 进入按顺序通读,或按查漏场景跳读
实测环境Node 26.5.0、TypeScript 7.0.2、vitest 5.0.3
可运行性L1 内核代码全部本机实跑;基准数字附原始数据

全书目录

前置

篇目核心内容
目录本卷定位、阅读路径、贯穿项目与可运行性口径
序为什么还要从零写一个引擎
前言技术选型、可运行性口径与环境准备

第一部分:地基(第 1–3 章)

节文章核心内容
1.1引擎的分层与模块边界五层划分与模块依赖方向
1.2本书范围与站内分工本卷讲什么、与站内既有文章的分工
1.3一个引擎最少要有哪些零件最小可运行引擎的零件清单与骨架
2.1帧、时间与帧预算帧预算构成与滑窗统计
2.2固定步长、累加器与渲染插值固定步长循环与死亡螺旋钳制
2.3时间缩放、暂停与慢动作缩放与未缩放时间轴
3.1子系统注册、启动顺序与逆序关闭依赖拓扑排序与循环依赖检测
3.2PAL 平台抽象层时间、文件、线程、日志的平台抽象
3.3断言、日志分级与配置系统 CVar断言语义、日志分级与类型化配置

第二部分:内存与句柄(第 4–6 章)

节文章核心内容
4.1为什么要自己管内存分配节奏、布局可预测性与实测堆增量
4.2线性 arena 与栈式分配器bump 分配、对齐与帧内临时内存
4.3对齐、padding 与 TypedArray 上的真实布局手工布局顶点结构的对齐陷阱
5.1对象池与 freelist预分配与空闲链表,对照 new/GC
5.2块分配器与大小类按 2 的幂分大小类与碎片统计
5.3内存标签、预算与泄漏检测按标签统计与分配计数泄漏检测
6.1为什么指针会失效悬垂引用在 TS 里的表现
6.2slot map 与世代句柄索引 + 世代的句柄编码与失效检测
6.3稀疏集、句柄回收与 ECS 的接缝稀疏集 O(1) 增删查与紧凑遍历

第三部分:容器与数学(第 7–10 章)

节文章核心内容
7.1动态数组与开放寻址哈希增长策略与开放寻址探测
7.2位集合、环形缓冲与侵入式链表位运算集合与零分配容器
7.3字符串 intern、资源 GUID 与名字表字符串驻留与句柄化标识
8.1向量代数与 TypedArray 布局向量运算与连续内存布局
8.2矩阵、行/列主序与左/右手坐标系主序、手性与转置陷阱
8.3变换复合与逆变换复合顺序与逆变换求法
9.1欧拉角、万向节死锁与四元数万向节死锁复现与四元数动机
9.2四元数运算与最短弧插值乘法、共轭与 slerp 最短弧
9.3曲线、样条与缓动贝塞尔、Catmull-Rom 与缓动
10.1浮点确定性与跨端一致性浮点不可复现性的来源
10.2定点数:为确定性模拟准备定点表示、运算与确定性
10.3数值稳健:epsilon、饱和与除零比较阈值与除零防护

第四部分:数据导向与 ECS(第 11–13 章)

节文章核心内容
11.1缓存层级与访存代价缓存层级与连续/随机访存实测
11.2SoA / AoS / AoSoA 的真实差异三种布局的速度与内存实测
11.3从 OOP 到批处理的重构方法把面向对象更新循环改造成批处理
12.1从继承到组合到数据三种组织方式与各自代价
12.2组件存储:稀疏集与 archetype两种组件存储方案的实现与取舍
12.3实体生命周期与句柄复用实体创建销毁与句柄安全复用
13.1查询匹配与缓存命中组件集合匹配与查询结果缓存
13.2迭代顺序、变更检测与脏标记稳定迭代顺序与脏标记传播
13.3系统依赖声明与并行调度读写依赖声明与并行分组

第五部分:并发、反射与综合(第 14–18 章)

节文章核心内容
14.1为什么 JS 也需要 Job Systemworker_threads 与主线程之外的计算
14.2线程池、任务队列与 Atomics 同步工作线程池与原子同步原语
14.3work stealing 队列的真实实现双端队列与窃取策略
15.1依赖 DAG 与拓扑执行任务依赖图与拓扑执行
15.2任务图构建与帧内调度每帧构建任务图并调度
15.3与主循环、渲染线程的同步跨线程同步点与帧边界
16.1引擎为什么需要反射编辑器、序列化与脚本绑定的需求
16.2类型注册与属性描述符类型与属性描述符设计
16.3显式注册表 + 代码生成扫描不用装饰器元数据的反射方案
17.1反射驱动的序列化:JSON 与二进制由类型信息驱动的两种格式
17.2引用、句柄与循环的处理引用、句柄与循环引用策略
17.3版本化与迁移schema 版本号与旧存档迁移
18.1内核装配:把前 17 章拼成引擎把全部零件组装成可运行引擎
18.2《微光岛》第一个能走动的方块用拼好的内核跑出确定性 demo
18.3回顾与路线:进入渲染卷本卷小结与卷二衔接

附录

篇目核心内容
附录 A helio 内核 API 与模块速查全书模块、类型与关键 API 一览
附录 B 环境与复现速查Node 版本、依赖与各层代码跑通方法
附录 C 实测数据汇总全书基准的原始数字与测量方法
附录 D 常见错误与 FAQ易错点、报错含义与排查清单

怎么用这份索引

相关阅读

全部文章 Golang Game Saas Rust Python Java 游戏开发 客户端开发 GameDev TypeScript
engine

《游戏引擎实现原理》附录 D 常见错误与 FAQ

《游戏引擎实现原理》卷一附录 D:汇总跟读本卷时最容易踩的坑与高频疑问。覆盖 erasable syntax 的写法替代、句柄失效的排查、内存布局的对齐陷阱、基准数字为何波动、Job System 在 Node 与浏览器的差异、反射为什么不用装饰器元数据,以及「怎么调试」这类实操问题,每条给出原因与解决方向。

12 分钟阅读
游戏引擎 引擎内核 附录
engine

《游戏引擎实现原理》附录 B 环境与复现速查

《游戏引擎实现原理》卷一附录 B:跟读本卷所需的环境准备与代码复现方法。列出实测的 Node / TypeScript / vitest 版本,给出从零搭建 playground 的完整步骤、推荐的 tsconfig 与 package.json 并逐个解释编译选项、各层代码(L1 运行、L2 无头浏览器、L3 类型检查、B 基准)的跑通命令,以及常见环境问题的排查清单与目录结构约定。

6 分钟阅读
游戏引擎 引擎内核 附录