AI Skill – Arma 3
m (→Modders) |
|||
Line 167: | Line 167: | ||
=== Scenario Designers === | === Scenario Designers === | ||
*A scenario designer has | *A scenario designer has four ways to influence the AI skill. | ||
**By changing the skill slider in [[Eden Editor: Object#Attributes|Eden Editor]] for each individual unit. | **By changing the skill slider in [[Eden Editor: Object#Attributes|Eden Editor]] for each individual unit. | ||
**By using functions like [[BIS_fnc_EXP_camp_setSkill]] or [[BIS_fnc_EXP_camp_dynamicAISkill]] to set the skill of multiple AI entities at once. | **By using functions like [[BIS_fnc_EXP_camp_setSkill]] or [[BIS_fnc_EXP_camp_dynamicAISkill]] to set the skill of multiple AI entities at once. | ||
**By using commands like [[setSkill]]. | **By using commands like [[setSkill]]. | ||
**By using the '''Set Skill''' module which allows to change the skill of AI Entities for example when a trigger was activated. | |||
=== Modders === | === Modders === |
Revision as of 11:13, 23 December 2018
Overview
This page contains all information about Arma 3`s artificial intelligence, short AI.
AI Skill
The AI is characterized by a set of sub-skills. Each sub-skill is influence by one of the following:
- Inherited from the value set via setSkill
_unit setSkill 0.8;
- Skill set in Eden Editor
- Exact value set by the setSkill command
_unit setSkill ["reloadSpeed", 0.8];
- AI skill is also influenced by the global setting in the difficulty menu.
Each sub-skill is then interpolated with the values set in CfgAISkill.
Sub-Skills
Sub-skills are a set of parameters ultimately defining the individual AI unit performance in the game.
Sub-Skill | Effect | Influence |
---|---|---|
aimingAccuracy |
|
|
aimingSpeed |
|
|
commanding |
|
|
courage |
|
|
endurance |
|
|
general |
|
|
reloadSpeed |
|
|
spotDistance |
|
|
spotTime |
|
|
aimingShake |
|
|
CfgAISkill
CfgAISkill is a set of arrays, related to Sub-Skills, defining the interpolation curve of each of the sub-skill. They can be changed by a mod for example.
Example
In {w, x, y, z} value from (w,y) gets interpolated into (x,z)
- spotDistance[] = {0, 0.2, 1, 0.4};
- Value in a range 0-1 will change into value in a range 0.2-0.4.
- setSkill ["spotDistance", 0.5]
- Results in skill "spotDistance" returning 0.3
Notes
More than 2 pairs of defining values can be used (minimum is 2 pairs).
The values are used to interpolate on run-time, so even after setting sub-skill by script command it will be interpolated and bound by this array.
Defaults for Arma 3
Table
Sub-Skill | minInputSkillLimit (w) | resultingSubSkillLowerBoundary (x) | maxInputSkillLimit (y) | resultingSubSkillLowerBoundary (z) |
---|---|---|---|---|
aimingAccuracy | 0 | 0 | 1 | 1 |
aimingShake | 0 | 0 | 1 | 1 |
aimingSpeed | 0 | 0.5 | 1 | 1 |
commanding | 0 | 0 | 1 | 1 |
courage | 0 | 0 | 1 | 1 |
endurance | 0 | 0 | 1 | 1 |
general | 0 | 0 | 1 | 1 |
reloadSpeed | 0 | 0 | 1 | 1 |
spotDistance | 0 | 0 | 1 | 1 |
spotTime | 0 | 0 | 1 | 1 |
Config
aimingAccuracy[] = {0, 0, 1, 1}; aimingShake[] = {0, 0, 1, 1}; aimingSpeed[] = {0, 0.5, 1, 1}; commanding[] = {0, 0, 1, 1}; courage[] = {0, 0, 1, 1}; endurance[] = {0, 0, 1, 1}; Has been disabled in Arma 3 general[] = {0, 0, 1, 1}; reloadSpeed[] = {0, 0, 1, 1}; spotDistance[] = {0, 0, 1, 1}; spotTime[] = {0, 0, 1, 1};
Related Commands
Finding the right AI Skill
Players
- As player one can only influence AI skill by changing the global skill settings Skill and Precision. One has also the option to choose one of the default AI Levels.
- Skill: Influences multiple sub-skills related to the AIs "intelligence". If the value is set too low, the AI will be dumb.
- Precision: Influences sub-skilles related to AIs precision. If the value is set too high, the AI will have a super human precision. Lower values result mostly in interesting fire fights.
Scenario Designers
- A scenario designer has four ways to influence the AI skill.
- By changing the skill slider in Eden Editor for each individual unit.
- By using functions like BIS_fnc_EXP_camp_setSkill or BIS_fnc_EXP_camp_dynamicAISkill to set the skill of multiple AI entities at once.
- By using commands like setSkill.
- By using the Set Skill module which allows to change the skill of AI Entities for example when a trigger was activated.
Modders
- A modder can influence the AI skill by overwriting CfgAISkill.