AI解析
挺多人不懂,简单讲讲。
◈ 关于技能释放
很多人有一个误区,认为“无 使用特殊技能”会直接在原地放技能,但这其实是不对的。
释放技能这个行动,本身其实已经自带了两个判断,分别是:对敌技能不会空放,负面技能不会在家里放(火步这个被动除外)。
什么意思呢?简单来说就是,即使你技能释放条件设置的“无”,毒气技能也不会开局就放,而是要等到遇到敌人时才会激活。而纵火技能同理,它也不会在家里放,要到敌人的船了才放。
然后除了两个判断以外,释放技能还有一个判断是要到目标地方才会使用,我举个栗子:
当船员站在护盾时,若有以下AI:
1. 无 使用特殊能力
2. 无 定位敌方引擎室
最后实现的效果是船员从护盾走到了引擎室,然后才在引擎放技能(假设不是毒气这类要有敌人才放的技能),而不是在护盾放技能了才去引擎。
◈ 关于技能释放的优先级
优先级,再直白点说——也就是什么情况下你的技能会比其他人更先放,而这个释放优先级的顺序一般是:侧身>站桩>传送。
具体描述一下,其实就是:从其他房间走过来的船员最先放技能(侧身),然后是本来就站在这个房间的船员(站桩),最后是传送过来的船员(传送)。
举个栗子:假设现在有三个船员ABC,然后A是侧身,B是站好在房间里,C是传送过来的。
C的优先级最低,传送过来以后会被更高优先级的站桩船员B先释放技能。
假设最后C硬顶着技能干掉了B,站好在了房间里,此时C的优先级就变成站桩的2级。然后,A船员从其他房间走过来了,A是侧身,最优先的,所以C还是会挨技能。
◈ 关于目标地点的定位
目标地点定位有两个原则,分别是就近原则和跟随原则。
就近原则和英语那个不一样哈,这里的意思是,船员会优先挑最近的房间作为目标。
照例举个栗子:
假设房间布局是 引擎1 引擎2 镭射(船员)。
我把船员放在了镭射,然后定位引擎。这里有两个引擎房间,但是距离船员最近的是引擎2,所以这就是他最后会去的地方。
然后跟随原则一般是出现在跳帮的时候的,就是假设有两个船员都有相同目标,那么跳帮的时候,这两会跳在同一个房间。
但是注意啊,房间被摧毁后就会被视为目标已不存在,AI会自动跳过这些目标为被摧毁房间的指令……所以如果你希望两个船员跳同一个房间,那就得让他们传送的间隔尽可能的短,让第二个船员在房间被打爆之前传送过去。
◈ 关于指令运行逻辑以及摇头AI
本游戏是一秒40帧,而ai也是一秒遍历40次指令,然后再基于上文定位到目标地点才能放技能,用于传送室加速的摇头AI就应运而生了。
摇头AI的作用是利用船员的反复定位,实现不占位置的多人同时在一个房间使用技能,然后运行原理则是利用蟒蛇3.0的“目标房间有无船员”,来实现目标的反复切换。我举个栗子:
假设房间站位为 引擎(船员) 传送(有人) 护盾(没人),然后船员AI为:
1. 无 使用特殊能力
2. 目标房间有人 定位我方护盾室
3. 目标房间没人 定位我方传送室
4. 无 定位我方护盾室
目标房间这个AI是要有目标了才能激活的,因此开局的时候不满足条件,以此向下寻找符合条件的AI,最后找到的是第四条。
然后找到第四条以后,有目标了,目标是护盾室。第二、第三条AI开始激活,判断是否有人。
由于护盾室没人,第三条启用,目标改为传送,然后传送又有人,目标又改成护盾;护盾又没人,目标改成传送……以此反复。
这样就实现了两个目标的反复定位,然后船员就会不断摇头的从引擎开始移动,向右边走去,然后由于先进入的传送,摇头时定位到了传送,满足目标地点这个条件,就释放技能了。
如果船员先去的护盾,就会在护盾释放技能,一样的道理。
但注意,笔者还是要强调一下,他的运行原理不是在路过房间释放技能,而是恰好路过了目标房间,这个目标房间才是重点,如果不是目标房间,船员是不会放技能的。
目前就想到要讲这些,剩下的一些类似侧身、跑拆没人房间之类的,属于高级玩法,我自己也就是写了个勉强能用的AI,就不拿出来误导诸位了。
如果真的想知道这些指令要怎么弄的话,最好还是去找龙的人问问。