让人工智能玩游戏、在游戏环境中训练智能体,已经成为了人工智能研发中的常用手段。而这些方式之外,其实还有不少人工智能学家用游戏来实现一些更加天马行空的想法。
比如说,前几天笔者在非常严肃认真刻苦执着的思考人工智能的未来,于是乎我登上了Steam创意工坊,准备找几个新的《上古卷轴5》mod(不管你信不信反正我信了!)……别说,还真让我发现了人工智能的蛛丝马迹。
我注意到了一款由北卡罗来纳大学计算机科学团队研发的游戏mod,其效果在于提升游戏中NPC的智能程度,让NPC也有邻里关系,也会勾心斗角……
提到游戏中NPC的智能,大部分玩家可能首先想到的是战斗智能。比如友方NPC跟玩家的配合、敌方NPC对玩家意图的针对性破解和整体战略布置等等。
对于这些…这款mod一概不管。它提升的是NPC之间(包括NPC与玩家之间)对话、社交和情景反应的能力,比如NPC会相互调情、恭维,甚至辱骂对方(骂急了也不排除直接动手)。
是不是感觉有点像《西部世界》里
机器人的觉醒?在进入人工智能与NPC的讨论之前,我们先要弄明白,传统意义上的“对话型”NPC是如何工作的。
游戏中NPC如何工作
所谓“对话型”NPC,是角色扮演类游戏中一个不可缺少的部分。他们大部分时候都只是跟玩家进行对话,承担着发放任务和推动剧情的作用。
当然,随着开放世界模式的沙盒游戏盛行,NPC也变得越来越复杂。比如玩家可以和某些NPC成为朋友,一起冒险,甚至结婚生孩子;也可以杀掉一些自己不喜欢的NPC,从而改写剧情走向。
虽然看起来越来越聪明,NPC们的工作原理却十数年来都没有改变过。
一般NPC的互动都由两个“开关”来操控。其行为大多由游戏规划器来控制。在行为规划器中,开发者详细规定了NPC面对什么情形做什么反应。比如挨打了要还手、有人给钱要表示感谢等等。
而NPC与玩家的对话,基本由游戏决策树来确定。在沙盒游戏中,决策树虽然复杂,但还是用暴力穷举来构建所有对话的结构对应关系。说白了,无论玩家怎么选择对话,后边都有算好的结果在等着你。
这两种机制构成的共同工作原理,是让NPC的一切行为语言都在数据库里找对应关系。所谓的游戏AI,并不是货真价实的AI。
那么,有没有可能让NPC更加“独立自主”一点呢?
一款名叫CiF-CK的《上古卷轴5》MOD
史诗感极强、自由度超高的《上古卷轴5:天际》很多年来都被称为欧美角色扮演游戏的代表作。这款游戏的一大特征是NPC非常多,有名字能对话的NPC就有3千个以上,而且他们各自有游戏世界中的职业和地位,对应着错综复杂的故事。并且这款游戏的另一个特点,是游戏环境的开源性很好,第三方很容易借助相关工具开发出独立的游戏mod。
二者结合,就有了前文提到的专门提高NPC社会意识的mod。这款名叫CiF-CK的mod是由北卡罗来纳大学和里斯本大学相关研究团队共同打造的,主要目的在于通过人工智能算法来提升游戏NPC之间的互动性,从而给游戏带来更加灵活的玩法和现实代入感。
这款mod可以在steam下载到,在今年的IEEE上,研究团队提交了名为《CiF-CK:一种在商业游戏中构建的NPC社会性模型》的论文,详尽阐释了这个mod是如何进行工作的。
举个简单的例子来解释一下CiF-CK的作用:假如玩家进行两次游戏,分别扮演一个兽人男性和一个精灵女性,在游戏中跟同一位女兽人NPC对话。从逻辑上讲,NPC面对玩家应该是完全不同的态度。但事实上玩家得到的回馈是一样的,而CiF-CK的作用是改变这种体验,让NPC根据自己的社会属性来跟玩家交流。
CiF-CK建立在2012年加州大学圣克鲁兹分校研究者提出的Comme il-Faut (CiF)模型之上。CiF的作用是通过相关机器学习算法和社会学中对社会关系的提炼,来构建智能体之间的社会结构。比如A和B是仇敌,A和C关系要好,那么通过算法推导,B和C也会相互反感(假设没有更狗血剧情出现的情况下)。
而CiF-CK模型则进一步完善和激进了CiF下NPC的社会网络,利用社会行为模型,增加了NPC的适应性和自主性。
具体说来CiF-CK在两个方面达成了突破:
(左为《上古卷轴5》NPC对话机制;右为CiF-CK改写后的NPC对话模型)
其一,CiF-CK不再让每个NPC都知道整个游戏的社会关系,而是仅仅认识自己应该认识的人。比如一个小商贩,可能不会认识另一座遥远城市里的某个法师,但是知道国王是谁、朋友是谁、妻子是谁、隔壁老王是谁……总之,CiF-CK让NPC的社交关系趋近于真实化,每个人只会因为自己的社交网络产生变化而进行相应反馈。
其二,在原有模型中,NPC可以推算出对某人的好恶,但无法推测这种关系下的相应行为。通过AI构建行为模型,CiF-CK下NPC会因为社会关系改变产生进一步的动作。比如嘲讽、辱骂、相爱甚至仇杀。
NPC的社会关系网络能够自行发展,带给玩家的一方面是更真实的交互体验,另一方面也让玩家有更多的对话和行为选项,甚至能够影响游戏里社会网络的细节。
“NPC越真实,玩家就越有快感”,这句话是不是很熟?没错,很像《西部世界》的设定。
《西部世界》要来了?AI+NPC=?
NPC和人工智能模型的结合,可能带来什么影响呢?
游戏领域
应用人工智能,从针对目标上来说可以分为三种:环境AI、竞技AI和角色AI。其中环境AI比如针对玩家数据打造独特的游戏感官,竞技AI比如敌人更有规划性和判断力,角色AI就像我们今天说的给NPC加入社会关系。
在这三者之中,环境AI的利用几率较小;竞技AI被提的最多,但事实上这个领域有个问题,就是过分智能的战斗玩家可能不喜欢——玩游戏又不是找虐的。这个领域虽然可能诞生最受关注的人工智能案例,但真正投入商业的可能性或许有限。
就像《西部世界》所展示的人类本能那样,NPC的智能化可能是AI技术在游戏中最快产生商业价值的一个。
举例来说,NPC+AI很有可能从以下几个方面改写目前角色扮演、沙盒、生存类游戏的基本设定:
1、让开放式沙盒成为可能:今天所谓的开放结局游戏,其实都不是真的开放,而是在若干结局里选择一种触发。通过NPC的自主学习和互动,可能让游戏走向真正的开放结局,甚至设计者自己都没有想过的结局。
2、提升代入感:所谓角色扮演游戏的精髓就在于带入,而与更加真实可信的NPC互动意味着更多互动方式、叙事线索和人物关系成为可能。游戏发展到今天,在画面上提升代入感已经很困难了,通过NPC的拟人程度来达成这个目的说不定会是接下来的发展方向。
3、打破RPG游戏的对话框僵局:玩家与NPC的互动,一直秉承着万古不变的对话框模式。即你从几个对话里选择,NPC给你相应的答复。其实给玩家的选择权很小,人工智能和NPC结合,说不定能让游戏中出现类似Siri的对话模式。
当然,用AI在游戏中构建NPC社会关系模型,其实也有助提升技术本身,反作用于现实世界。总之,给NPC安装AI大脑有太多意义,虽然有点细思恐极,但却是游戏开发者不能忽视的一盘菜。
存在的问题和解决方案
当然,NPC的AI化仅仅是个开始,CiF-CK也仅仅是个开放型试验品。
赋予NPC社会化人格和关系网络还有非常多问题,比如NPC+AI的黑盒子问题,即自主学习的NPC很可能无法操控,不能判断接下来会发生什么,从而让整个游戏出现Bug。
另外,这类人工智能模型应该能耗较高。CiF-CK容量达到1个G,在《上古卷轴5》中处理NPC对话的mod中这属于非常大的。并且加载之后运算量显著提高(友情提醒:CiF-CK跟各种主流mod都不兼容,一定谨慎尝试…不要问我是怎么知道的)。而且真实游戏时会感觉CiF-CK远没有那么神奇,功能还是比较初级的。那么部署这类算法消耗大量运算资源,对于开发者来说可能有点得不偿失。
其实,在游戏中运行AI任务,尤其是把NPC作为单独的智能体执行AI算法,最大的问题就是消耗大量开发成本和运算成本。毕竟游戏开发不是科研,必须要估算性价比。这类功能开发价值不菲,部署后又会让游戏变得卡顿,可能还不如提升一些画面质量来的划算。
综合来看,想要解决这些困境,最有可能的方式是先打开尝试空间,让用户体验到智能NPC的优点。比如在游戏主题外附赠可选的NPC智能包;或者推出特定DLC,让一小部分NPC先智能起来;再或者用一些类型游戏作为试验田,比如《模拟人生》一类不那么消耗配置的游戏。
所以让我们期盼这类技术快速被游戏厂商重视起来吧。
其实吧,在《上古卷轴5》的“天际省”里,更多都是一勇之夫和魔法怪兽,也无法体现NPC的社会关系有多复杂。如果来一款中国宫斗主题游戏,NPC们的日常就是勾心斗角党同伐异抬杠拌嘴辱骂嫌弃翻白眼……加上人工智能绝对给力……相信运行不了多久就能把玩家的CPU炸了。