想必大家都把炎龙骑士团2破到不想破了吧。
那么如果让玩家来控制电脑,那要怎样才能打索尔那群怪物,或至少制造最大
麻烦呢?
这篇文章是想借由以原来敌方的立场来赢得游戏,看看到底要怎样来设计一个
AI。所以会避免使用一些我觉得很难做到的玩法,如利用地形或是用队友卡位。
希望能板友能提供一些意见谢谢。
名词
我方:盗贼
敌方:索尔及他的伙伴
第一关
分析
初始状态
我方7人皆 ap 24 dp 4 hp 28
我方可造成伤害 敌方照成伤害
敌方 索尔 ap 16 dp 12 hp 42 12 12
悠妮 ap dp 7 hp 28 17 28
亚雷斯 ap 26 dp 6 hp 48 18 22
盖亚 ap 22 dp 14 hp 50 10 18
假设我方敌方攻击次数相同下并忽略悠妮的伤害,要把敌方杀死要耗204的血
约大于我方的总血量196
(42/12)*12+(48/18)*22+(50/10)*18=204>7*28=196
但将亚雷斯的间隔攻击和悠妮的魔法考虑进去我方是较弱的。
第三回时哈诺和哈瓦那出现
哈瓦那 ap 50 dp 17 hp 54 7 28
哈诺 ap 27 dp 6 hp 36 18 23
第四回我方4人在右下角出现
此时不算哈瓦那和悠妮
204+(36/18)*23=250<11*28=308
算哈瓦那
250+(54/ 7)*28=474>>308 (这里可以看出老哈的战力大概约略等于其他人总和XD)
第五回我方4盗贼1头目出现
不算头目悠妮
474>15*28=420
头目 ap 34 dp 11 hp72
把头目悠妮算进去我方顶多打平
之后海巡出现敌方大胜
敌方防御力排序
亚雷斯=哈诺<悠妮<索尔<盖亚<哈瓦那
能承受盗贼攻击次数
悠妮(2)=哈诺(2)<亚雷斯(3)<索尔(4)<盖亚(5)<哈瓦那(8)
想法
1.如果想要全灭敌方必须在头目出来前我方不死,头目一出来后全军一起攻击才有机会赢
,但是这个策略有两个要考虑的地方,我方初始左下角距离敌方群太近,敌方移动很容
易挡住这群兵的逃路;另外第四回合我方要的四只兵必须不受海巡的干扰去攻击敌方。
2.我方攻击应攻击能在最少次攻击内消灭的敌方,而不是防御力较低的。
3.若不以消灭敌方为目标,可以尽量攻击能造成我方最多伤害的非正式索尔团队的敌方
如海巡或哈瓦那来减少敌方所得到的经验。
整关的策略
第一至第四回合我方往敌方移动并保持与敌方间隔五格距离,若亚雷斯攻击我方,则全
部前去攻击,并将战斗目标改为让敌方获得最少经验值。第五回合后出现后我方的若未
失去任何一只士兵则等到全军一起到距离五格范围边,在一起攻击。若聚集过程中受到
攻击改为让敌方获得最少经验值。
心得
1.需要一个能判断敌方密度及团队形状的算法(类似convex hull的算法)来让我方AI能
作出判断是否攻击的算法,判断敌方密度让我方能攻击落单的敌人,判断形状则能让我
方作出更精确移动的决定
2.若要一条一条rule设计很麻烦,难怪会有需发明maching learnning :p