Jump to content

Recommended Posts

Very grim.

There's no reason for any AI to have the aiming/speed shooting skills a current 0.5 AI has. Even 0.25 AIs are probably "more accurate than ever possible".

Honestly, a 0.25 AI is more accurate than a human. Here's a video of a 0.25 skilled AI at 100m with a 7.62 rifle:

With the exception of the really odd first shots which always go to the same place way above the target (???), almost every single shot lands within like 0.1 MOA, dead center at the top of the torso. Show me one human that can maintain similar groupings at that rate (2/sec), nevermind at 20FPS. You know, I'm accurate myself, but even this is way beyond me. A lot of my shots hit lower torso or arms, and in a fast-paced game against humans, I'll be lucky to get 33% hits anywhere on the body, nevermind the 85%+ the AIs get. With a 7.62 it might take me 20 rounds to down someone if they're moving, and I'm no slouch. Maybe 40-50 if they're behind good cover. AI gets it in 2-3 every time. It's ridiculous. They have laser-aim on the top torso. If you're crouching/prone, half the time that works out to a headshot. If you and the AI are both on flat ground, though, the AI prones and suddenly they can never hit you. Why? No spread to their aim, it's all going just under the head, which means they hit the dirt every time. Try it out in the editor if you don't believe me.

How many headshots have we all gotten from AI? This is why, if they have any angle on you and you're crouched/prone, their aim intersects your head, and they hit 95% of their shots dead-on, so you get one-shotted every time. How often are you "just wounded" by AI, like lightly, an arm wound or a foot? Never, right. Because even 0.25 AI are insanely accurate at COM shots.

How many times are you just wonded by humans, though? Constantly. On average, we can't aim for [turd pies].

There's practically NO DIFFERENCE between a .25 AI at 100m and a 1.0 AI at the same. For aiming, you have to push out the distance a lot more to see any appreciable distinction.

***

After further testing, the best AI aim settings are 0.20-0.30 for aiming subskills. Spotting skills can be 1.0 and still suck. [edited 12/21]

That's ridiculous. The current AI aiming skill curve looks something like this:

EPiLufp.png

When it should look more like:

S96pgoM.png:m

Edited by DNK

Share this post


Link to post
Share on other sites

Heh, this was the first thing I noticed already some months ago: If you go without helmet vs. ai then you will see the loading screen more often. They are super pros at dealing headshots.

This also makes episode 1 (and most of episode 2) of the campaign much harder than the later missions- the lack of helmets on the FIA units turns them (and the player himself) into easy targets.

Share this post


Link to post
Share on other sites

Yeah, I was talking about 100m accuracy, which should be about 20% by that chart, which is about what it is for PvP humans I think (so, good job on getting HUMAN accuracy/mechanics accurate BIS!).

For a "middle of the road" AI (0.50 skill), it's 100%. Usually, they have a first shot which always misses wide. Seem scripted/bugged. Occasionally, they'll start a few meters to the side and move each shot a foot towards the target until they hit, which reduces it from 100%, seems clearly buggy. Other than those two buggy exceptions, the AI is 100% accurate COM at 100m down to about a 0.05 skill setting.

Also note that cop statistics put hit rates at around 20% in <5m engagements, so I think that chart's off somehow (it's just range shooting). Combat shooting should be less accurate than the chart states.

Share this post


Link to post
Share on other sites

DNK, so what is the AI precision setting that you use? Are you using any AI mods?

Share this post


Link to post
Share on other sites
DNK, so what is the AI precision setting that you use? Are you using any AI mods?
In that video, it was 0.25 roughly. I didn't use mods.

I don't play SP anymore, specifically because the AI is so frustrating to deal with. I don't make the few coop missions I do play.

If I were to make a mission, I'd set it between 0.025 and 0.10 skill for the three aiming subskills, with an average soldier being around 0.05 probably. The other skills need to be a lot higher, though.

Share this post


Link to post
Share on other sites

This also depends on the CPU load of the AIs owner (server or client).

The better performing the session is (low-AI-count singleplayer being the highest), the more skilled the AI are, with respect to accuracy, spot distance and ability to fire at target.

I find something between 0.10 - 0.15 is good for high performing session, and 0.20 - 0.30 is good for heavy session (low FPS, high AI count, etc). When I spawn AI on client in MP (usually has more spare CPU capacity than the server), I set around 0.125 for aimingAccuracy. I forget the other settings, though I do manipulate aimingShake as well.

Specialty units like recon soldiers and snipers, I usually keep their accuracy a bit higher, to add in another layer of decision making to the coop play. Do you engage the high skilled recon team ahead, or the less skilled AT team on the hill to your right. It IMO is good to have different skilled AI.

The snipers I always try to keep fearsome and capable of wiping a team of players if they are not careful and vigilant. A funny adaptation to this I am finding players tending to call in fire support or airstrike on the sniper, rather than risk a tit-for-tat firefight against them, in which the player usually comes 2nd place :)

The accuracy definitely requires more work, however we do have a useful range of 0.00 to 0.35. Everything above 0.35 is death. The campaign was a great example. I stopped playing, as the firefights were not firefights but just AI sniping at pixels from 500m with ACO. Saving and reloading is not a fun gameplay dynamic and I'd rather do something else than play something that requires hundreds of attempts to do.

In my opinion we do have enough control over the accuracy to get a good balance for whatever scenario, so IMO while requires more work, not a huge deal.

In the meantime, I usually apply a handledamage event handler to normalize the small arms damage, in order to make it feel a little more like getting hit by human (who isn't going to have tight grouping on center of your sternum from 300m).

I spread the damage out to the player hit parts, knowing that the AI hits the center mass and head disproportionately. I add a constraint multiplier to the head and chest hit parts and a slight amplification of damage to the extremities. This does well at cancelling out the dodgy AI accuracy. This is not something told to players or explained to them, but it does make a difference and IMO increase the enjoyment in firefights. :)

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites
Very grim.

After further testing, the best AI aim settings are 0.05-0.10 for aiming subskills. Spotting skills can be 1.0 and still suck.

same conclusion with many many tests.

here ours settings :

0.10, // aimingAccuracy

0.60, // aimingShake

0.3, // aimingSpeed

0.2, // spotDistance

0.2, // spotTime

0.5, // courage

0.5, // reloadSpeed

1, // commanding

0.8 // general

Share this post


Link to post
Share on other sites
here ours settings :

Where do you set all these? Can you set it server side somehow?

Share this post


Link to post
Share on other sites
Where do you set all these? Can you set it server side somehow?

I think you set them inside the init.sqf using https://community.bistudio.com/wiki/setSkill_array . I'm sure you could create an addon that would simply set the skill of all AI globally say every 30 seconds to 1 min in case there's any unit caching or spawning going on.

Share this post


Link to post
Share on other sites

I think you guys are overreacting.

I use vanilla accuracy settings or somewhat less, and the AI miss moving targets at point blank range all the time.

Share this post


Link to post
Share on other sites

Oddly, I've tested more tonight, and the values are behaving differnetly. It's back to .25-.30 being best, with 0.05-0.10 being uselessly inaccurate. Don't get it, oh well. Either way, everything past 0.30 is practically "super marksman" level stuff, while everything under about 0.20 is "useless idiot".

EDIT: figured it out. EDIT: nope.

Here's a link to the mission (based on someone else's work posted on Armaholic, just modified for strictly AI testing. Forget who made the original, sorry, I'm sure someone knows, it wasn't that obscure).

https://www.dropbox.com/s/bz9hext8320o1cy/TargetRange.Stratis.zip?dl=0

So you can test for yourselves. Just edit the values in the soldier's unit in the editor.

Edited by DNK

Share this post


Link to post
Share on other sites

This post is somewhat relevant to this dicussion.

As you hopefully can see from the post I linked. It is useless to post AI subskill values without providing values for PercisionAI and SkillAI from your arma profile, or the overall difficulty you have used if you have not edited your profile. These values are used to multiply the subskills you have set so the values you are throwing around are not the values the AI uses. They are also not comparable to other peoples values as their multipliers may be different.

And even then there is the CfgAISkill interpolation which is also a wildcard and I am hoping that someone can explain its effects.

Anyways some reading material for you guys.

PrecisionAI and SkillAi

Somewhat shady explanation of the overall system with a nice diagram on the right.

About AI subskills, see the note in the end... This still mentions "skillFriendly/Enemy or precisionFriendly/Enemy", but these are obsolete. Replaced by the settings on the link two above.

Also if you want to report real data about Ai performance, you should use this command on the AI. Also read the note about its usage.

Edited by Bumgie

Share this post


Link to post
Share on other sites
I think you guys are overreacting.

I use vanilla accuracy settings or somewhat less, and the AI miss moving targets at point blank range all the time.

Oddly, I've tested more tonight, and the values are behaving differnetly. It's back to .25-.30 being best, with 0.05-0.10 being uselessly inaccurate.

We played last night with precisionAI on 1.0 for 6 hours (with ASR AI), in many missions from different authors and it didn't feel much different than when we had it on 3.0.

This post is somewhat relevant to this dicussion.

As you hopefully can see from the post I linked. It is useless to post AI subskill values without providing values for PercisionAI and SkillAI from your arma profile, or the overall difficulty you have used if you have not edited your profile. These values are used to multiply the subskills you have set so the values you are throwing around are not the values the AI uses. They are also not comparable to other peoples values as their multipliers may be different.

And even then there is the CfgAISkill interpolation which is also a wildcard and I am hoping that someone can explain its effects.

Anyways some reading material for you guys.

PrecisionAI and SkillAi

Somewhat shady explanation of the overall system with a nice diagram on the right.

About AI subskills, see the note in the end... This still mentions "skillFriendly/Enemy or precisionFriendly/Enemy", but these are obsolete. Replaced by the settings on the link above.

Also if you want to report real data about Ai performance, you should use this command on the AI. Also read the note about its usage.

Thanks Bumgie. I suggest adding all those essential resources in the OP.

Share this post


Link to post
Share on other sites

I did some analysis to get some more data. All done under difficulty: veteran, AI: novice. [note: this seems to be 5/8ths the value an "expert" AI setting would be for each, so if you run expert, multiply your AI subskill by 5/8ths to get a similar result).

All subskills set to 1.0 except aimingaccuracy.

AI shooter was prone, aiming at standing target. The first shot fired from each magazine was discarded in results, since it always misses (probably a "feature").

The 650m trial used a .408 with scope (28 rounds per test). All others used a standard 6.5 MX (87 rounds per test).

#REF! = Hit percentage

Damage = average damage per hit (to give an idea of how many were COM/headshots - 0.65 for the MX is basically "every time")

wYQZBvA.png

At 25m, the AI spray bullets basically full-auto. In that, almost all otherwise usable accuracy settings are superhuman at this distance. If you intend an AI to only be used in CQC, a sub-0.25 setting is suggested.

Jg6HFoQ.jpg

A more reasonable range, this is a typical short-medium engagement. An average human player can be expected to hit 20-33% of their shots at this range without optics (as the AI had). You'll note that 0.25-0.275 is a realistic AI setting then, anything less than 0.225 turns into wildly inaccurate shots, anything much over 0.35 becomes sniper-like aim.

EDIT: Note that 60% hit rate is the max possible here. This is because of certain "features" mentioned below. Any higher skill setting will still give 60% hit rates.

tb7oD5t.jpg

At this range, a typical human with ironsights probably makes about 15-25% of their shots at a similar rate of fire. Again, note that anything over 0.325 becomes superhuman, while anything under 0.25 is uselessly inaccurate. EDIT: 75% hit rate is about the max possible for AI, due to the "feature" discussed below.

zkgFlL1.png

A second test was performed (not shown) with an RCO. It seemed to have a 33% or so increase to accuracy, though the margin of error here is high. Talking just of ironsights, a human probably makes 10-20% of their shots here. Here we see 0.3-0.325 being most accurate then. However, a human with an RCO will probably make over 50% of their shots at this range. Of course, this is unrealistic for the human if in combat. Given that anything higher than 0.35 makes the AI impossibly good at any lesser distance, and a 50% accurate AI at this range would be incredibly unfun to deal with, probably it's not worth it to go higher.

vjJKAAo.png

The damage per hit is higher for the higher caliber, of course.

I would guess a human with good optics might make 1 in 4 shots here. Again, that range is 0.25-0.325.

Note the legend is inverted compared to where each plots on the graph. This graph below is hit%, not damage, for each skill setting.

37YmOtr.png

First, you'll note the bump at 200m. It's not statistical noise. It's a "feature". The AI will often start a round of shots by aiming to the side and slowly correcting towards the target. This happens maybe 1/3rd of the time. At 25 and 100 meters, the rate of fire is higher, while the speed of shot correction for this "feature" remains constant. As the rate of fire lowers for 200m, fewer shots are placed while the AI does this little "feature" correction. This "feature" created a good bit of noise into the data.

Setting the AI level just to "normal" made the 0.3 skilled AI at 200m near-perfect accurate, scoring 75% hits. It's highly suggested that server owners and SP players keep AI set to "novice" or something near that or even much lower, to account for other mission makers' "differences of AI skill opinion".

Overall, at novice settings, an AI set to 0.35 aimingaccuracy will be an "elite" soldier. One set to 0.325 will be roughly "decent human". One set to 0.30 will be "moderate human". 0.275 is "weak human". 0.250 is "lol noob". 0.225 and under is probably only to be used for CQC-only AI or long-range snipers with good weapons/scopes. Anything over 0.35 is ridiculous and should be avoided.

Testbed:

(props to Kronzky for the firing projectile tracing, not really needed but nice to get a good visual estimate of things)

https://www.dropbox.com/s/1rktqgkqcqlfu4x/AI%2520Skills%2520Testing.VR.zip?dl=0

If you want to figure out how to set up your own server's AI skill settings, you can find what the AI in your missions usually have their subskills set to, then use this to adjust to fit your taste. Use the scrollwheel action "finish" when all 3 magazines are used up to get the hit % and damage/hit results (doing it earlier will skew them). I suggest 4x time, and to clear lines every 15-30 rounds to keep FPS up.

Edited by DNK

Share this post


Link to post
Share on other sites
I did some analysis....

This is pretty damn cool!

Will take a closer look asap. Also on the other issues mentioned recently.

Thanks guys!

Share this post


Link to post
Share on other sites

Nice rundown, DNK.

AI has some serious navigational issues and we can't expect much improvement until Arma 4, I assume.

Share this post


Link to post
Share on other sites
Nice rundown, DNK.

AI has some serious navigational issues and we can't expect much improvement until Arma 4, I assume.

Please...

These issues are partially from preview games, partially new. There is at least one DLC and expansion coming, we cannot put everything off to Arma 4, it is time the issues get fixed now.

Share this post


Link to post
Share on other sites
This is pretty damn cool!

Will take a closer look asap. Also on the other issues mentioned recently.

Thanks guys!

No prob. Happy to help however I can here. I can't code half as well as the mod makers or devs, so testing/suggestions it is.
Please...

These issues are partially from preview games, partially new. There is at least one DLC and expansion coming, we cannot put everything off to Arma 4, it is time the issues get fixed now.

Amen.

This is a can that's been kicked down too many blocks on this old road. It needs immediate and ongoing attention, and the fact that the accuracy issue can just be tweaked away means there's no reason to hold off on that issue, which is probably the #1 biggest for a lot of people.

It's going to break a lot of old missions, though, but it will also fix the campaign. Players/servers can always tweak skillAI to fix any missions that get broken with a major rebalance.

Again, I'd suggest taking what's currently 0.4 [edit: on novice] and making it the new 1.0, and taking what's currently about 0.2 and making it the new 0.0, stretch out the third of the current skill inbetween to the whole of the new 0-1 skill. Hope that makes sense. Like I said, there's some very specific situations where you might want something lower than 0.225, CQC and "bad snipers", but you can tweak the sniper rifle bonuses to fix that on the one end, and maybe find a way to make AI suck more at recoil management for their CQC high ROF high accuracy spray.

Edited by DNK

Share this post


Link to post
Share on other sites
EXE rev. 128152 (game)

  • Fixed: AI won't start moving if its target destination is hard to reach

Is this going to fix the issue where AI can get stuck and refuse to move?

Been trying to get back into the game since I have a new PC that runs it beautifully. But I keep running into this issue with my AI squadmates, it's such a pain :(

Share this post


Link to post
Share on other sites

https://community.bistudio.com/wiki/Category:AI

Is that diagram correct? Shouldn't skillAI dictate the skills and precisionAI the aiming? I'm pretty sure thats how it works ingame from adjusting the values.

Edit, after night of reading, I'm still unsure of how this fit together properly.

So for example I set my server values to this:

 aiLevelPreset=3;
 skillAI=1;
 precisionAI=1;

Then I place a unit/spawn with script with the following skills taken from an earlier example in this thread.

0.10, // aimingAccuracy
0.60, // aimingShake
0.3, // aimingSpeed
0.2, // spotDistance
0.2, // spotTime
0.5, // courage
0.5, // reloadSpeed
1, // commanding
0.8 // general 

So in theory I get true accurate values, i.e. aimingShake is actually 0.60 as the overall value is 1? Anyone feel up to coding up a little web app skill calculator or something that might help people understand how this works a bit better?

All this assumes that all the CfgAISkill are set to 0,0 1,1 too. I believe these set the true min and maximum the value can be.

I've based this on:

Each sub-skill is used in several calculations. Value of each sub-skill is inherited from the value set by skill slider in Insert Unit dialogue or setSkill command, or directly defined by setSkill array command. This value is interpolated into ranges defined in CfgAISkill and multiplied by a value of AI Level Skill or Precision set in player's profile (.Arma3Profile file).

Source: https://community.bistudio.com/wiki/AI_Sub-skills

Edited by Cyruz
Questions!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×