|
文/兔四
前文回顾:
《The Last Of Us》的同伴AI(一):非战斗跟随AI
《The Last Of Us》的同伴AI(二):战斗跟随AI
《The Last Of Us》的同伴AI(三):艾丽的战斗AI
第五章 其它同伴AI的细节
让艾丽的动作更加连贯
我们充分打磨了艾丽在Traversal AP上的一些动作。Traversal AP这个概念在前面我有提到,就是那些允许玩家爬上爬下、翻窗户、开门关门的行动。我跟动画组的同事John一起,花了好几周的时间去仔细调整了艾丽在使用Traversal AP过程中的动画,使艾丽在这个过程中变得更加顺滑。
比如说,以前当艾丽从一个箱子上跳下来时,都会有一个很短暂的停顿,然后才继续下一个动作,而现在我们让艾丽可以很连贯的完成从箱子跳下然后立刻接跑动的动作。
艾丽的对话逻辑
我们在游戏里大概给艾丽设计了数千条不同的语句,不同的触发点会触发不同的对话。比如说你开枪把一个感染者杀掉了,艾丽可能会说“天呐!这太恶心了吧!”,比如说你在潜行的过程中已经很靠近敌人了,艾丽可能就会说“敌人就在附近”来提示你,又比如说如果艾丽成功杀死一个敌人,就有可能对乔尔说“我真是太厉害了!还不快谢谢我?”
这些对话实际上会使艾丽这个角色更加生动,并且会加固玩家对于艾丽这个角色的印象,当然你也可以理解成艾丽在刷存在感,同时有些语句的确会在战斗中对玩家有所帮助。
然后艾丽在游戏过程中的语气也是有所变化的,玩家一周目的平均时长如果是16小时左右的话,那么其中就会有12小时是有艾丽陪伴着。并且艾丽在一开始是一个相对胆小的小女孩,但随着游戏进程发展,艾丽在后面会慢慢变得自信,跟乔尔的关系也会越来越好,玩家会明显感觉艾丽在后期会更开心、更信任乔尔。这些微妙的变化就是通过对话内容和语气来展示给玩家。
最后一点是艾丽在语言上的模仿,艾丽有时候会模仿乔尔说过的话。比如说你把一个燃烧瓶丢到敌人那儿把敌人炸开花来,乔尔就会说“holy shit!”,过几秒之后艾丽可能也会跟着说一句“holy shit!”。在我看来,艾丽有时候其实是玩家在这个游戏世界里的化身、是玩家的另一个视角,艾丽所看到的世界也是玩家看到的一部分,使用这种对话逻辑可以加强这种体验。这种体验非常微妙,但的确有点用。
艾丽的呼叫逻辑
接下来要介绍的是艾丽的呼叫逻辑。总的来说就是艾丽会在危险来临之前提醒乔尔,虽然玩家有很多时候都是能够在敌人发现前蹑手蹑脚藏得很好,但总有一些危险很难注意到,呼叫逻辑可以使玩家的体验变得更好。
有些敌人会正好处于玩家的视角盲点,会藏在一些位置相当不错的掩体背后,或者从玩家身后慢慢接近。我们设定艾丽在大部分情况下都能发现这些危险,然后艾丽会用一些方式来告知乔尔。
具体方式就是艾丽身边会有一个明显的轮廓出现来提示玩家。你们肯定会知道《最后生还者》里的UI数量是相当之少,特别是在战斗中时,所以艾丽身上这个突然出现的UI就会起到很好的提示作用。这种做法实际上就是给玩家提供额外的战斗信息,让玩家能够更容易去得知敌人的位置,游戏里的聆听模式也是起到这个作用。当然了,我们会确保呼叫逻辑的准确性,确保当玩家发现艾丽呼叫后,能够快速找到敌人并加入战斗,否则这个逻辑就失去了原先的预期体验。
当呼叫逻辑生效之后,玩家还会有这样的体验:游戏内这些信息都是百分百有效的,玩家不会从艾丽身上获得一些假情报。
进而,乔尔渐渐就会感激艾丽所做的一切,因为艾丽的确是在很多方面帮助了乔尔,这同样能够加固两人之间的关系。比方说当你在掩体后方观察前面敌人时,艾丽忽然大喊说“你后面好像有什么东西!”然后你转过头来,发现一个跑者(感染者的一种,特点是跑得很快)正朝你冲过来,接着你就赶紧起来抵挡住了攻击。多亏了艾丽,否则自己可能就会被偷袭了。这的确是我们想要的体验。
艾丽会与环境互动
除此之外我们还让艾丽去跟环境互动,这部分跟乔尔没啥关系,但能够在一些细节上使艾丽看起来更像真人。比如她平时会整理自己的头发,如果她捡到一把刀的话就会偶尔擦擦刀刃,在一些地方停留时艾丽可能会系一下鞋带之类。我们有一次还让一个同事去录了一段口哨声,然后让艾丽也能在游戏中吹口哨。
艾丽的搜寻AI
当玩家控制乔尔要在一个相对较大的区域内搜索时,比如找出口、找梯子,诸如此类,艾丽不会待在原地想静静,而是会有一些行为来帮助玩家去搜索。
类似下面这张图,我们在场景内都会设定一些坐标,这些坐标上可能有能触发动画的物件,可能有可供玩家收集的道具,也可能是通过关卡的出口等等,艾丽在某些时刻就会跑到这些坐标前做搜寻状,有时还会呼唤玩家过来看。我们的关卡策划们很喜欢这个设定,我们做出来之后他们就马不停蹄地把所有关卡都布上了这些坐标点。
艾丽的视线
还有一个小细节,就是艾丽的视线。很多游戏里都没有设计类似的逻辑,但它其实能提升不少体验。大致上来说就是当乔尔在做某些事情、或者环境发生一些变化时,艾丽会扭头过来看一眼,很简单的一个逻辑。比如说艾丽正在看着某个方向,然后乔尔在另一边打开了一个铁柜准备搜刮东西,艾丽就会回头看一眼乔尔,然后再把头转回去刚刚看的方向。又比如说乔尔跑着步在艾丽身边擦肩而过,艾丽也会把头转过来看下乔尔。
多同伴逻辑
最后一点是多个同伴同时存在时的逻辑,比如在《神秘海域》里也会有山姆和亨利两个人同时跟随主角的情况,《最后生还者》里也会有类似的设定。多人跟随的逻辑其实比较简单,我们会先让一个角色A去跟随玩家,然后让角色B去跟随角色A,以此类推。偶尔如果角色之间互相挡住了的话,比如角色B挡在了角色A要往玩家这边移动的方向,并且没有地方可以绕过来时,我们会暂时性地关掉角色B的阻挡,让角色A穿过角色B。这个过程会很快,玩家一般不太能察觉到。
第六章 总结
最后我们来总结一下。
艾丽的同伴AI我们遵循几个原则。我们会把艾丽看作是一个真正具有生命力的角色,我把艾丽几乎是看作是我第二个女儿,我们团队所做的一切都是基于艾丽是世界里的一个真实角色这一点而定的,在制作过程中我会尽量假装自己就是一个十四岁的女孩,从而来考虑一个这样年纪的女孩应该会如何思考和行动,虽然我永远不能回到十四岁。同时,我们尽量不会让艾丽给玩家带来挫折或者困扰,而且艾丽应该是有用的,对玩家有帮助的。
然后我们在AI的设计过程中有几个重要的点,其中最重要的是让艾丽尽量保持在乔尔身边。就算我们来不及做其它的AI,只要让同伴尽量保持在玩家周围活动,玩家去哪他们就会跟着去哪,这种同伴的体验其实已经就足够了。
第二点是我们调整了很多很多AI的细节,就是上文我们讲到各种各样的AI。我们很难去断定这些细节到底多有用,很难去衡量这个设计到底提升了玩家多少体验,但整个顽皮狗都会这些细节非常非常看重,细节就是搭建起我们游戏的基石。
第三点是长时间间隔的行为。比如我们之前提到战斗支援逻辑,我们后来的设定是大约每3小时才会触发一次这个逻辑,而我们游戏一周目的平均游戏时长仅为16小时,所以触发次数很少很少。但是,如果艾丽在战斗中真的这样做了、并且因此帮助到玩家的话,玩家就会对这一幕印象很深,并且还会跟身边的人说“哇嗷!这个小女孩刚刚救了我!”如果这种行为出现得太频繁,反而就达不到我们想要的效果。
以及第四点,永远防止艾丽去打破玩家的潜行状态。我们制作这款游戏当然是希望尽可能贴近真实,但我们还是会把玩家的游戏体验放在第一位。因为同伴AI的失误而导致玩家预期的游戏行为被打破,这并不是我们想要的体验。这可能是我们团队在这款游戏的设计上做过最艰难的决定之一了。
(演讲的正文到这里就结束了,后面是Max跟观众聊天和Q&A的环节,这边就不继续翻译了,有兴趣的读者可以到GDC的官网上看原演讲的视频。)
感谢大佬的分享!
|
|