系列导航
第零至第七部分 · 主线 01~30(全景地图 → 引擎地基 → 客户端 → 渲染与表现 → 网络与服务器 → 生产与效能 → 质量与安全 → 运营与前沿)
第八部分 · 进阶专题 31 物理与碰撞 / 32 技能与战斗框架 / 33 游戏 AI / 34 着色器编译与 PSO 卡顿 / 35 网络传输层与弱网对抗 / 36 匹配与排位算法 / 37 相机、输入与手感 / 38 音频技术 / 39 存档与数据演进 / 40 主机平台开发 / 41 UGC 与模组 /42 程序化内容生成← 当前 / 43 动画进阶
导读
程序化内容生成(Procedural Content Generation,PCG)常被想象成"按一下按钮,算法造出整个世界"。实际情况要复杂得多,也朴素得多:
- 《我的世界》的无限世界由种子与噪声生成,但它在 1.18 版本重写地形生成时,必须让新旧区块在边界处平滑衔接,否则老玩家的世界会出现断崖;
- 《无人深空》宣称有约 1800 京颗星球,玩家很快发现"星球多,但看起来差不多"——这正是 PCG 最经典的困境;
- 《地平线:零之曙光》的植被与岩石在运行时由 GPU 按规则散布,美术不再逐棵摆放,而是编辑"规则";
- 《洞穴探险》(Spelunky)的关卡由手工设计的房间模板拼接而成,算法只负责保证"一定有路可走";
- 一款肉鸽游戏上线后,玩家发现某个种子能在第一层拿到通关装备,种子在社区里疯传。