概述
这种程序化内容生成技术为游戏带来了近乎无限的多样性,并帮助小型工作室构建出庞大的游戏世界。
深入探讨
程序化内容生成(PCG)几十年来一直为游戏提供支持,从《Rogue》(1980年)的地牢到《无人深空》(No Man's Sky)中1800京颗行星,皆是如此。经典方法使用柏林噪声(Perlin noise)等噪声函数来生成地形,并结合语法和规则集来创建房间和任务。新一波浪潮是通过机器学习实现的程序化内容生成(PCGML),即模型从现有的关卡中进行学习。相关方法包括:生成可游玩的马里奥风格关卡的生成对抗网络(GANs);通过最大化趣味性或难度来设计关卡的强化学习智能体;以及波函数坍缩(Wave Function Collapse),这是一种通过平铺地图块来确保相邻部分始终匹配的约束求解器。一个核心挑战在于测试关卡是否可通关且平衡,而不仅仅是视觉上合理,因此设计者会将生成器与自动游戏测试机器人结合使用。
现实世界的实施
《无人深空》通过算法和种子按程序生成大约 18 亿个独特的行星。
Minecraft 使用噪声函数和生物群系规则为每个种子构建无尽的、多样化的世界。
洞穴探险和其他 roguelike 游戏每次运行都会从模块化房间模板中组装出新鲜的地下城布局。
设计师使用波函数折叠来自动平铺相干地图,使每块都适合其邻居。
人工智能在游戏关卡生成中的未来
世代正在从离线资产创建转向实时的、玩家自适应的关卡,根据您的游戏方式重新调整难度和布局。大型语言和扩散模型开始根据文本提示生成任务、对话和 3D 资源,让设计师能够描述地下城并获得草稿。预计人工智能提出并由人类策划的“混合主动”工具,加上对可解决性的更强保证,因此生成的内容无需手动修复即可交付。
付诸实践
为什么这很重要
- 构建选择. 应用级设计决定了人工智能是否能改善实际结果。
- 团队与工作流程. 良好的工作流程集成可以创造用户值得信赖的生产力收益。
- 风险与安全. 范围明确的用例可以减少变更疲劳和实施风险。
留意
- 将损坏的流程自动化可能会加剧现有问题。
- 团队可能会过度自动化并消除所需的人工判断。
- 如果不持续评估输出,质量可能会出现偏差。
后续步骤
- 绘制当前工作流程并确定摩擦最大的步骤。
- 在完全自动化之前定义人工检查点。
- 对用户进行提示、升级路径和质量标准方面的培训。
- 跟踪任务级结果以确认持续价值。
不断探索
常见问题
什么是游戏关卡生成中的人工智能?
人工智能可以自动构建游戏关卡、地图和世界,而不是手动放置每堵墙和敌人。这种程序化的内容生成方式为游戏提供了近乎无限的多样性,并帮助小型工作室打造巨大的世界。
“程序内容生成”(PCG) 在游戏中意味着什么?
PCG 使用算法和规则自动生成游戏内容,而不是让设计师手动放置每个元素。
波函数折叠算法如何构建地图?
波函数崩溃将地图视为一个约束难题,选择最低熵的单元格,修复其图块,并传播仍然允许的邻居,类似于数独。
为什么开发者要使用搜索智能体或其他可玩性检查来测试生成的关卡?
搜索智能体可以测试在特定智能体和规则下关卡是否可通关。这只是选定可玩性标准的证据,并不能保证每个玩家都能完成每一个生成的关卡。
哪种经典噪声函数被广泛用于生成自然的地形?
Perlin 噪声和类似的梯度噪声函数可产生平滑、自然的变化,非常适合地形,适用于《我的世界》等游戏。
与旧的基于规则的一代相比,PCGML 增加了哪些内容?
PCG 通过机器学习在示例级别上训练模型,以便生成器可以学习人造内容的风格和结构,而不是仅仅依赖于手写规则。