最近搞ai阵型部分,分享点东西,关于descr_formations_ai.txt里面怎么定义阵型的,大神们看了如果发现有误还请指正,毕竟这是看dlv的这个文件的注解部分加个人测试得出的结论,下面以我最新的ai防御阵型为例,应用于战术极难(传说中wot逆风十五杀阵型)
begin_formation ai_triple_missiles_in_front_very_hard ;begin_formation后为阵型名字,将会在config_ai_battle.xml中提到
;;; purpose flags
defend ;应用于防御
attack ;应用于进攻
ai_priority 1.2 ;使用优先度
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; the missile units
begin_block 0 ;main missile ;第0组(本例中的参考中心)
max_units ;用于此位置最大单位数
unit_type missile infantry 1.0 ;单位类型
unit_density close ;阵型,可用loose(松散阵型) or close(紧密阵型)
min_unit_width20 ;每个单位拉开最小宽度
max_unit_width20 ;每个单位拉开最大宽度(我就是用这两行实现ai的枪阵墙防御的,看下面block5)
block_formation line ;ai使用阵型(wedge, square, ...)
block_relative_pos 0 0.0 0.0 ;这个很重要,相对位置,第一个数字是相对第x组(block),第二个数字是水平方向上与第x组中心的距离(在这组左边取负数,右边取正数),第三个数字是前后方向上与第x组中心的距离(在这组前方取正数,后方取负数)
inter_unit_spacing 3.0 ;这个数据未测试过,按已有的解释是block内各兵种之间的距离
priority 1.0 ;使用这个阵型优先度
end_block
begin_block 1 ;forward missile(前置的远程部队)
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 8.0
inter_unit_spacing 3.0
priority 0.9
end_block
begin_block 2 ;left missile(right)多出来的远程,部署于右侧
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 4.0 -1.5
inter_unit_spacing 3.0
priority 0.8
end_block
begin_block 3 ;left missile(left)多出来的远程,部署于左侧
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -4.0 -1.5
inter_unit_spacing 3.0
priority 0.7
end_block
begin_dummy_block 4 ;打包block,把block 0,block 1,block 2,block 3打包成block 4,以便下面的组使用,但楼主为了方便设计,全部以block 0为参考中心
spans 0 1 2 3 ;被打包的block,后面的0 1 2 3表示打包的block 0,block 1,block 2,block 3
end_dummy_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; the infantry units based_on_missile
begin_block 5 ;main infantry defend line枪阵步兵线
max_units 6
unit_type phalanx 1.0
unit_density close
min_unit_width50
max_unit_width80
block_formation line
block_relative_pos 0 0.0 7.0
inter_unit_spacing 1.0
priority 1.0
end_block
begin_block 6 ;second line反冲锋步兵
max_units 10
unit_type heavy infantry 1.0
unit_type spearmen infantry 0.9
unit_type skirmish infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 3.5
inter_unit_spacing 1.0
priority 0.9
end_block
begin_block 7 ;right side右侧护卫
max_units 4
unit_type skirmish infantry 1.0
unit_type spearmen infantry 0.9
unit_type heavy infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 5.0 4.25
inter_unit_spacing 1.0
priority 0.8
end_block
begin_block 8 ;left side左侧护卫
max_units 4
unit_type skirmish infantry 1.0
unit_type spearmen infantry 0.9
unit_type heavy infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -5.0 4.25
inter_unit_spacing 1.0
priority 0.7
end_block
begin_dummy_block 9
spans 5 6 7 8
end_dummy_block
begin_dummy_block 10
spans 4 9
end_dummy_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; missile cavalry弓骑部分,沿用dlv的
begin_block 11
unit_type missile cavalry 1.0
unit_density close
min_unit_width30
max_unit_width30
block_formation line
block_relative_pos 10 100.0 10.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 12
unit_type missile cavalry 1.0
unit_density close
min_unit_width30
max_unit_width30
block_formation line
block_relative_pos 10 -100.0 10.0
inter_unit_spacing 3.0
priority 1.0
end_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; cavalry
begin_block 13 ;left side base左侧反应部队
max_units 1
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -12.5 2.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 14 ;right side base右侧反应部队
max_units 1
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 12.5 2.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 15 ;main cavalry骑兵主预备队,部署于参考中点后面,增援或反冲锋
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 -5.0
inter_unit_spacing 3.0
priority 0.9
end_block
;;;left cavalry 左侧预备队
begin_block 16
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -5.5 4.0
inter_unit_spacing 3.0
priority 0.8
end_block
;;;right cavalry 右侧预备队
begin_block 17
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 5.5 4.0
inter_unit_spacing 3.0
priority 0.8
end_block
;;;left总预备队
begin_block 18
max_units 6
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
block_formation line
block_relative_pos 0 0.0 -3.0
inter_unit_spacing 3.0
priority 0.7
end_block
;;;将领
begin_block 19
max_units 1
unit_type general_unit 1.0
unit_density close
block_formation line
block_relative_pos 0 0.0 -20.0
inter_unit_spacing 1.0
priority 1.0
end_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; put the artillery and handlers behind everyone攻城武器
begin_block 20
unit_type handler 1.0
unit_type siege 1.0
block_formation line
block_relative_pos 19 0.0 -5.0
inter_unit_spacing 1.0
priority 1.0
end_block
main_line 5
end_formation
此外,unit_formation ;ai使用阵型(wedge, square, ...) 可加在unit_density上面一行
default_melee_state(可选使用),可加在unit_formation上面一行,可取值fire_at_will_and_skirmish或defend,很奇怪ss设计了但并未启用这个
not_general ;可加在unit_type这一行上面,用于无将领军队
希望这些对大家的ai部分有帮助,我最后再补一句,其实我是在花式水经验![](http://tb2.bdstatic.com/tb/editor/images/face/i_f25.png?t=20140803)
begin_formation ai_triple_missiles_in_front_very_hard ;begin_formation后为阵型名字,将会在config_ai_battle.xml中提到
;;; purpose flags
defend ;应用于防御
attack ;应用于进攻
ai_priority 1.2 ;使用优先度
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; the missile units
begin_block 0 ;main missile ;第0组(本例中的参考中心)
max_units ;用于此位置最大单位数
unit_type missile infantry 1.0 ;单位类型
unit_density close ;阵型,可用loose(松散阵型) or close(紧密阵型)
min_unit_width20 ;每个单位拉开最小宽度
max_unit_width20 ;每个单位拉开最大宽度(我就是用这两行实现ai的枪阵墙防御的,看下面block5)
block_formation line ;ai使用阵型(wedge, square, ...)
block_relative_pos 0 0.0 0.0 ;这个很重要,相对位置,第一个数字是相对第x组(block),第二个数字是水平方向上与第x组中心的距离(在这组左边取负数,右边取正数),第三个数字是前后方向上与第x组中心的距离(在这组前方取正数,后方取负数)
inter_unit_spacing 3.0 ;这个数据未测试过,按已有的解释是block内各兵种之间的距离
priority 1.0 ;使用这个阵型优先度
end_block
begin_block 1 ;forward missile(前置的远程部队)
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 8.0
inter_unit_spacing 3.0
priority 0.9
end_block
begin_block 2 ;left missile(right)多出来的远程,部署于右侧
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 4.0 -1.5
inter_unit_spacing 3.0
priority 0.8
end_block
begin_block 3 ;left missile(left)多出来的远程,部署于左侧
max_units 4
unit_type missile infantry 1.0
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -4.0 -1.5
inter_unit_spacing 3.0
priority 0.7
end_block
begin_dummy_block 4 ;打包block,把block 0,block 1,block 2,block 3打包成block 4,以便下面的组使用,但楼主为了方便设计,全部以block 0为参考中心
spans 0 1 2 3 ;被打包的block,后面的0 1 2 3表示打包的block 0,block 1,block 2,block 3
end_dummy_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; the infantry units based_on_missile
begin_block 5 ;main infantry defend line枪阵步兵线
max_units 6
unit_type phalanx 1.0
unit_density close
min_unit_width50
max_unit_width80
block_formation line
block_relative_pos 0 0.0 7.0
inter_unit_spacing 1.0
priority 1.0
end_block
begin_block 6 ;second line反冲锋步兵
max_units 10
unit_type heavy infantry 1.0
unit_type spearmen infantry 0.9
unit_type skirmish infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 3.5
inter_unit_spacing 1.0
priority 0.9
end_block
begin_block 7 ;right side右侧护卫
max_units 4
unit_type skirmish infantry 1.0
unit_type spearmen infantry 0.9
unit_type heavy infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 5.0 4.25
inter_unit_spacing 1.0
priority 0.8
end_block
begin_block 8 ;left side左侧护卫
max_units 4
unit_type skirmish infantry 1.0
unit_type spearmen infantry 0.9
unit_type heavy infantry 0.8
unit_type light infantry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -5.0 4.25
inter_unit_spacing 1.0
priority 0.7
end_block
begin_dummy_block 9
spans 5 6 7 8
end_dummy_block
begin_dummy_block 10
spans 4 9
end_dummy_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; missile cavalry弓骑部分,沿用dlv的
begin_block 11
unit_type missile cavalry 1.0
unit_density close
min_unit_width30
max_unit_width30
block_formation line
block_relative_pos 10 100.0 10.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 12
unit_type missile cavalry 1.0
unit_density close
min_unit_width30
max_unit_width30
block_formation line
block_relative_pos 10 -100.0 10.0
inter_unit_spacing 3.0
priority 1.0
end_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; cavalry
begin_block 13 ;left side base左侧反应部队
max_units 1
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -12.5 2.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 14 ;right side base右侧反应部队
max_units 1
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 12.5 2.0
inter_unit_spacing 3.0
priority 1.0
end_block
begin_block 15 ;main cavalry骑兵主预备队,部署于参考中点后面,增援或反冲锋
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 0.0 -5.0
inter_unit_spacing 3.0
priority 0.9
end_block
;;;left cavalry 左侧预备队
begin_block 16
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 -5.5 4.0
inter_unit_spacing 3.0
priority 0.8
end_block
;;;right cavalry 右侧预备队
begin_block 17
max_units 4
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
min_unit_width20
max_unit_width20
block_formation line
block_relative_pos 0 5.5 4.0
inter_unit_spacing 3.0
priority 0.8
end_block
;;;left总预备队
begin_block 18
max_units 6
unit_type heavy cavalry 1.0
unit_type spearmen cavalry 0.9
unit_type skirmish cavalry 0.8
unit_type light cavalry 0.7
unit_density close
block_formation line
block_relative_pos 0 0.0 -3.0
inter_unit_spacing 3.0
priority 0.7
end_block
;;;将领
begin_block 19
max_units 1
unit_type general_unit 1.0
unit_density close
block_formation line
block_relative_pos 0 0.0 -20.0
inter_unit_spacing 1.0
priority 1.0
end_block
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; put the artillery and handlers behind everyone攻城武器
begin_block 20
unit_type handler 1.0
unit_type siege 1.0
block_formation line
block_relative_pos 19 0.0 -5.0
inter_unit_spacing 1.0
priority 1.0
end_block
main_line 5
end_formation
此外,unit_formation ;ai使用阵型(wedge, square, ...) 可加在unit_density上面一行
default_melee_state(可选使用),可加在unit_formation上面一行,可取值fire_at_will_and_skirmish或defend,很奇怪ss设计了但并未启用这个
not_general ;可加在unit_type这一行上面,用于无将领军队
希望这些对大家的ai部分有帮助,我最后再补一句,其实我是在花式水经验
![](http://tb2.bdstatic.com/tb/editor/images/face/i_f25.png?t=20140803)