125 posts in this topic

We'd like to try using this thread to track clear updates about changes to the AI. But first, some all important disclaimers!

  • Not all the changes made to the AI can be logged as and when they happen
    • Sometimes the changes made by the programmers require other departments to update or pack their data
    • Sometimes that's not always possible right away (i.e. changes to AI Costmaps for terrain, tweaking of new/refined values in configs)
    • Sometimes the changes must be put on hold while we make sure/prevent them from entirely annihilating the rest of the game
    • Sometimes the changes must be reverted because they destroy more than they heal.
    • Sometimes our programmers have to work, rather than talk about working.

We hope it helps shine some light on the ongoing refinements/fixes being made to the AI, and can help to frame/promote some useful feedback/discussion/understanding about the current state/future direction and progress.

You can discuss the changes across in the AI Dev Branch Discussion thread.

Best,

RiE

First set of notes follows:

When it's possible/useful, we will try to post brief descriptions of recent AI changes done on the development branch. We hope this will help demonstrate the tweaks that we're making and generate useful feedback to help us validate and polish our work.

Fixed: AI turn limitation while aiming

It wasn't supposed to fix rotation speed of AI soldiers, but is letting them use "aiming deadzone" as specified in the unit config (minGunTurnAI, maxGunTurnAI) which is typically 60 degrees cone.

Therefore currently AI should be able to follow targets better without moving whole body.

AI shouldn't take unguided missiles as guided

RPG and NLAW are supposed to be unguided, but AI was still able to use them as guided weapons. This was corrected.

FIX: AI ballistic calculation fixed.

Quite big change, now AI is able to calculate and predict accurate ballistic of bullet, therefore is able to aim and engage targets on all ranges, both static and moving. Also, this improves AI ability to hit moving targets by more precise time of leading calculation. Good way to check this change is try to fight AI sniper on 1km+ range. Of course it still depends on his skill.

FIX: AI now can shoot over animals.

AI was considering animals as friendly, therefore denied to shot in theirs direction. Example: put yours character, enemy soldier and snake animal between you. After this fix AI won't bother with friendly fire against animals.

N.b. Sometimes I'll quote one one of our Programmer's comments, but reserve the right to make splendid editorial adjustments! :cool:

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Some additional notes about changes made to AI.

Some fixes/features were included partly before public Alpha, but waited on changes in other departments and proper integration into gameplay, thus did not make it to the official changelogs.

  • New types of obstacles for pathfinding - objects that only some types of units can get over (i.e. only soldiers, only soldiers or tanks, only boats)
  • Improved pre-processing of terrain for path-planning
  • Path planning for divers - makign them makigate underwater
  • AI not wasting rockets on infantry
  • Flashlights affect AI detection - Flashlights help you to detect enemy, but also reveals you
  • AI is properly using weapon optics to find enemy - Including Thermal Optics
  • Improved how night changes the chance to spot enemy
  • Fixed that AI was using binoculars on close distance
  • Silencers decreasing audibility
  • AI mines detection and avoidance
  • AI using hand grenades more
  • AI able to use grenade launchers - they will engage with UGLs
  • Blackhawk gunners are more capable while searching for new targets - done in OA and merged
  • Helicopters pilots prefer not to crash to trees and hills - but reserve the right to do so
  • Small improvements of helicopter attack pattern - less dive-bombing
  • Boats able to navigate around piers
  • Fixed some cases of AI stuck in fleeing
  • Improved AI ability to to send medic
  • AI using first aid kit
  • AI will not shoot you through bushes, if he did not see you before - fixed in OA and merged
  • AI can drive physx vehicles
  • Loiter waypoint
  • AI will also assign secondary turrets
  • AI will not disembark to change position in vehicle - if possible
  • AI will not take your commanding role in vehicle
  • Improved how particles are decreasing chance to spot enemy
  • AI visibility in new fog
  • Fixed: AI not able to open doors in some buildings
  • New system for AI roads creation
  • Improved AI commanding - selection of cover point on position where you are sending soldier to
  • Improved weapon selection - based on time needed to lock missile or turn vehicle; done in TKOH and merged

These are not the all the changes, just those I could remember at home at this late hour.

Some other changes that are WIP. currently not deployed. N.B. Not all tweaks are guaranteed to ever make it into the final build, depending on validation. Also note, many features need a lot of parameters properly configured and it takes time to balance them.

  • AI not using pistol, when it should not - in some stage of releasing, WIP
  • Grass is decreasing chance to spot enemy - in some stage of releasing, WIP
  • AI prefer crouch stance while engaging - WIP, to be released
  • Decreased visibility of shooting - so AI does not find you instantly after killing one of them and also now each shoot close to enemy will decrease error of guessed position - WIP, to be released

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Today's changes for AI

AI ballistic calculation improved for unguided rockets

This will make the AI more capable of hitting targets with unguided rockets; e.g. RPG, NLaw(i.e. Man-portable) but also FFARs (i.e. Gunships).

There was a mathematical accuracy problem, which made AI aim at the wrong point. This being fixed, actual accuracy of ai still depends on his skill.

Share this post


Link to post
Share on other sites

Making changes/refinements to AI doesn't just rely on programmers, but proper configuration of the data is also essential (what we call balancing).

Recent tweaks of config values affecting vehicle handling are part of this work. Pre-Alpha, a certain set of config values were used, but as the game develops, so we must continue to refine things like predictTurnPlan and predictTurnSimul

Drivers have gone to training lessons to improve their driving capabilities

AI drivers are now able to better predict the way and expect turns in longer distance while still maintaining the momentum long enough.

Share this post


Link to post
Share on other sites

Some extra info:

FIX: AI and rangefinding: ballistic prediction

This is a small fix which affects AI aim over large distances, where units have different altitudes.

Share this post


Link to post
Share on other sites

Change log notes, v.08339

Increased error of player position, when AI is killed by player

If you kill/hit/bullet impact close to an AI unit, your position is disclosed with some error. Now the error is bigger and based on range, so it is harder for the AI to find you after one shot.

So, if I fire from, say, 300m away, AI's guess of my x, y position is based on a default guess error (of 100m) plus my distance (300m) multiplied by a coefficient (0.25), plus a random value (between 0 and 1, applied to x and y).

This individual calculation doesn't currently factor in my weapon type, but my visibility remains a product of that, so - if I've used, say, an enormous sniper rifle instead of an smg - the AI is more likely to spot me, when looking in the right place.

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

  • Fixed: AI unable to take a backpack from the ground
  • Decreased AI hearing ability to pinpoint enemy unit position

Increased the threshold of accuracy when a unit starts guessing an enemy unit's position; i.e., audio inputs take longer to increase AI's precision/certainty

Share this post


Link to post
Share on other sites

  • Decreased use of prone stance when target is close.
  • Decreased use of crouch stance when moving
  • Decreased use of crouch stance in stealth

These adjustments should:

decrease the AI's use of crouching/prone while moving in combat. They'll be more likely to crouch when they're static in combat (not deterministic, just a more likely behaviour), and shouldn't go prone if enemy target is known and very close*.

Share this post


Link to post
Share on other sites

Latest Work:

Worked on AI recoil control, dependent on skill

  • AI are now able to consider and control the recoil of the weapon

  • This ability is dependent on the skill, meaning that less skilled soldiers will tend to control it less, where elite soldier (skill 1.0) should control it all the time

  • This behaviour is more evident at closer ranges, when AI is standing and his recoil makes most of the shots to go over target's head

Hearing (AI): speed makes a bigger difference

  • Now the speed of movement and fatigue (breathing effect) makes you louder and more likely to be heard by AI.

:cool:

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v.09067

AI leading targets accuracy improved

  • All AI which uses some sort of bullets (including tank shells and grenades) are now able to lead moving targets better.

  • This ability is still limited by weapon config (max lead speed) and skill of AI.

  • Typical testcases are: running perpendicular to AI, evading Irfit GMG firing from 500m, etc.

AI leading rockets improved

  • Accuracy of AI shooting unguided rockets was improved

  • Now they should be able to lead moving targets whatever is the direction of movement

  • Splendid disclaimer: Please be careful though, RPG missile had some config problems last time I checked

AI helicopter gunner aiming improved

  • There was a problem reported about AI gunner in Comanche or Kayman unable to hit static infantry (overshooting). This was fixed.

Some other most splendid changes (related to AI behaviour in CQB) are in splendid progress, but I don't think the exe sneaked out into the dev branch wild yet. Soonâ„¢.

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v.09136

I don't think the exe sneaked out into the dev branch wild yet. Soonâ„¢.

:cool:

AI prefer to stop and shoot, rather than running to cover, if enemy is close

Surprise Target

  • Dealing with the situation where AI spots the player in close range while already en route to cover

  • AI is now more likely to stop and engage the threat

  • Decision is linked to distance to target (currently 35m)

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v.09501

AI rotation behaviour refined

  • AI rotation speed
    increased

  • AI rotation speed dependent on
    encumbrance
    (more encumbered, slower rotation)

  • AI rotation speed dependent on
    stance
    (prone rotation ~3x slower than standing)

  • AI rotation speed dependent on
    speed of movement
    (AI that has been moving fast will turn slower than those that are static)

AI accuracy calculations refined

  • AI accuracy influence by
    rotation
    (faster rotation, less precision)

  • AI accuracy influenced by
    shooting
    (more shooting, less precision)

  • AI accuracy influenced by
    movement
    (more movement, less precision)

  • AI accuracy influenced more logically in proportion to
    skill

:cool:

Share this post


Link to post
Share on other sites

Change log notes, v.09751

AI prone rotation two times faster

  • Prone rotation speed was improved

  • It was a bit too slow; it's now 2x faster

AI high-skilled soldiers accuracy improved

  • Highly skilled soldiers had problems with hitting targets at medium range (100-300 metres)

  • They should be more accurate now, for example, a soldier with skill 1.0 (on Elite difficulty) should be deadly accurate

Share this post


Link to post
Share on other sites

Change log notes, v.110181

AI drivers are now better able to navigate out of obstacle and unstuck themselves

  • AI drivers are better able to determine when they are stuck

  • They will now try to reverse away from the obstacle

Share this post


Link to post
Share on other sites

Not a change today; rather, sharing the initial ideas/goals of some upcoming work:

GOALS

  • DEFINE how individual AI config params affect AI behaviour, document and refine these settings
  • PROVIDE the average player more meaningful control over the difficulty of the AI
  • ENABLE mission designers more useful control over AI configuration

PROBLEM

  • AI configuration settings aren't very clear to players
    • AI 'skill' is quite abstract

    [*]Players can unwittingly 'break' the game by setting values that are too low

    • e.g. setting AI skill to low
    • Makes it difficult to reliably test behaviour of AI in playable content (moving target of AI skill)

    [*]Mission designers can't easily modify useful parameters of AI

    • e.g. Accuracy
    • Players can override what designers have selected (related to above point)
    • Mods are used to unlock additional parameters, but these are not adequately documented and tested in engine

DESIGN

  • Players have simpler, more predictable UI options
    • Some (more advanced/abstract) choices removed from game configuration (e.g. what is this arcane 'skill' black magic?)
    • Only things that are simple to understand and test
    • e.g AI: HARD / DEFAULT / LIMITED
      • Value is an abstraction of limited number of predictable inputs (e.g. AI Accuracy and Turning Speed)
        • HARD: Default (current state) Accuracy; Default (current State) Turning Speed
        • DEFAULT: Lower-than-default Accuracy; Default Turning Speed
        • LIMITED: Lower-than-default Accuracy; Lower-than-default Turning Speed

        [*]linked to difficulty presets (recruit would be "limited", etc)

        [*]no slider nonsense, just combo-box options; how much precision is really useful from the front-end?

      [*]Do players really need to be able to set ability of both friendly and enemy AI?

      • Why not simply abstract these settings into one value?
      • Curate the friendly/enemy settings to what we think is 'best practise' for each default

    [*]More advanced AI settings should primarily be the mission (official/community) designers choice

    • Configurable via the Editor
      • AI Skill
        • clearly validate and document what existing configuration options - unlock potential of parameters
        • Split into more options, if useful

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v.110951

AI-controlled turrets lead targets better

  • AI ability to lead moving targets from turrets was improved

  • They should now be able to engage a lot more often and with better precision

  • Please note, this
    can significantly increase the difficulty
    of the missions again mechanized AI

  • Typical repro case was:
    Irfit HMG against infantry moving perpendicularly, 100 m distance

Share this post


Link to post
Share on other sites

Change log notes, v.111171

Decreased AI ability to shoot through bushes when a team member sees a target

Related to:

  • AI in groups share information about targets

  • Previously, an AI that is
    without
    LOS to a target (e.g. blocked by a bush) - but that is in a group with another AI member who does -
    would
    fire at the target if feasible (i.e. valid range & penetration through blocking object)

  • Now AI - without direct LOS - will only try to fire for a limited amount of time, and
    will stop firing
    if they do not themselves get LOS to the target,
    even if a group member still has valid LOS

First step is that AI will not be able to kill you just because his team member told him where you are. Randomized shooting through bushes is next step: AI will shoot in your general area when he is told about your position, but accuracy will be far less.

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v.111518

AI turret control improved

  • While it was functionally improved in previous versions, it caused visual artefacts during rotation of turrets (seems like AI is able to move turret instantly, without accelerating the rotation.)

  • Now, this was fixed, keeping AI ability to target moving enemies.

  • Typical test cases are:
    car with turret engaging infantry moving perpendicularly; AI gunner in combat chopper engaging other moving choppers or fast moving cars and so on.

Share this post


Link to post
Share on other sites

Public documentation of AI Skill settings updated:

Oukej has meanwhile updated some community pages with the latest descriptions of such sub skills (WIP):

Specific thread related to AI Configuration Analysis opened:

I've decided to start a new thread dedicated not to what the AI can and can't do, but to how you, as a player, mission designer or modder can directly affect the AI's behavior.

Share this post


Link to post
Share on other sites

Belated Change log notes, v.113928

Adjusted: Dynamic Calculated Error for AI, working on turrets, reacting to loosing sight of target

  • Generally the firefights and engagements should be more intense, enjoyable and less frustrating.

  • The average AI should no longer give you a head-shot off-hand.

  • AI gunners shouldn't be flawless top killing machines anymore.

  • It definitely does not solve all the things (e.g. detection, decision making, recoil control), but at least it hopefully softens some of the problems.

  • Please, spam us with your observations and feedback how has the battleground changed for you and whether it has improved the firefights, AI taking a shot, for you.

(thanks to those who've already provided some feedback; sorry latest updates have taken so long to post: we're getting back into the swing of things now)

Edit: there should be some further details we can share regarding Dynamic Calculated Error, but I need to check them out with our AI guru first!

JAC_AI_ERROR.jpg

Notes (not exhaustive; documentation in progress):

  • Firing the weapon no longer increases error; instead, it decreases the error or doesn't change it (depending on audio and visual attributes of the weapon).
  • If the weapon is loud and very visible (e.g., an MG with big muzzle flash), the error doesn't decrease; whereas, shooting a normal rifle will decrease the error.
  • Losing the target due to obstacle (e.g., foliage) and switching targets now drastically increases the error
  • Calculation of error direction was changed to be more fluent: AI soldiers should not 'shake' their aim anymore; instead, they should behave more akin to 'looking around'

Generally, these changes will be fairly subjective (a player's 'experience' of a firefight). We're also being careful not to negatively impact previous playable content, which was tested using older AI configurations.

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

A quick non-comprehensive sum of recent AI-related changelog entries, fixes and work as they appeared on the Development Branch:

08-01-2014 Fixed: AI unit is no longer repeatedly swapping gunner/observer position

10-01-2014 Fixed: AI avoiding dead bodies

16-01-2014 Fix for low skill AI turret gunners shooting at impossible-to-hit targets

20-01-2014 No longer creating target lists for empty groups (small AI optimization)

26-02-2014 Fixed: An issue where AI was getting killed when opening a parachute

26-02-2014 Removed: SuperAI difficulty setting

03-03-2014 Fixed: AI aiming error after saving and loading

11-03-2014 Fixed: AI not using radar, when player does not have it

07-03-2014 AI skills configuration changed: added Presets and Precision, removed Enemy-Friendly, redid the UI

OPREP AI Configuration

Q1 2014 Countless improvements related to the animation tree and fixes of AI getting stuck under different circumstances (e.g. 20-01-2014 Engineer should be no longer stuck after repairing a vehicle)

OPREP Refactoring Animations

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v. 124216

AI's losing sight of target

E.g. If you run into some cover the AI should be less prone to head-shot you once you reappear ;) Part of
(FT links there)

AI aiming error is now influenced by wounds and reloading

If an AI is firing at you and runs out of ammo, needs to reload, or you manage to hit it, but not kill it, it will need some time to reacquire the aim after such action. Getting hit obviously causes much more disturbance.

All changes are also generally part of Dynamic Calculated Error for AI. :cool:

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Another little round-up (again, not exhaustive).

One I wasn't able to locate in the change log, but it has brought some improvements was related to

http://feedback.arma3.com/view.php?id=18324#c70505

The roads on Altis went thru major repairs during the long spring. The AI-tians can now enjoy more time on the road than off it. Although there are communities on Altis that have applied the newroad-safety 3D technology acquired via the cohesion fund from Ireland. http://goo.gl/Y6mGH9 (according to Google Images also used in Romania and Czech Republic) which makes the poor AI-tians still go offroad when avoiding this virtual threat.

Also

Fixed: AI not reloading their weapon when the camera was focused on it

AI is more likely to target enemy transports

http://feedback.arma3.com/view.php?id=18343

Fixed: Player observers now always send their target to the gunner

Fixed: Transmitting empty enemy vehicle to gunners as target

http://feedback.arma3.com/view.php?id=19218

When AI ordered to engage, it will engage even a vehicle without weapons

AI will attack an enemy vehicle with weapons but without ammo (he no longer has info about the number of magazines)

http://feedback.arma3.com/view.php?id=18343

Fixed: Artillery target deleted to soon

http://feedback.arma3.com/view.php?id=19417

Fixed: AI no longer speaks over radio, when he has none

& this

http://feedback.arma3.com/view.php?id=18370

& that

Optimized: AI selection of interesting targets

:sneaky:

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Changed: AI turrets aiming error now influences acceleration of rotation.

Should make the behavior of AI controlled tanks' turrets more

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites

Change log notes, v. 126281

AI soldiers: dynamic error influenced by fatigue and damage

  • This commit is a first iteration of AI aiming error being changed by those factors.

  • Generally, aiming error is not increased by fatigue or damage itself (wounds already increases it, movement and rotation as well), but it slows down the recovery of the error, making AI less accurate for longer time than if it would be rested/healthy.

  • Feel free to comment on your experiences, internally this is going to be tweaked and improved soon.

  • Have fun!

:cool:

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.