AI行为配置
在铁锈战争中,AI行为配置决定了电脑控制的单位如何行动。本章节将详细介绍如何配置AI行为,包括单位角色、优先级、策略等。
AI基本配置
AI行为配置主要通过[ai]部分来定义:
[ai] AI行为设置
[ai]
useAsBuilder:true
useAsTransport:false
useAsAttacker:true
useAsHarvester:true
disableUse:false
ai_upgradePriority:0.1
buildPriority:0.6
AI行为属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| useAsBuilder | 是否作为建造者使用 | useAsBuilder:true |
| useAsTransport | 是否作为运输单位使用 | useAsTransport:false |
| useAsAttacker | 是否作为攻击单位使用 | useAsAttacker:true |
| useAsHarvester | 是否作为采集单位使用 | useAsHarvester:true |
| disableUse | 是否禁用AI使用该单位 | disableUse:false |
| ai_upgradePriority | AI升级优先级 | ai_upgradePriority:0.1 |
| buildPriority | 建造优先级 | buildPriority:0.6 |
AI优先级设置
AI优先级决定了AI在不同情况下的行为选择:
建造优先级
[ai]
buildPriority:0.6
noneInBaseExtraPriority:0.2
noneGlobalExtraPriority:0.4
recommendedInEachBaseNum:5
优先级属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| buildPriority | 基础建造优先级 | buildPriority:0.6 |
| noneInBaseExtraPriority | 基地内没有时的额外优先级 | noneInBaseExtraPriority:0.2 |
| noneGlobalExtraPriority | 全图没有时的额外优先级 | noneGlobalExtraPriority:0.4 |
| recommendedInEachBaseNum | 推荐在每个基地中的数量 | recommendedInEachBaseNum:5 |
AI标签系统
AI标签用于更精细地控制AI行为:
AI标签设置
[ai]
aiTags:builder,attacker,support
whenUsingAsHarvester_recommendedInEachBase:10
whenUsingAsHarvester_recommendedGlobal:20
AI标签属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| aiTags | AI标签 | aiTags:builder,attacker,support |
| whenUsingAsHarvester_recommendedInEachBase | 作为采集者时每个基地推荐数量 | whenUsingAsHarvester_recommendedInEachBase:10 |
| whenUsingAsHarvester_recommendedGlobal | 作为采集者时全图推荐数量 | whenUsingAsHarvester_recommendedGlobal:20 |
AI行为控制
可以通过各种设置来控制AI的具体行为:
单位限制
[ai]
maxGlobal:10
maxEachBase:1
notPassivelyTargetedByOtherUnits:true
lowPriorityTargetForOtherUnits:true
单位限制属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| maxGlobal | 全图最大数量 | maxGlobal:10 |
| maxEachBase | 每个基地最大数量 | maxEachBase:1 |
| notPassivelyTargetedByOtherUnits | 不被动地被其他单位瞄准 | notPassivelyTargetedByOtherUnits:true |
| lowPriorityTargetForOtherUnits | 低优先级目标 | lowPriorityTargetForOtherUnits:true |
AI升级策略
AI升级策略决定了AI何时以及如何升级单位:
升级设置
[ai]
ai_upgradePriority:0.1
upgradedFrom:基础坦克
升级属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| ai_upgradePriority | 升级优先级 | ai_upgradePriority:0.1 |
| upgradedFrom | 升级自哪个单位 | upgradedFrom:基础坦克 |
完整AI配置示例
建造者单位
[core]
name:工程师
class:CustomUnitMetadata
price:1000
maxHp:800
mass:5000
techLevel:1
buildSpeed:0.002
radius:20
displayRadius:25
[graphics]
image:units/engineer.png
image_wreak:units/engineer_wreak.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:LAND
moveSpeed:1.5
maxTurnSpeed:3
reverseSpeedPercentage:0.5
[ai]
useAsBuilder:true
useAsTransport:false
useAsAttacker:false
useAsHarvester:false
disableUse:false
ai_upgradePriority:0.05
buildPriority:0.8
noneInBaseExtraPriority:0.3
noneGlobalExtraPriority:0.5
recommendedInEachBaseNum:2
maxGlobal:20
maxEachBase:3
[canBuild_1]
name:工厂
pos:0.1
[canBuild_2]
name:矿场
pos:0.2
[canBuild_3]
name:炮塔
pos:0.3
采集单位
[core]
name:采集车
class:CustomUnitMetadata
price:800
maxHp:600
mass:4000
techLevel:1
buildSpeed:0.002
radius:20
displayRadius:25
[graphics]
image:units/harvester.png
image_wreak:units/harvester_wreak.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:LAND
moveSpeed:1.2
maxTurnSpeed:2
reverseSpeedPercentage:0.5
[ai]
useAsBuilder:false
useAsTransport:false
useAsAttacker:false
useAsHarvester:true
disableUse:false
ai_upgradePriority:0.03
buildPriority:0.7
whenUsingAsHarvester_recommendedInEachBase:5
whenUsingAsHarvester_recommendedGlobal:15
whenUsingAsHarvester_includeOtherHarvesterCounts:false
[action_harvest]
text:采集
description:采集资源
buildSpeed:0s
pos:1
战斗单位
[core]
name:突击坦克
class:CustomUnitMetadata
price:1500
maxHp:1500
mass:10000
techLevel:1
buildSpeed:0.003
radius:25
displayRadius:30
fogOfWarSightRange:15
[graphics]
image:units/assault_tank.png
image_wreak:units/assault_tank_wreak.png
image_turret:units/assault_tank_turret.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:LAND
moveSpeed:1.0
maxTurnSpeed:1.5
reverseSpeedPercentage:0.3
[attack]
canAttack:true
canAttackFlyingUnits:false
canAttackLandUnits:true
canAttackUnderwaterUnits:false
[ai]
useAsBuilder:false
useAsTransport:false
useAsAttacker:true
useAsHarvester:false
disableUse:false
ai_upgradePriority:0.1
buildPriority:0.5
noneInBaseExtraPriority:0.1
noneGlobalExtraPriority:0.2
recommendedInEachBaseNum:8
maxGlobal:50
maxEachBase:10
notPassivelyTargetedByOtherUnits:false
lowPriorityTargetForOtherUnits:false
[turret_1]
x:0
y:0
projectile:assault_shell
turnSpeed:1.5
size:15
barrelX:0
barrelY:20
[projectile_1]
directDamage:80
life:60
speed:8
image:projectiles/shell.png
drawType:1
color:#FF0000
注意事项
- 合理设置AI优先级,避免AI行为不符合预期
- 平衡不同单位的AI角色,确保AI能够有效发展
- 测试AI在不同难度下的表现
- 为特殊单位设置适当的AI标签
- 控制单位数量限制,避免AI过度生产某类单位