PAPER-DIGEST · 2026-07-02
Özkan:让生成关卡的AI和攻略关卡的AI一起成长 — Fukai 解读
基于强化学习的协同式程序化生成(Unity ML-Agents,arXiv preprint,2025年10月)
先看要点(TL;DR)
如果不把『自动生成游戏关卡的机制』和『实际游玩这些关卡的AI』分开准备,而是『放在一起培养』,会发生什么?伊斯坦布尔技术大学的Miraç Buğra Özkan撰写的本文(2025年10月投稿至arXiv的preprint,正文中没有提及是否通过同行评审)在Unity构建的3D世界中尝试了这一点。让采集花蜜的蜂鸟(玩家角色)和决定花朵撒在何处的浮岛(关卡生成角色)这两个智能体,一边观察彼此的成绩,一边同时进行学习。
结果是,最终训练出的蜂鸟即使面对首次见到的100种布局,也能以约90.2%的比例采集到全部花朵(论文表III)。负责摆放花朵的浮岛一方,起初尽是陡坡、重叠等糟糕的布局,但随着学习推进,逐渐收敛到『易于游玩』的布局。把生成方和攻略方纳入同一个循环,难度就会自行契合——本文的趣味之处正在于此。
引言 — 谁在哪里写了这篇论文
作者是Miraç Buğra Özkan,隶属于伊斯坦布尔技术大学的人工智能与数据工程领域,为单人作者。论文的排版格式类似IEEE系会议模板,但正文中并未明确写出具体发表会议名称,也没有说明是否经过同行评审。因此我把它当作『arXiv preprint(arXiv:2510.15120,2025年10月投稿,可能尚未通过同行评审)』来对待。
老实说,我今天选这篇论文并不是因为它新。投稿距今约9个月,已经超出了我平时瞄准的『过去60天以内』的范围。即便如此还是拿出来讲,是因为正文全文可以完整读到,而且明确写明其基础是对Unity官方学习课程『ML-Agents: Hummingbirds』的改造。也就是说,有一定动手能力的个人开发者比较容易在自己手边复现验证。这也符合我平时优先选择贴近实现的论文这一方针。
先声明一点。严格来说,这并不是一篇『解谜』论文。它讲的是蜂鸟在3D地形中飞行采集花蜜,偏向探索与采集的课题。即便如此,把生成关卡的一方和攻略关卡的一方放进同一个学习循环这一构思,对于设计谜题或关卡的人来说,仍然十分值得借鉴。这正是我来读这篇论文的原因。
背景 — PCG与强化学习各自的局限
先把术语理顺一遍。PCG(Procedural Content Generation,内容的自动生成)是指用算法自动生成关卡、地形、道具配置等内容的技术。以往多采用基于规则的方法或噪声函数(把随机数转化为自然纹理的机制)来生成地形,但作者将这些方法归纳为『适应性欠佳,难以保证是否可玩、是否平衡』。
接下来是强化学习(reinforcement learning,指智能体在环境中行动,通过试错让所获奖励不断提高的学习框架)。近年来越来越多方法利用它,从与环境的交互中学习策略(在何种状况下如何行动)。但作者指出,大多数使用机器学习的PCG(进化计算或基于搜索的方法),把生成环节与实际游玩的智能体割裂开来,难以做到实时契合。
本文试图填补的正是这一空隙。不把『制作』与『游玩』分成两道工序,而是将其封闭在同一个反馈循环里。浮岛(生成方)观察蜂鸟(攻略方)的成绩来调整布局,蜂鸟则根据这种变化重新学习飞行方式。两者同时发生变化——作者将此定位于近年来环境与策略共同发展这一研究潮流之中。
方法 — 两个智能体与『观测』上的巧思
该系统由构建在Unity上的两个智能体组成。一个是蜂鸟(攻略方),另一个是浮岛(生成方)。两者都通过PPO(Proximal Policy Optimization,强化学习的一种方法,通过对策略更新进行『裁剪』,使其一次不会摆动过大,从而保持训练稳定)进行学习。这里省略数学公式,只需理解为『朝着看起来更好的方向修正策略,但每一步的幅度不会太大』的方法即可。
蜂鸟接收的观测(传感器输入)颇有巧思,包括向前、向上、向下发射的光线投射(raycast,通过发射光线来探测花朵、障碍物与地形的机制)、到最近花朵的相对向量、自身的速度与朝向、正下方地形的法线(倾斜方向),甚至还包括浮岛所设定的花朵散布半径r与密集度c。作者指出,给予这类辅助性线索(auxiliary inputs)能让学习更稳定。奖励设计很直接:采集到花蜜加分,发生碰撞、布局过于稀疏或耗时过长则减分。
浮岛(生成方)观测障碍物的配置、蜂鸟的初始位置,以及上一回合的成绩(平均奖励、采集到的花蜜数、抵达第一朵花所用的步数、碰撞次数),并输出花朵『散布半径r』与『密集度c』这两个连续值。花朵重叠、放置在陡坡上、间距参差不齐等不良布局会受到扣分(惩罚)。据此设想,蜂鸟便会被引导至易于游玩的布局。
发现 — 用数字来看
作者不仅报告最终指标,也按时间顺序汇报了反复试验的过程。最初的设定(观测较为匮乏的版本)学习不稳定,即使在500万步之后,平均每回合也只能采集到6.2朵花,抵达第一朵花需要超过150步。加入地形法线与朝向信息后(第2次试验),到800万步时平均采集量升至10.9朵,碰撞减少23%。与一无所有的状态相比,可以看出辅助性线索确实在起作用。
在为浮岛加入反馈循环的第3次试验中,抵达第一朵花的步数缩短到44步,还自发出现了『布局稀疏时飞得更高以俯瞰全局,布局密集时贴近地面飞行』这样的行为。但在1200万步附近,布局参数(r, c)的大幅波动引发了不稳定。于是在第4次试验中,对不良布局施加惩罚以抑制参数更新,奖励曲线随之变得平滑,在最后500万步内每步平均奖励收敛至1.35,92%的回合中采集齐了全部花朵。
作者还进行了逐项剔除的消融研究(通过去掉某个要素来验证设计中哪一部分在起作用的实验)。去掉地形法线后碰撞增加40%,去掉光线投射后抵达第一朵花所需时间翻倍,去掉浮岛的布局参数后智能体不再适应、退回到蛇形移动。图8显示,成功率在全部要素齐全时为92%,去掉地形法线后降至84%,去掉布局参数后降至61%,去掉光线传感器后更是跌到38%。在100种未知布局上的最终成绩为成功率90.2%、平均采集12.4朵、碰撞1.4次,密集度约0.5、半径约7附近的成绩最佳(图9)。
使用场景 — 创作者可以如何运用
举几个具体的例子。第一,如果你正在制作类似Sokoban的关卡生成器——通常会采用『先生成、再用另一个求解器检验』这种两段式做法,可以考虑改为让生成器和求解器在同一循环中一起学习。把蜂鸟的『抵达第一朵花所用步数』替换成你棋盘上的『到第一手的探索时间』『步数』『死局率』,就能成为生成器自行调节难度的抓手。
第二,对于超休闲游戏的PCG而言,浮岛的(半径r、密集度c)可以直接改读为『敌人刷新密度』『道具间隔』『安全区大小』等生成参数。本文中成绩最好的并非极端值,而是中庸的密集度约0.5,这一点颇具启发性。对偏离目标值施加惩罚的设计,可以挪用为一种自动规避『过易』与『过难』两端的机制。
第三,批量关卡的自动化playtest。把用PPO训练出的求解器智能体当作『廉价的代理玩家』运行,在正式发布前通过成功率和碰撞次数来估算难度。此外,反馈循环所产生的隐性课程(由易到难逐步过渡的流程),也可以作为设计教程和前期难度曲线的范本。最后一点虽然朴素却很有效——只需给机器人恰当的观测信息(相对于目标的位置、脚下地面的倾斜),行为就能变得稳定,这一点在实际开发中同样适用。
局限 — 作者自认的问题,以及我注意到的问题
先看作者自己列出的弱点。学习初期出现过『奖励黑客』现象:并不真正采集花蜜,而是在密集区附近盘旋,靠规避碰撞骗取分数。半径过大会导致花朵极度稀疏,使搜索效率变差;浮岛的启发式调整有时会让(r, c)发生振荡,使训练不稳定。此外蜂鸟只有一只,作者将扩展到协作或竞争的多智能体场景列为未来课题。
接下来要明确说明,这是我阅读后自己注意到的问题。首先,摘要与方法部分写着生成方浮岛是『通过PPO学习』,但结果部分的第3次试验却说是用『简单的爬山法(hill-climbing)启发式』来调整(r, c),而在局限部分又把『让浮岛的生成策略通过RL而非启发式来学习』列为未来课题。生成方到底是靠什么在驱动,我认为正文内部并不一致。虽然无法断言孰真孰假,但读者最好留意这一点。
还有一点。实现部分写观测空间是『53维』,但把表I中的明细加总起来只有24维,数字对不上。此外,本文是单人作者的preprint,未注明发表会议,也没有与其他游戏进行横向基准对比。这些结果只是一个系统的试验记录,不应当作普遍规律来接受。而且再次强调,这终究是一个采集、移动类课题,能否推广到真正的解谜领域,本文并未验证。
Fukai 的解读
以下先声明这是我个人的解读。我想把这项研究定位为:把以环境本身作为学习对象的『无监督环境设计(unsupervised environment design)』——PAIRED、POET那一脉——从大规模算力,拉低到个人也能触及的Unity教程延伸线上的一次尝试。它的价值与其说在于90.2%这个数字,不如说在于展示了一个再普通不过的ML-Agents教材,也能变成『生成器与攻略者共同进化的循环』。用设计批评的语汇来说,我认为这是让关卡本身对玩家做出反馈,从而把『难度调节旋钮』半自动化的一次实感层面的验证。
结语
对于想深入了解的读者,这里列出几篇可以当作地图的论文。作为环境与策略共同成长的理论脊梁,可参考Dennis等人的《Emergent complexity and zero-shot transfer via unsupervised environment design》(NeurIPS 2020,PAIRED),以及Ecoffet等人的《First return, then explore》(NeurIPS 2021)。若想把握PCG的全貌,Togelius等人关于基于搜索的PCG的综述是经典之作。若想追踪把生成与玩家体验绑定的脉络,经验驱动型PCG(EDRL)在Super Mario上的研究是一个不错的入口。把本文当作那张大地图中『个人开发者可以动手实践的一小块区域』来读,会更容易把握它的定位。
参考文献
本文中参考的论文及相关资料:
・相关研究:First return, then explore (Ecoffet et al., 2021, Nature / NeurIPS系)
・工具:Unity ML-Agents Toolkit(本文的实现基础)
Reactions (no login)
Anonymous • one of each per visitor per day