AI游戏引擎生成《毁灭战士》,为什么震撼了欧美游戏界

想象着类比一下,大概就是AI做出了《仙剑奇侠传》的感觉吧。

上个月,谷歌的AI开发团队DeepMind公布了首个“AI游戏引擎”GameNGen,正如其名字所暗示的,这个“游戏引擎”依靠的是新潮的“神经网络”也就是俗称的AI来生成游戏画面。

而这个AI引擎的第一个成果,就是3D射击游戏的标杆作品:《毁灭战士》(DOOM)。

500

这件事一时间在欧美游戏圈成为了人人在讨论的话题,不论是开发者还是普通玩家,都将这视为AI技术在游戏领域发展的又一标志性事件。

以旁人的视角来看,这种讨论风潮其实更多是基于当地玩家对于《DOOM》的情怀。但事情也并非只是这么简单。

1

谷歌技术团队选择《DOOM》的原因不难猜测,DOOM作为现代3D射击游戏的老大哥,很多设计理念堪称现代3D游戏的教科书,如果能顺利重现《DOOM》中的各种设计和机制,那么意味着AI足以驾驭相对复杂的3D游戏场景。

另一点则是《DOOM》作为老游戏,对于硬件要求很低,以至于有一部分爱好者热衷于用各种带有屏幕的电子设备游玩《DOOM》,对于AI“游戏引擎”来说,运行《DOOM》的难度显然也比动辄4K的现代3D游戏要现实很多。

500

《DOOM》甚至能在计算器上玩

不过,这个“微波炉和计算器都能运行的游戏”对于算力充足的AI来说依旧是个不小的挑战,其主要原因是基于AI的GameNGen采取的是一条截然不同的道路。

于一般的游戏制作来说,游戏的开发人员会预先将关卡的地图制作好,并通过游戏的3D引擎进行渲染,最后将实际的游戏画面呈现在玩家面前。在这个过程中,游戏的3D引擎并不需要做什么“主观创新”,只要老老实实将相对抽象化的关卡数据“翻译”成直观易懂的画面即可。 

500

玩家眼里复杂的地图,在引擎眼里只是各种参数和抽象线条

而GameNGen这个AI模型则正好相反,它要根据现有画面和玩家的输入,通过自己对于《DOOM》的理解,去“即兴创造”出后续的游戏画。从逻辑上,更像是在玩桌面RPG时,DM靠自己的创造力和游戏理解,向玩家们描述场景和接下来遇到的敌人,只不过GameNGen这个“DM”靠的不是用文字和语言叙述,而是通过快速画图,给玩家看一段可以实时交互的动画。

从结果来说,GameNGen的表现着实超出预期。谷歌的团队放出了内部测试时的实机试玩,能看到AI引擎的确理解了复杂的游戏规则,正确地识别玩家做出的移动、开火和交互,射击会消耗子弹,敌人会被正确击杀,甚至在酸液池这种特殊地形上也会有持续扣血的效果。此外,开门和拾取道具等要素也基本都做了出来,很多时候乍一看就是DOOM。

500

更难能可贵的是,GameNGen能实现每秒20帧的刷新频率,虽然20 FPS这个数字在大多数玩家眼里是难以接受的低帧数,但如果考虑到一般的作画AI往往需要数秒甚至半分钟才能做出一张图片,每秒20张图且能根据玩家的实时交互而随时做出改变,已经是非常傲人的成绩了。

不仅如此,GameNGen的团队表示他们还尝试将团队试玩AI版DOOM的部分画面剪辑出来,混在DOOM原版的试玩片段中,让10名人类测试者判断哪一边是AI版DOOM,哪一边是原版DOOM,最终人类识别的正确率是60%左右。即,有40%左右的AI版DOOM画面成功瞒天过海,混到了原版之中。

2

为了让GameNGen做到这种效果,开发团队也的确花了不少心思。

GameNGen的运行方式并不难理解,每一帧的新画面,都是AI通过前4帧的画面进行“预测”而来的,和很多视频生成类AI有着相似的原理。不过为了防止AI天马行空地瞎画一气,需要AI本身对于DOOM有着充分的理解,也就是经常在AI相关话题中提到的“AI训练”,这个过程往往需要巨量的素材来帮助AI构建一个基本概念。

500

左侧的四幅是游戏中刚刚经过的四帧,中间是AI预测的下一帧画面,右侧则是实际的画面

根据谷歌开发团队的文档,GameNGen用了超过9亿帧的DOOM实机画面进行训练,如果换算成人类的话差不多相当于不眠不休看了近一年的DOOM,这也让GameNGen成为了不折不扣的“DOOM云领域大神”。

当然,这么种数量级的数据绝非是真人玩家能慢慢打出来的,为了能让GameNGen获取足够的素材,谷歌团队还给它准备了8个专门玩DOOM的AI,高强度地在那里打DOOM积攒素材。一些网友开玩笑说就像是GameNGen在追8个AI Vtuber的切片录播。

而针对这几个“打机”AI,团队也设计了一套赏罚机制:受击、死亡就会扣分,而击中、击杀敌人则会加分,团队还希望几个AI能像人类一样“舔图”,给了发现秘密地区和长距离移动探索等行为一定的加分。

500

谷歌团队设置的赏罚标准

生成DOOM画面的是很多人都熟悉的Stable Diffusion,这是个可以将文字转化为图片的AI绘图模型,不管是以假乱真的照片还是漂亮的二次元小姐姐都不在话下。但正如前文提到的,这类绘图AI的生成速度并不快,尽管DOOM的分辨率只有320x240,想要达到能玩的标准,还需要进行一些修改。

他们将Stable Diffusion生成图片的步骤从原本的20步缩减成了4步,大幅加快了出图的速度。由于DOOM的画面相对简单,在这种情况下,虽然很多画面的细节被扭曲成了奇怪的色块,却依旧能大致分辨出画面上的元素。

在这个基础上,谷歌的团队进一步精调了解码器,让生成的结果更接近实际的画面。

500

左侧为调整解码前SD生成的图片,中间为调整后,右侧则是实机上的原始效果

从结果来说,GameNGen的确做到了挨打会扣血,开枪能杀怪,敌人也会在屏幕上做出相应的移动、攻击,但从团队放出的更多花絮视频来看,距离AI取代游戏设计师还差了很远。

3

像很多AI模型一样,GameNGen也有着各种各样的抽象绝活。

首先一个问题就是,它的记性不怎么好,从团队给出的数据来看,GameNGen只能记住过去3秒的图像信息,对于单个敌人的瞄准射击来说的确绰绰有余,但对于整个游戏关卡来说就显得力不从心了。

比如在一段录像中,我们看到游玩者打开了一扇门,击杀了位于门后的两个敌人。由于游玩者并没有选择直接进入新房间,反而是转身在原房间中又绕了两圈,等到游玩者再次打开刚才的大门时,门后的敌人“死而复生”,再次发起了攻击。

500

像是剩余备弹这种相对稳定的数据,AI有时候也会莫名“抽风”

实际上,在前文提到只有60%正确率的人类测试中,所有的游戏影像都被控制在了3秒之内,避免了AI穿帮。

另一方面,基于前四帧进行预测生成的画面,也有诸多不稳定之处。当敌人位于远方时,AI一会认定那个小的褐色色块应该是一个持枪的敌人,一会又认为那不过是后方墙体的贴图,导致屏幕上出现的是一个不断变换的褐色烟雾,直到游玩者走近后才“定型”。

500

一些场合下,枪口火光、远处背景和敌人本身的色块混在一起,

让陷入混乱的AI呈现出了不真切的梦幻感

而走到一些过于黑暗、辨识度不高的场景时,GameNGen疑似还出现了“鬼打墙”的现象,有可能是因为记录的过往画面过于相似,无法让AI正确地判断出玩家的位置和方向。

总体而言,比起“在AI引擎上玩DOOM”,GameNGen目前的表现更像是“做了一场在玩DOOM的梦”,虽然看上去煞有其事,但并没有办法像真正的电子游戏一样,有着一以贯之的客观逻辑。

结语

在过去几年,我们见证了人工智能技术的高速发展,就在几年前,AI绘图还是连手指都画不明白的人工智障,如今,AI不仅能画出精美的图片,也可以生成数十秒的视频,弄出绘声绘色的配音。而现在甚至开始能当游戏引擎了。

各行各业的从业者,对于AI的发展也是五味杂陈,一方面它们作为工具的确能提供不少的帮助,提高从业者的生产力。比如在前阵子德国举办的Devcom开发者论坛上,根据部分机构的调研披露,从业者中最常使用AI的岗位恰恰也正是目前反对声最大的美术相关人员;

另一方面,每个人又确实在担心自己的工作会不会有朝一日被AI靠着低成本和高迭代给抢走。在不久前,因担心自己的形象被3D扫描和AI配音替代掉,不少游戏演员们参与了罢工。

谷歌公布的GameNGen,从目前来看还十分稚嫩和原始,不管是谈助力或是威胁都为时尚早,但在技术高速发展的今天,谁又说得好几年后又会是什么样子呢?

全部专栏