星球基地AI优先级汇总 全角色指令代码解析

时间:2015-11-02 10:56:49 来源:当游网 作者:当游网 编辑:rawsyww 字体大小:

强盗

接下来就是星际海盗们的世界观了:

星球基地AI5

攻击殖民者(理所当然)、进入室内、在室内闲逛。

没了。

有人可能会说,怎么这么简单?还有,你要去攻击殖民者不就包含进入室内了么,怎么下面还有个进入室内?由于入侵者这个项比较少,我决定展开来解释嵌套关系,来让大家更好的理解这套AI逻辑的运行方法 。

首先让我们进入第一个优先级的函数:去攻击殖民者,让我们去看一下它是怎样被定义的:

星球基地AI6

第一个if的地方判定的是角色的身份,我就不再一一赘述statusflag12代表的内容了。然后这个函数会去寻找离强盗们最近的站着的角色。

让我们再来到findneareststanding函数被定义的地方:

星球基地AI7

这里就很明了了,该函数会枚举所有你的殖民者们,并且如果它们当前状态不是死亡,或者被打倒的状态时,函数会计算一个限制距离内所有殖民者中离你最近的一个,并把结果返回上一级。

让我们回到这里:

星球基地AI8

现在,我们得到了findnearsetstanding函数传回的离你最近并且可用的殖民者了,我们的下一个目标便是要接近她,这个目标则由goTarget实现。

我们来详细看一看gotarget:

星球基地AI9

我们真正输入的参数其实是当前处理的这个强盗和这个强盗将要选定目标的被害人,而这个函数的作用就是使强盗走向被害人,而其中就包含了goToBestAirlock(走向选定的最佳气闸)。至于这个函数是如何定义的就不再解释,太过复杂,也考虑到了其它正在执行的任务对流量造成的影响。

星球基地AI10

至此,强盗开始了自己入侵的过程,补充下前面setradius参数指的是当强盗离目标8个单位时,强盗会开始开火。

而我们看到,如果在findneareststanding(查找最近的目标)函数阶段,所有的目标都在范围之外,那么这个函数将会返回一个空值,下面一阶段的if条件不会被 满足,然后整个大函数会返回一个false的值,这也就代表了在任务优先级列表中,第一个优先级的任务(攻击殖民者)的条件不满足,开始按顺序进行优先级列表中的下一个任务。

所以说了那么多,我想表达的就是,其实在攻击殖民者这个任务里包括了许许多多逻辑AI,其中就包括进入气闸这一项。至于第二个优先级任务安排进入室内的原因是,如果强盗周边在规定范围内没有符合要求的目标,那么强盗就会进入室内。

在此之后,强盗满足了处于室内的状态,优先级顺位中第二位的进入室内的条件返回也会变成false,这时候,强盗会执行第三顺位的任务:在室内随机游荡,直到在下一次判定的时候第一顺位任务的条件被触发,那么强盗就会去攻击那个被选中的倒霉蛋了。

以上就是星球基地中AI代码的解析,被AI折腾过的小伙伴们这回掌握操控他们按你的意图行事的方法了吗?

0

收藏
稿件举报
分享至:

提示:支持键盘“← →”键翻页

生存指南2

游戏类型: 动作冒险
 
游戏语言: 简体中文
国家地区: 欧美
发行时间: 2015-10-29
整理时间: 2015-10-30
游戏标签:

猜你喜欢

生存类单机游戏

生存类单机游戏 (共12款) 更多

生存游戏是今年来才兴起的游戏类型,作为人对于生存是一种本能,所以生存类游戏会人气渐长也是必然的趋势,其中有一些异常经典的作品,如《饥荒》、《模拟人生2:生存游戏》、《求生之路》等等。

恐怖游戏大全

恐怖游戏大全 (共18款) 更多

恐怖单机游戏一直以来在游戏界占据着重要的地位,甚至有一小众特别的玩家,只执着于此类自虐型的游戏而不玩其他任何类型的游戏,不过玩恐怖游戏却也有着意想不到的好处,不仅能刺激神经还能起到缓解压力的作用。

丧尸类游戏

丧尸类游戏 (共51款) 更多

丧尸游戏主要是以僵尸为主题的游戏,这种类型的游戏的画面都比较昏暗恐怖,玩家要利用自己手中的武器将丧尸打败,否则最终连你自己都无法生存下来。玩家可以在丧尸类游戏中体验爆打丧尸的爽快的体验!

同类排行榜