想必大家都把炎龍騎士團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