皇宏郡国全览 发表于 2010-10-27 10:06:24

AI的攻防策略需要哪些设定?

以下设定能否实现,该怎样写AI?

先说进攻:1、城堡、箭塔、炮塔为优先攻击的建筑。2、如果所发现这类建筑附近的敌军很少,则不顾敌军的攻击全力进攻这类建筑。3、攻击敌人基地的时候攻城车和投石机要全部参战。4、在有投石机的情况下只用投石机攻击敌人的建筑,当然,遇到敌人投石机攻击的时候要和敌人对砸。

再说防御:我设定过允许士兵巡逻的策略值,结果巡逻士兵太多、分布太分散,这样遇到进攻显然会被各个击破。关闭巡逻之后当然不会出现这个问题,大部分军队都呆在生产自己的建筑旁边。但是这样一来似乎也有问题。我用蒙古测试过,我的投石机已经在攻击这个城堡了,可是城堡旁边的蒙古骑兵却岿然不动。所以能否设定较小比例的士兵去四周巡逻而大部分士兵呆在原地呢?

bingbing 发表于 2010-10-28 13:16:50

我提供一下我知道资料

先说进攻
进攻有两种,普通进攻和TSA
普通进攻实现方式又有两种
1 (set-strategic-number sn-percent-attack-soldiers 100);设的值比最大军队大就行
    (attack-now)
结果发现attack-now一次只出一两队兵,最多二十几号人,所以要一直不停的attack-now
2   (set-strategic-number sn-number-attack-groups                100)
    (set-strategic-number sn-minimum-attack-group-size         x) ;x的值在1到你当前最大军队数之间,一般设为1-30之间的数值
    (set-strategic-number sn-maximum-attack-group-size         x)
发现x大于1时效果不好,部队进攻时老是要保持方队,走走停停,进攻很慢
x设为1时,每个单位自成一队,互不等待,全军出动,进攻速度快;缺点也在不等人上,你的冲车投石机开到前线时,先到的骑兵已经跟敌人交战,损失不少了

另外我还试过把1和2组合起来,先来个集群进攻,等待几十秒再把上面的两个attack-group-size都设为1,进行增援,设想得挺好,测试发现效果还是不好,先头的集群部队走得太慢,跟敌人的距离每局都不一样,无法算准,导致后续增援有时跑到前面去,有时又迟迟跟不上
这个设置你可以参考KOSMOS,它的进攻随着时间推移两个attack-group-size是递减的

最好的攻击方式还是TSA,但还是达不到楼主所期望的智能程度,很多判断都实现不了

再说防御。
设置允许士兵巡逻的策略值确实可以防止“大部分军队都呆在生产自己的建筑旁边”,至于"巡逻士兵太多、分布太分散"可以采用一个定时器,间歇地开启/关闭巡逻即可;这个你可以参考the horde
其实“大部分军队都呆在生产自己的建筑旁边”的问题并不是很严重,“兵多的把地方都挤满了”的情况是很罕见的,所以大多数人工智能都没有对这方面的处理。

至于挨打不还手的问题,可以调高sn-enemy-sighted-response-distance,一般到30就可以了

皇宏郡国全览 发表于 2010-10-28 16:15:08

123

首先,謝謝樓上提供的資料。我寫了一個一分鐘后關閉巡邏,一分鐘後再開啟,如此循環的語句,不知道對不對?

;巡邏設置
;計時器一60秒
(defrule
(true)
=>
(enable-timer 1 60)
)
;計時器二120秒
(defrule
(true)
=>
(enable-timer 2 120)
)
;60秒後關閉士兵巡邏並且每隔120秒關閉一次
(defrule
(timer-triggered 1)
=>
(disable-timer 1)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(enable-timer 1 120)
)
;120秒後開啟士兵巡邏並且每隔120秒開啟一次
(defrule
(timer-triggered 2)
=>
(disable-timer 2)
(set-strategic-number sn-task-ungrouped-soldiers 1)
(enable-timer 2 120)
)

老胡V1 发表于 2010-10-28 23:06:36

话说设置部队数量和大小和进攻比例我都是和ATTACK一起用,但还是推荐TSA,不容易卡住。
个人认为巡逻作用不大可以关闭
兵多没位置站和防御问题都是TS不恰当,一般TS应该刚好让建筑紧凑点,这一点可以放心参考他人的程序。
最后那个问题涉及敌视回应比例和距离

皇宏郡国全览 发表于 2010-10-29 08:39:26

TO樓上

1、巡邏的話我確實準備關閉了。2、敵視回應比例我設定為100,已經是最大了。敵視回應距離我設定為48。 但是當我全軍進攻電腦的時候,電腦還是有大量部隊沒有應戰,僅僅是當前城堡、兵營的士兵出戰。被我消滅之後,當前城堡、兵營繼續出兵作戰。看來是我的敵視回應距離設定得還不夠大?最大值是144,那我應該設為最大嗎?還是設為72妥當?

bingbing 发表于 2010-10-29 10:51:01

sn-enemy-sighted-response-distance的值设为100已经很大了,是不是其他方面设置有问题
例如sn-number-defend-groups,sn-minimum-defend-group-size,sn-maximum-defend-group-size,你调调看看
帝国2的这些开关很多,我也没全搞明白

老胡V1 发表于 2010-10-29 12:42:59

同意楼上的…另外敌视回应距离不要那么大,其实我认为三十几都算太多了…几个关于防御策略值看看吧…

[ 本帖最后由 老胡V1 于 2010-10-29 12:46 编辑 ]

皇宏郡国全览 发表于 2010-10-29 13:00:05

原帖由 bingbing 于 2010-10-29 10:51 发表 https://www.hawkaoe.net/bbs/images/common/back.gif
sn-enemy-sighted-response-distance的值设为100已经很大了,是不是其他方面设置有问题,例如sn-number-defend-groups,sn-minimum-defend-group-size,sn-maximum-defend-group-size,你调调看看
帝国2的这些开关很多 ...
回應距離我設置的是48而不是100,我說的100指的是回應比率。⊙﹏⊙b汗。至於這些防禦部隊的策略,我沒有設定過,所以肯定是默認設置了。

皇宏郡国全览 发表于 2010-10-29 13:06:52

原帖由 老胡V1 于 2010-10-29 12:42 发表 https://www.hawkaoe.net/bbs/images/common/back.gif
同意楼上的…另外敌视回应距离不要那么大,其实我认为三十几都算太多了…几个关于防御策略值看看吧…
剛剛查了下,防禦部隊默認數量是零,我沒有設定,那顯然就是零了。有哪幾個防禦策略需要設定,該如何設定,可否賜教?

皇宏郡国全览 发表于 2010-10-29 13:50:41

123

sn-number-defend-groups 80
sn-minimum-defend-group-size 40
sn-maximum-defend-group-size 80

我這樣寫不知道是否合理?目的是要達到:總共組織80個士兵進行防禦,只要滿40個就進行防禦行動。

老胡V1 发表于 2010-10-29 19:08:40

其实这些不妨借鉴他人的
页: [1]
查看完整版本: AI的攻防策略需要哪些设定?