下载 App
敌人AI - Taptap聚光灯开发日记#4
修改于10/204 浏览综合
大家好,我们又见面了。在上一篇日记中,我们聊了聊我们的房间设计思路,以及房间生成器是怎么把一整层办公室生成出来的。有了房间之后,下一个问题就是房间里的敌人应该怎么行动。这一次,我们想聊一聊敌人的AI。
目前公司里的敌人主要分为近战和远程两类,每一类都有一个更快的变种,比如出手更快但血更少的"键盘同事"和"订书机射手"。另外还有两种精英:"公文包主管"和"扛水桶的行政"。所有敌人都知道玩家在房间里的位置,但只有在能看到玩家的时候才会出手,所以隔断墙和工位不仅能挡住玩家的路,也能挡住敌人的攻击。
在远程敌人上,我们遇到的第一个问题是,射手被玩家追近之后会后撤,但后撤的时候完全不出手。这让射手要么在跑,要么站着打,玩家只要一直追着它,它就几乎没有威胁。因此,我们让射手在后撤的途中,只要能看到玩家就照常出手,只是出手时移动速度会降低。玩家仍然追得上它,但追的过程中会挨打,这样追击远程敌人就变成了一个需要权衡的选择。

近战敌人的问题则正好相反。一开始,每一只近战都会直接冲向玩家,结果它们全部挤在玩家的同一侧,互相推挤,后面的敌人根本够不到玩家。为了解决这个问题,我们给近战加了一条新的规则:当同时有3只以上近战在追击时,玩家周围会出现5个方位,每只近战会挑一个离自己最近的空位站过去,站满之后,多出来的敌人会在外圈排队,等内圈有空位时再补上。从结果来看,加了这条规则之后,敌人会从不同方向把玩家围起来,而互相推挤的距离有效的减少了。另外,我们让近战敌人的身体本身也会造成伤害,所以玩家不能随意从敌人中间穿过去。

对于精英敌人,我们希望它们给玩家的感觉是"大招要来了"。精英的前摇更长,并且会先亮黄色、后半段变成橙色,变成橙色之后就不能再被打断了。同时,精英身上有一层可以被打破的护盾,护盾在的时候精英不会被击退,玩家需要连续打中几次才能破防。破防之后的2秒内,精英和普通敌人一样可以被打断。











