造成这种“要保护的NPC往怪堆里冲”的现象都是因为开发者事先没有做好NPC的行为轨迹,所以NPC会做出各种不符合逻辑的行为。
袁图拿来一台笔记本电脑,这台电脑里有一段事先做好的游戏场景。
“汪总请看,这个NPC会捡起敌人掉落在地上的武器,如果你靠近NPC,还能弹出选项让NPC把手中的武器给你。”
“NPC手无寸铁时,也不会贸然冲进敌人堆送死。”
“这段开车的地方,如果玩家从副驾驶进入,NPC就会自动进入驾驶位开车到任务指定地点,如果玩家进入驾驶位,NPC就会坐到副驾驶。”
“NPC还会和场景互动,比如把一边的沙袋堆起来,做个临时掩体,还能将载具挡在你和敌人之间,为你挡下一些火力!”
“它还会根据你的行为作出反馈,记得你之前做过的事情,能与周围的环境互动,甚至有自己的作息表。“
“它能听见脚步声,发现倒地的队友,你被包围了也会赶过来救急,甚至还懂得战斗的时候绕后,打敌人一个措手不及!”
“同时敌人的战斗逻辑也都有所提升。”
“现在的敌人不同难度下会有不同的表现形式。”
“低难度下敌人只是躲在掩体里朝你开枪,不会移动位置。”
“高难度下,敌人不仅会离开掩体,还会捡起战死队友的枪,向你冲锋时也不再是直线冲锋,而是一种S形走位,甚至会把你丢出去的手雷丢回来。”
“而且高难度下,敌人甚至会和队友进行一些战术上的协作,他们会渐渐靠近你,将你包围!”
“有时还会有尖兵突然摸到你附近给你来个措手不及!”
汪佳看完了袁图的演示,总体感觉没什么特别的:“这些,现在很多游戏都能做到啊。”
袁图笑了笑:“但那些游戏都是经过了大量工作去设计这些人物行为的,那些游戏的NPC行为都是预先预设好的,只会根据脚本进行决策,而我演示的这个,只是市面上普通的射击游戏模板,但这些人物和NPC的行为,都是AI系统自动完成的!”
那这个东西不错啊,不同难度的敌人有不同的表现,队友的行为也更智能了。
大大减少了开发游戏的工作量。
要知道,当游戏开发过程中预算吃紧时,第一个被砍的就是AI的预算!
项目组首先会削弱AI的需求,转而去实现玩法内容。
这种情况下,游戏里的NPC只能执行一些非常简单的行为,比如对着敌人盲射,胡乱从到敌人堆里。
原因之一是AI的提升需要许多投入才能看到成效,但是别的地方比如图像,那真的是砸多少钱立马就能看到效果。
但是现在的游戏体量越来越大,游戏设计师必须要在游戏里加入许多NPC作为玩家的“陪玩”角色。
每加入一个新NPC就可能需要设计许多行为逻辑。
以往游戏里的NPC可能上一秒和你不共戴天,然后你转了一圈,消除了仇恨值之后,那个NPC立马又和你称兄道弟起来。
或者是你当着NPC的面盗窃,但是人家无动于衷。
如果说NPC这些智障行为玩家还有些看傻子的欢乐,那敌人的智障行为就真的是出戏了。
有些敌人贴脸对着主角开枪都是描边大师,有些是经典小聋瞎。
生硬的战斗并不有趣。
队友NPC在战斗中也往往是个划水高手,不但无法给你带来帮助,反而处处拖你后腿。
很多玩家都不喜欢那些和NPC一起战斗的任务,就是因为这些NPC实在是太蠢了,只会给你带来麻烦,影响游戏体验。
汪佳希望的是有个能够一键生成的傻瓜式操作,点点按钮就能让这些NPC“活”起来。
“而且这个系统还会向玩家学习,AI会越来越像真实的玩家!”
袁图继续说道:“还有这段,NPC在念台词时不再是站桩了,NPC会和周围环境互动!这些NPC念台词时还能同时做别的事情,表情管理也很到位,即使没有动作捕捉,NPC也会根据台词语音矫正口型,不会出现音画不同步的情况。”
这个功能也不错啊!
光是想要让NPC做到不会“站桩念台词”需要很多精巧的设置,比如《巫师三》就经常切换镜头,通过转换镜头的方式让玩家把注意力关注在台词上而不是“这个NPC站着不动念台词。”
《赛博朋克2077》里,游戏制作者似乎很喜欢让玩家“坐”。
杰克和你见面是一边坐一边吃面,德肖恩也是坐着和你谈生意,很多场景的NPC也是坐着和你聊的。
2077的这些小细节冲淡了NPC照着剧本念台词的违和感,同时又降低了工作量。
的确,坐着谈话也更符合现实的场景,人们日常生活中也总是坐着聊事情的。
游戏业界光是解决NPC站桩念台词的问题就花了非常大的功夫。
为了让玩家更有代入感,游戏厂商做出了许多难以想象的努力。
这个AI系统的效果汪佳很满意,尽管做到的只是市面上很多游戏都有的内容,但这可是一键自动生成的!方便了不少!
“这个系统现在是开源的吧?”汪佳问道。
“是的,将来所有开发者都可以下载到它的源代码。”袁图答道。
软件界,很多东西都是开源的,很多人都想着做出个软件能获得什么利益,但事实是很多软件项目都是免费开源的。
开源这种行为看起来有种无私奉献的味道,而且开源能吸引更多的人帮助发现BUG,优化程序,他们也一样会给你贡献代码,提高质量。
如今的互联网,主流思维已经逐渐商业甚至自私了起来,程序员之间却还有着开源的传统。
开源也是有着利益可言的。
第一,开源能提升代码质量,同时降低开发成本。
第二,开源能展示公司实力。
第三,开源能结识朋友,扩大影响力,很多软件就是因为开源称霸了全世界,比如某浏览器内核。
第四,许多复杂的项目需要很多人的共同努力,这些参与项目的人也能从中学习到许多事情,增加阅历,然后又会反哺项目本身,这是一种共赢的行为。
第五,开源能保护项目,听起来很扯淡,但这确实是很多公司的做法,开源的项目不会因为公司某个核心人员的离职而消失,它会永远保留在开源社区上。
很多闭源的复杂项目都会因为重要技术人员的离职而消失。
这些利益不是能用钱衡量的。
“这个AI系统叫什么名字?”
“曙光。”
曙光系统的出现一定会成为游戏界的又一个里程碑。
当下的游戏引擎总是在提升游戏画面质量,而在AI方面的提升却不明显。