AI Config Reference – Arma 3
CfgBrains Config Reference
As of 2.00 it contains three classes
- DefaultAnimalBrain
- DefaultCivilianBrain
- DefaultSoldierBrain
Each of which contains a Components class. Only DefaultSoldierBrain includes any components by default.
AIBrainAimingErrorComponent
bestDecreaseTime
How long (in seconds) it should take 1 skilled soldier to stabilize the aim completely
bestDecreaseTime = 0.2;
damageCoef
Importance of damage of entity, multiplier
damageCoef = 10;
fatigueCoef
Importance of fatigue of entity, multiplier
fatigueCoef = 10;
lostTargetCoef
Importance of loosing target event, multiplier
lostTargetCoef = 3;
lostTargetTimeMax
How long error is raising after loosing sight of target
lostTargetTimeMax = 3;
lostTargetTimeMin
How soon after loosing sight of target, error starts to raise
lostTargetTimeMax = 0.5;
maxAngularError
Half of the error cone in radians
maxAngularError = 0.1309;
maxAngularErrorTurrets
Half of the error cone in radians, used for turrets
maxAngularErrorTurrets = 0.0872;
movingInfluence
Importance of moving in algorithm, multiplier
movingInfluence = 1;
shootingInfluence
Importance of shooting in algorithm, multiplier
movingInfluence = 0.4;
suppressionCoef
Importance of suppression value, multiplier
suppressionCoef = 0.5;
turningInfluence
Importance of turning in algorithm, multiplier
turningInfluence = 1;
worstDecreaseTime
How long (in seconds) it should take 0 skilled soldier to stabilize the aim completely
worstDecreaseTime = 2;
AIBrainCountermeasuresComponent
useSmokeGrenadeDelay
useSmokeGrenadeDelay = 20;
CMCheckDelay
CMCheckDelay = 0.8;
suppressionThreshold
suppressionThreshold = 0.8;
nonLeaderSmokeProbability
nonLeaderSmokeProbability = 0.1;
CMOnTargettedProbability
CMOnTargettedProbability = 0.1;
suppressionTimerMax
suppressionTimerMax = 2;
minimalThrowDistance
minimalThrowDistance = 900;
minReactionTime
minReactionTime = 0.1;
maxReactionTime
maxReactionTime = 3;
randomReactionTimePercent
randomReactionTimePercent = 0.2;
AIBrainSuppressionComponent
bestDecreaseTime
bestDecreaseTime = 1; // in seconds for 1 skill
causeBulletCloseWeight
causeBulletCloseWeight = 0.5;
causeExplosionWeight
causeExplosionWeight = 0.5;
causeFireWeight
causeFireWeight = 0.5;
causeHitWeight
causeHitWeight = 0.5;
maxSuppression
maxSuppression = 1;
suppressionRange
suppressionRange = 20;
suppressionThreshold
suppressionThreshold = 0.7;
worstDecreaseTime
worstDecreaseTime = 10;
AI Skill
CfgAILevelPresets
This sets the values for the different presets available in Game Settings, by default there are four classes available:
- AILevelHigh
- AILevelMedium
- AILevelLow
- Custom
Each of which feature the following properties
displayName
Text displayed in the dropdown menu
displayName = "Custom"
precisionAI
Coefficient applied to all accuracy skills
precisionAI = 0.5;
skillAI
Coefficient applied to all utility skills
skillAI = 0.5;
CfgAISkill
aimingAccuracy
aimingAccuracy[] = {0,0,1,1};
aimingShake
aimingShake[] = {0,0,1,1};
aimingSpeed
aimingSpeed[] = {0,0.5,1,1};
commanding
commanding[] = {0,0,1,1};
courage
courage[] = {0,0,1,1};
general
general[] = {0,0,1,1};
reloadSpeed
reloadSpeed[] = {0,0,1,1};
spotDistance
spotDistance[] = {0,0,1,1};
spotTime
spotTime[] = {0,0,1,1};
CfgDifficultyPresets
levelAI
Refers to CfgAILevelPresets
levelAI = "AILevelMedium";
CfgWeapons
aiBurstTerminable
- Class
- ModeClass
- Type
- Boolean
- Description
- AI firemode parameter, when true, AI will terminate burst when target is dead or out of sight
aiDispersionCoefX
- Type
- Float
- Description
- Dispersion multiplier for AI units (axis X - left to right).
aiDispersionCoefY
- Type
- Float
- Description
- Dispersion multiplier for AI units (axis Y - top-down).
aiRateOfFire
- Class
- ModeClass
- Type
- Float
- Description
- Delay between shots at given aiRateOfFireDistance.
aiRateOfFireDistance
- Class
- ModeClass
- Type
- Integer
- Description
- At shorter distance delay (aiRateOfFire) goes linearly to zero.
aiRateOfFireDispersion
- Class
- ModeClass
- Type
- Float
- Description
- Property that affects the randomness of delay between shots. Value sets the maximum of the range in which a random number influencing the delay between shots is generated. 0 means the delay between shots will be the same (with given actual distance). The bigger the value the longer delay can be generated.
// randomized delay after shot
timeToShot = aiRateOfFire + aiRateOfFireDispersion * Random<0,1>
min/mid/maxRange...
- Class
- ArmaModeClass
- Type
- Integer
- Description
- Together with range and rangeProbab values, defines probability to use this weapon for AI units at given distance.
minRange
- Type
- Integer
minRangeProbab
- Type
- Float
midRange
- Type
- Integer
midRangeProbab
- Type
- Float
maxRange
- Type
- Integer
maxRangeProbab
- Type
- Float
showToPlayer
- Class
- ModeClass
- Type
- Boolean
- Description
- Some modes defined for AI usage (e.g. burst modes for full auto weapons) can be hidden from player with this parameter.
CfgVehicles
CfgMoves
variantsAI[]
- Type
- Array
- Description
- Found in States when there are several variations on the same animation (usually idles) that can be played randomly.
It lists the animations to be randomly cycled. The numbers represent the probability of that animation being played, the higher the number, the more likely the animation will get to play.
The sum of these numbers is always 1.
//Default
variantsAI[] = {""};
//AidlPercMstpSnonWnonDnon
variantsAI[] = {"AidlPercMstpSnonWnonDnon01", 0.01,
"AidlPercMstpSnonWnonDnon02", 0.01,
"AidlPercMstpSnonWnonDnon03", 0.01,
"AidlPercMstpSnonWnonDnon04", 0.01,
"AidlPercMstpSnonWnonDnon05", 0.01,
"AidlPercMstpSnonWnonDnon06", 0.01,
"AidlPercMstpSnonWnonDnon07", 0.01,
"AidlPercMstpSnonWnonDnon08", 0.01,
"AidlPercMstpSnonWnonDnon_idleSteady04", 0.23,
"AidlPercMstpSnonWnonDnon_idleSteady03", 0.23,
"AidlPercMstpSnonWnonDnon_idleSteady02", 0.23,
"AidlPercMstpSnonWnonDnon_idleSteady01", 0.23};
//ActsPsitMstpSnonWnonDnon_varSittingOnTheWall
variantsAI[] = {"Mi17_Cargo02", 0.4, "Mi17_Cargo02_V1", 0.1, "Mi17_Cargo02_V2", 0.1, "Mi17_Cargo02_V3", 0.1,
"Mi17_Cargo02_V4", 0.1, "Mi17_Cargo02_V5", 0.1, "Mi17_Cargo02_V6", 0.1};
//aidlpercmstpsraswlnrdnon_S
variantsAI[] = {"aidlpercmstpsraswlnrdnon_1", 0.333, "aidlpercmstpsraswlnrdnon_2", 0.333, "aidlpercmstpsraswlnrdnon_3", 0.334};
visibleSize
- Type
- Float
- Description
- Found in States, probably used for calculating how visible a character is for the AI, based on his stance/animation.
visibleSize = 1.00012; //SprintBaseDf when sprinting more visible than..
visibleSize = 0.700121; //AmovPercMstpSrasWrflDnon ..when stopped > visible than..
visibleSize = 0.300122; //AmovPknlMstpSlowWrflDnon ..when kneeling > visible than..
visibleSize = 0.100123; //AmovPpneMstpSrasWrflDnon ..when prone.
CfgSurfaces
AIAvoidStance
Integer: Allows restricting the AI from entering prone with two levels of emphasis
Value | Description |
---|---|
0 | No change in behavior |
1 | Less preference for going prone - avoid prone (unless stealth or suppressed or *) |
2 | Almost never going prone - never prone (unless *) |
* means commanded, injured, animated, forced, ...
grassCover
Float: Reduces visibleSize (taken from CfgMovesBasic) of unit for AI visibility movement computations (cannot make fully invisible) - it is NOT about visual drawing
grassCover = 0; // Used by GdtStratisConcrete, there will be no simulated grass cover at a distance
grassCover = 0.05; // Used by GdtStratisGreenGrass, there will be some simulated grass cover at a distance
CfgCloudlets
blockAIVisibility
Sets if particles are in the AI visibility tests (default true) - false for better performance but AI is able to see through particles
blockAIVisibility = true;