系列导航
第零部分 · 开篇 01 全景地图
第一部分 · 引擎地基 02 引擎选型 / 03 游戏循环与任务系统 / 04 数据导向设计、ECS 与内存管理
第二部分 · 客户端 05 客户端框架 / 06 UI、生命周期与平台适配 / 07 资源管理 / 08 代码热更新 / 09 版本与补丁分发
第三部分 · 渲染与表现 10 渲染管线与 Render Graph / 11 GPU Driven、Nanite 与 Lumen / 12 风格化渲染 / 13 大世界与机型分级 / 14 动画技术
第四部分 · 网络与服务器 15 帧同步 / 16 状态同步 / 17 回滚与断线重连 / 18 服务器整体架构 / 19 有状态服务 / 20 开服合服与编排
第五部分 · 生产与效能 21 DCC 管线 / 22 程序化生成与配置表 / 23 版本管理 /24 构建与 CI/CD← 当前
第六部分 · 质量与安全 25 性能体系 / 26 自动化测试 / 27 线上稳定性 / 28 安全与反外挂
第七部分 · 运营与前沿 29 长线运营 / 30 前沿与终章
导读
上一篇解决了"每个版本号都能对应一组确定的输入"。本篇讨论如何把这组输入变成可以运行、可以测试、可以发布的产物,也就是构建与 CI/CD。
互联网服务的一次构建通常是几分钟的编译、打镜像、滚动发布。游戏的一次完整构建要复杂得多:
- 要编译数百万行 C++ 代码,编译数十万个着色