梦幻模拟战2人工智能分析(MD)
通过玩游戏,可以估算出AI的大致算法.一般是用条件限制算法.以下所述并不完全出自游戏,也有我个人认同的AI算法.
全部写出来似乎会很长,暂时不打算写完...差不多就可以了,等真正用得着的时候,再仔细的理顺一下吧.
指挥官AI
决定指挥官的行动方针,比如进攻,区域防守等.使用的AI类型在每战开始的时候预设,而在战斗过程中可以由事件来改变(比如当玩家到达某坐标轴位置,AI全员行动方式由防守改为进攻之类).在游戏中,玩家没有指挥官AI.
攻击(任意目标),追击(指定的目标,拦截者无视or攻击拦截者),移动到指定位置.
佣兵AI
游戏提供有4种候选:进攻,移动,防守,手动
AI参数
由敌我战斗力预测的结果决定是否攻击;
指挥官使用"治疗"指令的条件(游戏中预设为小于等于7,使用治疗指令或回复魔法)
使用各种魔法的判断
其它的判断参数.
许可
凌驾于AI判定之上,比如禁止移动等.AI认为移动的情况下,由于许可的限制,则不能选择"移动".
以上是提纲.
详细的情况如下:
指挥官AI"攻击"的条件判定:
1.寻找最近的敌人,移动.
2.移动范围内有敌人,做战斗力判断
3.移动到战斗力最弱的敌人的旁边准备攻击
4.估算自己的损失,超过n就不进攻.
敌我实力相差悬殊的话,敌指挥官不会自动送死.但是在梦幻模拟战4/5里面就不一样,没有佣兵又不会魔法的指挥官会无视自身损害而攻击敌人(实际上就是攻击玩家)
魔法的判断.魔法一般是使用某个概率判定,另外再对概率进行加成,包括距离判定(距离越近概率越高),伤害效果判定(效果越高概率越高).
注意:陨石的攻击距离很远,但是缺乏佣兵的进一步打击,所以远距离使用陨石是不合算的.这种情况下使用陨石法术的判定概率就会降低.
不同的职业可以使用不同的初始判定概率,一般的,法师职业的判定概率更高.
攻击所能产生的伤害预测也影响施法概率.
伤害效果:伤者数量(越多越好),能造成死亡(较大加成)
法术使用概率公式如下:
施法概率=职业概率+各种加成(包括:距离,伤害预测,剩余mp等).
进一步判断:
敌人魔防对火球之类的魔法产生负加成效果.敌人魔防越高,此类法术的发动几率越低.最低到0(比如一堆天使外加魔防白衣)
回复类魔法,判断条件:
魔法范围内能够回复的指战员人数.该人数越多,使用法术概率越高.
法术的选择:区域回复或部队回复,取决于这两种法术所治疗的单位的数量.
无条件优先使用:状态回复类魔法.不过梦2并没有异常状态回复的魔法,呵呵.也许别的游戏有这样做的,因为状态异常越早回复就能收到越高的效果.
指挥官AI"原地待命",对指挥官来说,大部分情况使用魔法or治疗进行判断.当然也有可能攻击.
由于魔法的存在,指挥官AI判定似乎显得稍微复杂了点...
佣兵AI:
进攻
1.判断移动与指挥的双重范围内是否有敌人
2a.没有敌人的情况,行动顺序按HP的多寡.多的先行动.移动,到指挥范围的边界,方向:离自己指挥官最近的敌人.剩余4人包围指挥官.小于等于4人的情况下,包围指挥官.似乎游戏里的AI是前2人移动到离自己最近的边界?
2b.有敌人的情况,行动顺序仍然是hp多寡,多的先行动
预测与每个敌人的伤害后果.如果敌人对自己损失太大,它就不会成为攻击目标.
预测伤害后果的概念:a打b造成结果:a5b0,伤害后果=b的损失-a的损失=+5
a0b5,伤害后果=b的损失-a的损失=-5
额外的强制参数:
1.佣兵hp小于等于7,绝对不进攻
2.a的损失超过6,绝对不进攻
3.伤害后果小于等于4,绝对不进攻
以上3条依次进行判断.还有别的一些条件,就不补充了.某些情况下以上参数会被改写,比如第二关的伏兵只遵循1,而无视2和3.
AI行动的情况下,hp较少的佣兵是否得到了有效的恢复?
是的.
佣兵不超过4个,则佣兵总是紧贴指挥官,能够恢复.
佣兵超过4个,由于前2个远离指挥官,所以能留出足够的空位使得hp少的佣兵恢复.
其它情况各位自己想像.
实际游戏中所使用的AI举例
序章,左上敌指挥官AI=移动.之后还是移动.指挥官本人是否会放弃最大移动而是改为攻击拦截者呢?
人质AI=跟随
第三关,巫女一开始的行动是跟随,当下方敌指挥官阵亡,行动改为移动.原地待命与移动是等效的.
|