声明:本文来自于微信公众号 AIGC开放社区,作者:AIGC开放社区,授权站长之家转载发布。
传统的游戏引擎依赖手动编码,通过循环处理用户输入、更新游戏状态来完成游戏的开发,这种方法费时且成本非常高。
谷歌的研究人员基于开源扩散模型Stable Diffusion1.4开发了实时游戏模拟引擎GameNGen,可以在单个TPU上以超过20帧每秒的速度交互式模拟了经典射击游戏《DOOM》。
随后邀请了人类对GameNGen模拟的游戏进行评估,结果显示,人类几乎无法分别出哪个一个是AI模拟的游戏,这是因为GameNGen在模拟游戏时,不只是简单地复制视觉效果,还能维持复杂的内部状态更新。
例如,可以正确地计算玩家的生命值、弹药数量,攻击敌人,破坏物体,打开门等,并且这些状态变化能够持续多帧形成连贯的视觉效果,进一步增强了模拟的真实性。
GameNGen模拟的经典设计游戏《Doom》
虽然GameNGen的功能异常强大,但在架构和训练方面并不复杂,主要由两大部分组成。第一阶段,通过训练一个智能体来模拟人类玩家的各种游戏行为,通过与游戏环境的交互,生成了一系列的动作和观察数据。
这些数据不仅包括玩家的输入,按键和鼠标移动,还包括游戏的输出,屏幕上渲染的像素等。该数据后续会被用来训练生成模型,使其能够学习如何根据玩家的输入和游戏的当前状态来预测游戏的下一帧。
为了使智能体更好地执行多种动作,研究人员还设置了奖励函数,包括玩家被击中(-100分)、玩家死亡(-5000分)、击中敌人(300分)、杀死敌人(1000分)、拾取物品 / 武器(100分)、发现秘密(500分)等。此外,为了鼓励智能体流畅地模拟人类玩法,每个动作会应用4帧,并人为增加重复上一个动作的概率。
第二阶段,在训练生成模型时,研究人员选了开源的扩散模型Stable Diffusion v1.4作为基础模型,并对其进行了调整以适应游戏模拟的复杂需求。通过编码过去的帧和动作来预测下一帧,该过程涉及到将过去的帧编码到潜在空间,并将其与噪声结合来生成新的帧。这种编码和预测的过程是GameNGen能够实时生成高质量游戏画面的技术关键。
为了解决自回归生成过程中可能出现的样本质量快速下降难题,研究人员引入了“噪声增强”技术。这种方法通过在训练时向编码帧中添加不同量的高斯噪声,并在模型输入中包含噪声水平,使得网络能够在推理时校正之前帧中的错误信息。也是保持长时间轨迹稳定性的重要方法,允许模型在生成过程中不断校正和优化其预测,从而保持生成画面的连贯性和质量。
研究人员表示,虽然GameNGen还有一些技术局限,但在游戏关卡设计、游戏测试、实时场景交互等游戏开发领域帮助非常大。例如,在创建游戏场景时,传统方法可能需要开发人员逐一编写每个元素的代码,而 GameNGen 可以根据训练数据自动生成逼真的场景,包括地形、建筑和道具等。
此外,GameNGen 还能够根据玩家的行为和反馈进行实时调整和优化。可以学习玩家的游戏模式和偏好,从而为玩家提供个性化的游戏体验。例如,如果玩家倾向于某种类型的游戏策略,GameNGen 可以相应地调整游戏难度和内容,以增加游戏的趣味性和挑战性。
论文地址:https://arxiv.org/abs/2408.14837