FFT之AI研究--Part I

2003-10-22 19:38 | psi2001

由于FFT是一个战略游戏,所以电脑的AI对于整个游戏的游戏性有着致关重要的作用,总体来说FFT的AI还是挺高的。本文就试图找出电脑AI的设定来找出敌人的行动规律,从而达到预测和控制敌人行动的目的。经过实践,总算初步摸清了电脑的AI设定,即敌人的行动规律。请注意:以下叙述的所有情况只是宏观来说,由于电脑有随机数,所以任何的规律只能保证大部分情况正确。最常见的例子就是濒死的陆行鸟也会不管死活来打我方人员。


FFT中的人物一共可以分为玩家控制人物,NPC,敌方人物,本文研究的是敌方人物的AI。一般情况下,敌人的AI设定是自动战斗的第四项Save fading life-消えゆく生命を救え,在濒死时会自动变成第五项Run like a rabbit-脱兎のごとく逃げよ。在这种情况(Run like a rabbit-脱兎のごとく逃げよ)下,敌人一般只会往角落里躲,不做任何攻击性动作,直到死亡或者被治疗,AI比较简单,所以不再作分析,接下去就要详细讲解一下在Save fading life-消えゆく生命を救え状态下的AI。


先看如下示意图(左方数字表示优先权,数字越小,优先权越大):



说明:


以上是电脑行动AI的第一部分,包括了无时间差技能以及必定能发动的吟唱技能(指发动技能前对象不会行动)。如果电脑没有在上述行动中找到任何可行的一条,将会进入第二部分:重复所有步骤。区别是技能为吟唱技能,且在发动技能前,对象会行动。如果再没有任何行动可能,电脑将会向我方人员靠近。

吟唱技能指行动后需要一定时间发动的技能,如弓箭手的蓄力,魔法,跳跃等。

除了上图列出的行动外,还有些其它可能,如低命中率的毒,暗黑等异常状态,非常低命中率(<10%)的普通攻击,伤害很小的攻击等,敌人一般是不会有这些行动的,所以不必考虑这些因素。

有一点需要注意:敌人对中了混乱,迷惑,吸血,死之宣告的队员是无视的。


另外,优先权为7的这栏尤其复杂,下文注释中将会叙述。


注释:


注1:死亡系异常状态指:即死、死之宣告、吸血、石化。


注2:强异常状态指:青蛙、无法行动、无法移动、停止、睡眠。


注3:包括混乱、迷惑、死亡系异常状态以及强异常状态。


注4:弱异常状态指:毒、沉默、无知(Faith下降到0)、缓慢、僵尸。


所列状态并不包括所有状态,其它状态敌人使用概率很小,所以可不必考虑。


注5:当对象有一定损血量时才会治疗,损血量一般要求20%以上,当损血量多导致接近濒死时,这条有可能大大优先,因为对于有加血能力的单位而言,攻击力较弱,伤害很小。


注6:包括防御,Regen等魔法技能。


注7:这一项是内容最多的一项,简单点说是体现职业特有技能的一项,包括偷盗,战技等技能在内的所有行动,并且一般和普通攻击不分先后次序,属于随机使用(普通攻击不能致命的情况下)。对于攻击力较强的职业如骑士,盗贼,拳术师等,并且其特技命中率和普通攻击差不多的情况下,随机决定行动。对于攻击力弱的职业,特技优先。另外,注意大部分附带异常状态攻击(除少数Boss技能)如风水术的的异常状态是不被考虑在AI范围内的,因为附加的命中率很低。

在2种技能都能命中的情况下,电脑肯定选攻击力高的那种。范围攻击情况不是很确定,比较随机,但是主要是看目标对象,而不是整个范围中的对象。

这项虽然看似复杂,但是由于实际情况,一个敌方人物的技能数量很少,所以十分容易判断敌人的行动。