Arma 3 Version: 1.90.145471 Stable
CBA Version: 3.10.1 (Steam Workshop)
ACE3 Version: 3.12.6 (Steam Workshop)
Mods:
Description:
The AI accuracy is very high with the ACE mod and it's not possible to give the AI low accuracy. This is a problem if, for example, you want to do a mission with low AI skill or you are running a suppression script that uses setSkill to modify AI accuracy.
It would be very, very helpful if the ACE AI accuracy was more similar to vanilla, allowing for more granular control over the accuracy setting.
Steps to reproduce:
I've done many tests and the following numbers give you a pretty good picture:
Distance: 300 meters
Weapon: Rifle without magnification
Shooter position: Prone on elevated platform
Target position: Prone on ground
Profile accuracy level: 0.5
Setskills: 0.9
Vanilla
Accuracy Skill: 0.9
Accuracy SkillFinal: 0.8125
Shots fired: 200
Hits: 47
Accuracy: 23.5%
Vanilla
Accuracy Skill: 0.1
Accuracy SkillFinal: 0.1
Shots fired: 200
Hits: 7
Accuracy: 3.5%
Vanilla
Accuracy Skill: 0.01
Accuracy SkillFinal: 0.099
Shots fired: 200
Hits: 4
Accuracy: 2%
ACE
Accuracy Skill: 0.9
Accuracy SkillFinal: 0.8125
Shots fired: 200
Hits: 182
Accuracy: 91%
ACE
Accuracy Skill: 0.1
Accuracy SkillFinal: 0.1
Shots fired: 200
Hits: 71
Accuracy: 35.5%
ACE
Accuracy Skill: 0.01
Accuracy SkillFinal: 0.099
Shots fired: 200
Hits: 60
Accuracy: 30%
Where did the issue occur?
Additional information:
ACE settings: https://pastebin.com/RT0J7ECd
ACE debug: https://pastebin.com/Mja9pJwg
RPT file: https://pastebin.com/Zd6JSm8p
Weapon: Rifle without magnification
Which weapon? In Arma, each weapon has its own AI.
Can you try this again, except that you delete @ace\addons\ace_ai.pbo beforehand?
^ it's very likely to be the changes to dispersion to make them realistic.
That only applies to a select few sniper rifles. Therefore it would be helpful to know what weapon this is about and if deleting the ace_ai component resolves this.
it's done for nearly every weapon, see:
https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgWeapons.hpp#L34
The weapon is "arifle_Katiba_F". The AI fires with the "single" firing mode.
Removing ace_ai.pbo made no difference.
I ran vanilla with the ACE dispersion value for the Katiba and I got the same accuracy results as with the ACE mod. So, it looks like the large AI accuracy boost is caused by the dispersion values on the firing modes.
Then I suggest you delete ace_ballistics.pbo
So, the fix for this is to change the aiDispersionCoefX and aiDispersionCoefY values on the weapons. For example, for the Katiba I multiplied the values by 4.4 (vanilla dispersion / ace dispersion = 4.4), and then you end up with an AI accuracy that is very similar to vanilla.
Are you sure you can just divide the dispersions? That seems to me like it would not necessarily lead to the correct result.
I'm not sure if it will work for other weapons, but it worked for the Katiba.
I mean mathematically. If anything would would have to add the values.
The 4.4 (vanilla dispersion / ace dispersion = 4.4) was just to see by how much the fire mode dispersion had changed between vanilla and ACE. Then, the aiDispersionCoef values (on the weapon itself) got multiplied by 4.4.
Yes, but why do you multiply and not add or do a different operation?
The aiDispersionCoef values are multipliers for the dispersion values, but they only apply to AI.
So, if for example you divide dispersion by 2, the weapon will become twice as accurate, but so will the AI. If you then multiply aiDispersionCoef by 2 to compensate, the AI accuracy will be back to how it was before the dispersion got changed.
That makes sense. Is that documented anywhere?
The actual applied dispersion with the assault rifles comes from civilian Bench Rest values which is completely incoherent with military shooting.
Moreover, these dispersions don't even take into account the length of the barrel.
So a rifle with a pistol barrel for example has exactly the same dispersion as a rifle with a 30" barrel.
Double inconsistencies.
The raison i chosen a sort of "technical" dispersion for the R3F assault rifles depending only of the weapon and his ammo, and not an hypothetical reference from someone somewhere in a limited civilian target range : https://github.com/acemod/ACE3/pull/6003
A quick example, all 5.56 rifles have a dispersion = 1.12 MOA, approximately a recalculated 2 MOA with the Ruthberg 0.562 coefficient.
The R3F HK416 14,5" has 1.87 MOA, the HK461 11" 2.12 MOA, respectively 3.32 and 3.78 MOA, a little bit more coherent with military values.
So, why not increase the aiDispersionCoef but i think all ACE3 dispersions need to be improved with something different than civilian Bench Rest values.
The actual applied dispersion with the assault rifles comes from civilian Bench Rest values which is completely incoherent with military shooting.
What you call "bench rest values" is just the mechanical precision of the device. In combat you will not see those results because _shooter error_ is added to the equation... which for a AI is simulated by the aiCoefs, and for a player does not need to be simulated at all because it is a human element. I, the player, am going to make marksmanship mistakes. That is how you get to the "military shooting" results, not through disperson config.
If you, players, are happy with the accuracy of these arcadish dispersions, there is no reason the IA hasn't got the same level of accuracy.
Fully agree with Blutze. The reason the AI has this dispersion coeficient is because it can and will aim pixel perfect otherwise, which a player with a mouse can not.
Personally, I think using real dispersion values for the weapons is preferable, so that you get the possibility to make full use of the weapon's accuracy. I believe ACE gets closer to the real values than vanilla does. The vanilla Katiba was missing (at random) a human sized target at 300 meters, which is silly. Aiming errors should be modeled through other methods, like for example weapon sway, wind, or aiDispersionCoef. Which is why I hope the ACE team will look into the aiDispersionCoef values.
I believe ACE gets closer to the real values than vanilla does.
You know where these values come from and how it was managed in-game after ?
Wouldn't it be a good solution to use the vanilla values for AI and ACE values for players?
And how would you do that?
If I understood the conversation above correctly, there is an AI dispersion coefficient which applies to the dispersion value. So we would need to set this coefficient so that the product of coef and dispersion equals that of vanilla values.
But I may be wrong, I have never worked with weapon configs before
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed due to inactivity.
If this is still an issue, please feel free to re-open this. If necessary, provide any additional details to help us solve this issue.
If you wish to assist us resolving this issue, please re-open or create a new issue stating you wish to help us out.
Thank you for your contributions.
Most helpful comment
Fully agree with Blutze. The reason the AI has this dispersion coeficient is because it can and will aim pixel perfect otherwise, which a player with a mouse can not.