【新智元导读】一位外国up主,用ChatGPT给AI智能体注入了自我意识。产生「生命」的劳拉觉醒了,开始自己在「古墓丽影」中闯关。
【资料图】
如果游戏角色被注入生命,电子游戏会发展成什么样?
曾经,android这是不少人的畅想,而如今,随着AI智能体的发展,这种想象已经开始走入现实。
最近,一位YouTube作者Foxmaster制作了一个经典游戏「古墓丽影」的原版视频。
而其中的女主角劳拉,居然是一个能控制自己角色的AI智能体!
可以说,利用机器视觉、定位、物体识别、动画、文本和语音等各种AI工具,Foxmaster为游戏角色注入了数字生命。
就在前几天,爆火AI社区的斯坦福智能体小镇正式开源。25个各具个性的AI智能体,在「西部世界」一般的沙盒虚拟城镇中生活、上班、交友。
所以,或许这就是电子游戏的未来?
新智元,赞55
「古墓丽影」女主有了意识
构建可以玩游戏的虚拟AI,这个概念已经很常见。不过,Formaster想做的,是让这个角色如同真人一样。
因此,他选择了「古墓丽影」这款游戏,游戏主角劳拉是一个人物性格鲜明、定义明确的角色。
而Formaste希望,这种个性会对游戏的最终结局产生影响。
如何让这个AI智能体Lara Croft在游戏中真正产生自我意识?
Formaster经过以下几个步骤的探索,终于成功了。
学习游戏规则
首先第一步,叫她学会游戏规则。「古墓丽影」已经给出了教程,解释了所有的游戏控制过程。
作者让Lara按照给出的方式去练习,像人类玩家一样完成各个阶段的教程。
教程在Lara离开泳池时结束,所以可以在那时重启程序,做出改进。
开始时,改进Lara非常困难。
她有时会出现混乱,在地图中随意走动,甚至有时候会卡在菜单栏中,一遍遍盯着她的指南针。
为了解决这个问题, 作者在一台虚拟机上,重新调整了主时钟,将游戏进程加速了40倍。这个办法起作用力,AI智能体终于在相对不错的时间内,完成了教程。
然而,还存在一个问题:Lara经常卡在一个位置,而且每个关卡都是由静态元素组成,因此只有一条优化路径。
这会导致她只知道不走哪些路径,而不是想出更全面的方法来解题。但作者希望的是,Lara学会自己去发掘探险过程。
考虑到Lara唯一掌握的知识,仅仅是每道关卡显示的屏幕上的内容,作者观察了从未玩过游戏的人类玩家的行为。
有的人会看完整个教程,有的人先会探索周围的环境,而这些选择的差异,就是由不同人的「个性」决定的。
而Lara需要学习的,恰恰就是这种态度。
识别角色
为了给AI建立与Lara的联系,就需要让AI明白,她是一堆像素。人类玩家进入游戏后,一下子有了这样的意识。
对此,作者从各个角度,录制了24个小时,Lara朝着不同方向活动的视频,以便AI智能体能够识别任何给定角色。
就像自动驾驶汽车一样,能够以每秒30帧速度拍摄24小时视频,得到2592000张参考图像,以识别道路标志。
首先,作者跟踪头部主要像素,然后是身体主要像素,来选择相关区域。
为了确保Lara出现在每张图像中,作者要求程序去识别那些不包含任何突出显示的图片。
当Lara占据整个屏幕时,或当一个二维物体挡在她面前,作者使用AI视觉捕获来帮助识别Lara,结果非常准确,足以识别屏幕上的角色。
环境互动
能够识别Lara后,需要让AI与环境互动。
整个游戏环境都是由同样的区块组成,作者将其导入到立方体上,然后从各个角度捕获环境,再运行识别过程,这样AI智能体就能识别出环境,就像人类玩家解释图像的过程。
红色突出显示的区域是,未能识别的纹理。但是,AI仍旧缺乏想去某个地方的意识,还需要知道自己距离周围环境的距离。
有趣的是,这些未能识别的区域,通常是远离Lara的位置,或被其他2D物体遮挡的位置。
当我们观察人类玩家的行为,看到这张图像后,我们能够立即明白,箭头所指向区域是一个入口。
我们可能不知道下一个房间的大小,但我们知道这是存在的。
但是,这也可能是一种视觉错觉。当我们去移动,入口区域的纹理与其他地方不同,这是3D空间的特征。
因此,AI智能体还得学会移动,并进行比较。从计算角度来看,可以使用多个图像来确定哪些纹理尺寸的变化最小。
这里可以使用主多边形的面积来算,它们的变化主要基于彼此之间距离成比例的概率。
现在,AI已经知道自己身在何处了,她必须做出决定,自己下一步要去哪里。
通过识别纹理,可以让她到达特定的位置,然而在关卡中导航,需要更简单的东西。
最快的方法,就是简化对比度,识别区域中光线的突然变化。但是,人类玩家不一定会去这些地方。
当有多个开口时,AI必须表现出足够兴趣,但不能导致她死亡。
比如,如果一个洞太深,就无法在不抓住周围壁架的情况下跳下去。假如下面有水存在,倒是有可能值得这种冒险。
人类玩家知道什么时候可以跳,但Lara的行动方针都是来源于教程,它必须准确估计自己和目标之间有多少个方块,是否应该聚集自己的动量,以及在放手之前是否应该暂停一下。
总之,她必须像人类玩家一样,做出准确评估。
如果她提前知道一个洞的大小,就会跑得非常快,这就并不符合我们的期望。
为了让她多收集环境信息,作者鼓励AI,如果有疑惑,就应该旋转相机,收集更多的信息。
但真实情况下,即便如此,AI也可能卡在房间里。
为了鼓励她走出房间,作者补充了一些收集规则。
比如,每次遇到在该区域成为优先级前从未见过的纹理时,她都必须以增加屏幕上这种纹理大小的方式来移动。
这样,她就只能在关卡中前进。因为每个关卡中都有独特的纹理,解锁的唯一方式,就是进入下一个关卡。
总之,Lara会不断分析自己在屏幕上看到的内容——不同表面的纹理,她会移动自己的身体,定义新的兴趣点(即目录中尚未存在的纹理)。
在这个过程中,她会不断验证,去寻找丢失的纹理。
然而,即使经过了上述改进,这个AI还是太像个机器人了,行动模式是显而易见的。
为了改进它,作者再次观察了人类玩家。
是什么决定了人类玩家在游戏中如何行动?就是我们的记忆,我们会记住动作是如何组合的。
因此,这个过程也需要植入到AI中,因为Lara必须意识到她自己的运动能力。
为此,作者把AI每一秒的动作都保存起来,来训练它,然后添加一条规则,允许它同时执行这些保存的动作。
这样,AI的动作就变得平滑多了。
另外,因为每个动作的冷却时间是已知的,就可以防止AI在执行不必要的动作时,仍然处于活动状态。
在下图中,火焰重新激活的速度如此之快,需要完成很大的跳跃才能穿过。
幸运的是,这些通道在视觉上被简化了,很容易识别块的边缘。
AI知道,Lara总是会在方块的第一部分激活时完成正确的跳跃,就像人类玩家理解的一样。
ChatGPT注入人格
接下来,就需要将Lara的个性灌输给AI智能体。个性取决于经验和记忆,这些因素的结合决定了Lara角色。
根据游戏设定,她是一个著名的考古学家,从不畏惧冒险,愿意接受分配的山区任务,甚至不要奖赏,完全出于热爱。
另外,Lara还特别有钱,刚刚搬进一座豪宅,屋内装饰非常优雅,屋子里还有一个训练室。她还特别擅长教学,游泳,攀爬,耐力非常强。
当冒险途中遇到危险,她能够保持镇静,而且非常勇敢,会毫不犹豫帮助同伴。
面对狼群包围,她用枪准确地射杀,还能用匕首杀死凶险的狼。她唯一拒绝的是,主动强行开锁。
以上的一切,都是从游戏设定中,了解到的Lara个性。
接下来,就是以真实的方式去评论她所看到的一切,对此,作者在数据库中已经编译Lara的性格特征。
为了使评论对实际情况有意义,程序需要编程客栈将游戏图像与现实生活中可识别的东西相关联。
对于纹理细节通常较少的图像,可以通过谷歌逆向图像搜索进行匹配。
因此,当AI智能体检测到足够大的纹理,它就会启动搜素。
为了识别单词,作者将整个页面复制到ChatGPT。然后要求ChatGPT根据出现的次数对其进行分类,再将识别出的单词添加到列表中。
最后要求ChatGPT根据这些单词创建一个句子,并且要考虑到Lara个性。
这样做,就是要ChatGPT去真是地评论,Lara在现实生活中看到的东西。
比如,如果纹理被识别为海狮,ChatGPT能够将海狮与Lara个性特征联系起来做出评论。
总得来说,Lara智能体的人格是通过ChatGPT使用「勇敢」、「友好」或「聪明」等各种属性设定。
Lara在游戏中,感知和评论的所有物体都会通过这个人格过滤器,并由Lara根据既定的性格反应出来。
就比如,如上的海豹,Lara会提及海狮化石,或者出色的游泳能力,并不会对其在马戏团发表言论。
网友:AI智能体让电子游戏变成了艺术品
有网友表示,这是让角色自我发展最酷、最自然的感觉方式之一。当角色能够活灵活现,你才可以真正体验到电子游戏是一件艺术品。
「她说话和分析周围环境的方式非常可爱。让AI机器人有能力评论周围环境,无论它的实际水平如何,都会让人觉得她是个活生生的人。」
「这太迷人了。她那超然的好奇心和一丝异想天开的想法,与我想象中的Lara的内心独白惊人地相似。」
有人说,让我感到惊奇的是,她的对话与她的行为相吻合。
这让人觉得,写对话的人工智能和控制角色的人工智能是同一个人。
前不久在斯坦福AI智能体小镇开源时,网友们就十分激动,觉得AGI已来,各种RPG和模拟类游戏都会很快用上这种技术。
而现在,Foxmaster将ChatGPT、计算机视觉和物体识别的结合,让电子游戏变得更有趣了。
或许在未来,电子游戏角色可以被赋编程客栈予更深、更灵活的个性,对环境做出更快的反应,以及许多我们无法想象的变化。