第一次尝试给GDC做字幕,花了比想象中多很多的时间,体会到烤肉man的辛苦了。
这个GDC分享感觉讲的挺好的,但是网上找不到中文字幕,甚至Youtube都找不到自动翻译的字幕,于是便自己尝试做了字幕发B站了。
https://www.bilibili.com/video/BV11JTMe6EtN
以下是笔记(随便记记我觉得有意思的点)
分享中关于游戏AI的概括很一针见血:AI就是用最简单的逻辑完成复杂的事情。
从设计者的角度来讲,AI的一切都是从两个角度出发的:设计目的、营造真实感。美末作为生产恐怖游戏,由于不涉及到复杂的战斗,游戏的人类敌人AI还是聚焦在营造真实的与人对抗的体验上面。
敌人的感知
敌人察觉玩家方面,分享中提到了三个点:Vision Cone, Vision ray caste ,Perception。
敌人对于掩体下的玩家的感知上,游戏采用了较为真实的处理方法,敌人的眼睛向玩家的头部发射射线,射线如果不被阻挡便视为敌人可以看到玩家。而为了不让这个真实的处理手段影响潜行体验,游戏实际上采用了多个敌人对玩家的vision ray cast 位置,例如玩家处于潜行状态时敌人的实际视线判定在玩家的胸口处而不是玩家头顶。总结就是玩家希望自己不被看到时使用更宽松的视线判定,玩家觉得“我都这样了,敌人再看不到我就不真实了”时使用严苛的视线判定。
而敌人对于玩家的感知总结下来就是尽量不去cheat,敌人会在玩家消失后去搜索玩家最后被看到的位置,不会去作弊获得玩家位置来寻找/故意避开玩家。游戏中唯一cheat的地方便是如果玩家已经离开了敌人认为玩家所在的掩体,敌人便会直接执行掩体搜查任务,而不是常规的缓慢推进直到发现玩家已经远离(否则后者会消耗半分钟以上的时间,前者只需十几秒)
Post Selecter
敌人的寻路逻辑主要由Nav map来进行路径规划,由Exposure Map来获取玩家/敌人视线范围。这两者都是敌人Post Selecter的基础。
Post Selecter的出发点是回答以下这些问题:作为一个AI我该去哪,我该去开放地区还是掩体,我该去哪一个掩体。由前面Navmap给出的路径规划,和Exposure Map分析这条路径可能暴露给玩家的权重,再结合AI当前的状态和期待的任务来计算每一个Post的权重。
值得一提的点:能回答”我不需要去这个Post“比回答“比起那个Post,这个Post更不值得去”更加重要,毕竟玩家绝对不愿意看到敌人傻傻的直接穿过玩家去到玩家随便的掩体,即使这个掩体在算法下的权重确实很高。
Lethality
敌人设计的核心出发点:致命性。
游戏并不想让玩家可以轻易处理敌人,设计的出发点是一个敌人是致命的,两个会更加致命,而更多敌人尽量和两个敌人的体验一致。
为了保证单个敌人的致命性,游戏采用了极其大的受击惩罚:中弹播放全身硬直动画。这使得玩家无法鲁莽的冲刺到敌人身边,即使面对单个敌人也需要采用保守的掩体/道具的途径。进一步给了玩家制作生存道具的动机。
而为了控制多个敌人的难度,游戏使用了Combat coordinator(战斗协调员)
战斗协调员的设计是为了控制难度,保证大部分时候都不会有过多的敌人在攻击玩家(他们尝试过采用简单的攻击冷却的方式解决,但是效果不佳)。不同敌人会被分配到不同的角色,有侧翼狙击手,捷径者,侧翼包抄者等。
其中包抄者的角色应该是美末中最有特色的敌人设计,具体实现上用到了前面提到的暴露地图,选择侧翼包抄者后尝试计算最小暴露程度的侧翼路径接近玩家。
机会主义设计者(翻译的好烂)是一个设计目的很直接的角色,在敌人进入战斗状态时会有一个敌人被赋予这个角色直接向玩家射击。这是因为敌人在被乔尔袭击时会播放闪避的动画,而这段动画时间给了玩家接近并且持续攻击的机会,所以需要有一个敌人压制玩家让玩家无法持续攻击。(虽然Skill决定了Behavior,Behavior播放动画。但是动画是直接作用与游戏过程的,可以反向指导Skill的设计)
Search相关的就不列举了