AI Skill – Arma 3
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Some wiki formatting) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Feature|informative|Some information on this page were not confirmed by | {{Feature|informative|Some information on this page were not confirmed by {{Name|bi}}!}} | ||
[[File:AI_skill_and_level.png|thumb|AI skill/level/final skill]] | [[File:AI_skill_and_level.png|thumb|AI skill/level/final skill]] | ||
Line 6: | Line 6: | ||
== AI Skill == | == AI Skill == | ||
The AI is characterized by a set of | The AI is characterized by a set of {{Link|#Sub-Skills|sub-skills}}. | ||
The [[skillFinal|final AI skill]] is unfluenced by | The [[skillFinal|final AI skill]] is unfluenced by {{Link|#Changing AI Skill|several factors}}. | ||
Additionally each sub-skill is then interpolated with the values set in CfgAISkill. | Additionally each sub-skill is then interpolated with the values set in CfgAISkill. | ||
Line 23: | Line 23: | ||
=== Scenario Designers === | === Scenario Designers === | ||
[[File:A3_AISkill_EdenEditor.jpg|thumb|Skill setting in [[Eden Editor]]]] | [[File:A3_AISkill_EdenEditor.jpg|thumb|Skill setting in [[:Category:Eden Editor|Eden Editor]]]] | ||
* A scenario designer has four ways to influence the AI skill: | * 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. | ||
Line 32: | Line 32: | ||
=== Modders === | === Modders === | ||
* A modder can influence the AI skill by overwriting | * A modder can influence the AI skill by overwriting {{Link|#CfgAISkill}}. | ||
=== Server Admins === | === Server Admins === | ||
* Server admins can change the AI skill by changing the '''aiLevelPreset''' config parameter found in server config. See [[server.armaprofile#Arma_3| | * Server admins can change the AI skill by changing the '''aiLevelPreset''' config parameter found in server config. See [[server.armaprofile#Arma_3|{{arma3}} Server Profile]] for more information. | ||
Line 122: | Line 122: | ||
== CfgAISkill == | == CfgAISkill == | ||
CfgAISkill is a set of arrays, related to | CfgAISkill is a set of arrays, related to {{Link|#Sub-Skills}}, defining the interpolation curve of each of the sub-skill. | ||
They can be changed by a mod for example. | They can be changed by a mod for example. | ||
Line 213: | Line 213: | ||
==== Config ==== | ==== Config ==== | ||
<spoiler> | <spoiler> | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> |
Latest revision as of 09:54, 6 May 2024
AI Skill
The AI is characterized by a set of sub-skills. The final AI skill is unfluenced by several factors. Additionally each sub-skill is then interpolated with the values set in CfgAISkill.
Changing 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-skills 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.
Server Admins
- Server admins can change the AI skill by changing the aiLevelPreset config parameter found in server config. See Arma 3 Server Profile for more information.
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.
- _unit setSkill ["spotDistance", 0.5];
- Results in _unit skill "spotDistance" returning 0.3
Arma 3 Defaults
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 }; // 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