旧月 发表于 2010-8-25 23:54:16

关于AI里几个策略值的说明和建议值

由于手机,排版不便,见谅。一些是简写。
CAP-CIVILIAN-BUILDERS和EXPLORER都一百,可分配多点人建筑和探路。
TASK-UNGROUPED是控制士兵分散到四处与否
两个ability都是0为好,一个是躲避攻击一个是H&R
智能采集系统是改变工作前放好资源。
再指派采集是指做别的事情前先采集多少资源才改变
敌视回应比例一百,全员去打。
智能攻击系统无法真正躲避TC和城堡,但比没好
同盟共享的两个策略值不清楚,测试中,貌似有效。
零指令的策略值不清楚。
GATHER-DEFEND-UNITS是有时把新出单位放到TC处
BUILD-FREPUENCY好像是建筑中被人家打了就尝试在别的地方建,弄0
TARGE的SINGE那,最大越好(攻城武器专心打建筑,兵打兵)
TARGE的ALLY即使很高,帮助效果也不好。
TARGE的DISTANCE高点,打最近敌人

bingbing 发表于 2010-9-1 13:57:50

据我测试,以下是最优方案:
这些代码是模块化的,可以直接加入到AI脚本文件中,然后删除其他地方对该策略的设置

(defconst infantry-group         906) ;步兵系,包括步兵,枪兵,雄鹰战士,特种步兵
(defconst cavalry-group          912) ;骑兵系,包括骑兵,骆驼,战象,甲胄骑兵等

;前面有近程兵挡着时
(defrule
        (or
          (unit-type-count infantry-group >= 10)
          (or
                (unit-type-count cavalry-group >= 10)
                (military-population >= 20)
          )
        )
        (strategic-number ability-to-maintain-distance != 80)
=>
        (set-difficulty-parameter ability-to-maintain-distance 80)
)

;前面没有近程兵挡着时
(defrule
        (unit-type-count infantry-group < 10)
        (unit-type-count cavalry-group < 10)
        (military-population >= 20)
        (strategic-number ability-to-maintain-distance != 70)
=>
        (set-difficulty-parameter ability-to-maintain-distance 70)
)

说明:
我测试了ability-to-maintain-distance在不同值时的效果,发现70-80比较好,小于70老是退不攻击了,大于85就很少后退

(defrule
    (true)
=>
    (set-strategic-number sn-target-evaluation-distance 10000);优先攻击距离近的单位
    (set-strategic-number sn-target-evaluation-hitpoints 0)
    (set-strategic-number sn-target-evaluation-damage-capability 0)
    (set-strategic-number sn-target-evaluation-kills 0)
    (set-strategic-number sn-target-evaluation-ally-proximity 0)
    (set-strategic-number sn-target-evaluation-rof 0)
    (set-strategic-number sn-target-evaluation-randomness 0)
    (set-strategic-number sn-target-evaluation-attack-attempts 0)
    (set-strategic-number sn-target-evaluation-range -600);优先攻击近程单位
    (set-strategic-number sn-target-evaluation-in-progress 0)
    (disable-self)
)
说明:
设置原则是优先攻击距离近的单位,距离同样近的,优先攻击近程单位
当自己的兵是移动速度慢的,对方是移动速度快的兵时,以上的设置是绝对有必要的。典型的例子是自己的组合是枪兵+掷矛,对方是圣殿骑士+骑射手这样的黄金搭档,理论上自己的兵正好克制对方的兵,却因为对方边打边撤,导致士兵在追赶途中被消灭。以上设置就是为了尽量避免这种情况的发生。

旧月 发表于 2010-9-1 22:50:07

楼上十分认真,方法也不错,但是我偏向于用一百,可以保证最大火力输出,近程偶尔冲上来也会后退。

wztianfeng 发表于 2011-2-19 21:10:27

{9}   新技术~~~
页: [1]
查看完整版本: 关于AI里几个策略值的说明和建议值