Google和特拉维夫大学的一些人创建了一个名为 GameNGen 的新游戏引擎,它完全由神经模型(又称人工智能)实时驱动。其要点是,他们训练了一个强化学习代理(RL-agent)来玩《毁灭战士》。这个 RL 代理会一遍又一遍地玩游戏,同时记录并存储每次的游戏过程,学习如何不被射杀、吃掉或以其他方式死亡,同时也学习如何与环境进行简单的互动。
其次是扩散模型--这实际上是一种学习模型,在对数据进行去噪处理以恢复图像昔日的光彩之前,通过许多步骤用噪声破坏原本完美的图像,这使它在预测和创建图像方面非常出色。在这个特殊的案例中,它是一个游戏引擎,能够根据前一帧预测下一帧的游戏内容。
通过观察 RL 代理反复玩DOOM 所获得的数据,它可以生成所有纹理、颜色、模型、皮肤以及DOOM 地图可视化所需的其他一切。
通常情况下,纹理、精灵、模型、着色器、预制件等都保存在本地,并在每个关卡开始时加载。每个关卡还会预载独特的物理交互。
扩散器模型可以预测并绘制下一帧的画面,例如,武器发射时的样子、发射的目标,以及霰弹对击中物体的物理影响。再加上一些用户输入,现在你就拥有了一款AI生成的游戏。游戏是实时生成和交互的,没有预加载或缓存。本例中使用的是DOOM,但任何游戏都可以使用。甚至是还不存在的游戏。理论上,如果给 GameNGen 一些参数,它也可以自己制作游戏。
所有这些都是通过单个张量处理单元(TPU)实现的--TPU 类似于处理图形的 GPU,但专为人工智能设计,用于大容量、低精度的计算处理--能够达到 20 fps。这与现代游戏的 60 fps 基准相去甚远,但正如每项新技术一样,它只会不断进步。1993 年的老式版本最高运行速度为 35 fps。
在单 TPU 设置下,内存成为一个问题,人工智能模型只能"记住"大约三秒钟的游戏时间,然后在用户闯关时"忘记"。 虽然人工智能能够推断出大部分数据,比如你的弹药数量和你是否已经打过地图上的某个特定区域,但由于上下文长度只有三秒钟左右,有时会导致错误。
另一个值得注意的事实是,仅仅依靠 RL 代理进行训练也有其缺陷;与使用 RL 代理试图获得最高分和找到 FPS 游戏中经常隐藏的所有秘密地点不同,训练 RL 代理的目的是从普通人可能的游戏方式中收集数据。在训练过程中,RL 代理可以访问其之前执行的 32 次操作。
根据 GameNGen 发布的白皮书,"我们的代理即使在训练结束后,仍然无法探索所有的游戏地点和交互,从而在这些情况下导致错误的行为"。
一直以来,电子游戏都是由编写了数百万行代码的人来制作的。GameNGen 是第一个依靠神经模型的游戏;恕我直言,它可能会改变游戏规则。
从最初在 DOS 上发布,到由人工智能运行生成......30 多年前,谁能想到这样的事情?生成式人工智能游戏引擎是未来的趋势吗?我们是否只需拥有一个连接到网络的游戏机,然后给它一些提示,就能开始玩完全按照我们的口味定制的独特游戏?