Jump to content

Recommended Posts

Played around a bit more, mainly to check the influence of the AI skill sliders in the difficulty menu on actual AI precision and the skillfinal values of "aimingAccuracy".

 

Conclusion: The difficulty skill sliders have barely any impact when using setSkill "aimingAccuracy" to 1. Almost no difference between both sliders on 0.05, 0.5 and 1.0.

Precision difference over 50 kills is ~0.04% between both sliders set at 0.05 and 0.5 and ~0.4% difference between sliders at 0.5 and 1.0.

 

These differences are small enough to be negligible at best, which shows that the AI sliders in the difficulty menu have no effect on AI aiming precision.

 

Does this mean that difficulty settings are redundant in terms of AI precision?

Removing the difficulties altogether wouldn't have that much impact then at all or am I missing something @oukej?

As of now the only influence these sliders have is when placing editor units, using setSkill "aimingAccuracy" basically overwrites that value and both sliders in the difficulty menu don't have as big of an impact as I thought they would.

So that's a good thing after all.

Need to run some more tests with lower aimingAccuracy values.

 

Ran 3 tests, 10 opfor firing at one blufor, basic riflemen classes at 200m distance with the blufor unit changing position on one axis after each kill.

Tracked shots fired, hits landed, precision percentages and summed each test up, running for 50 kills every test.


[

//Test 1: AI skill slider 0.05 AI precision slider 0.05 AI setSkill 'aimingAccuracy' 1.0
"Kill 1 19 shots with 2 hits lethal hit: spine3 all hits: [[""spine1"",1],[""spine3"",1]] hit percentage: 10.5263% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 2 17 shots with 4 hits lethal hit: rightarm all hits: [[""rightarm"",2],[""spine3"",2]] hit percentage: 23.5294% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 3 15 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 4 16 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine1"",1],[""spine3"",2]] hit percentage: 31.25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 5 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 6 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 7 8 shots with 5 hits lethal hit: rightarm all hits: [[""rightforearm"",2],[""spine3"",2],[""rightarm"",1]] hit percentage: 62.5% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 8 11 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 36.3636% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 9 12 shots with 5 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3],[""rightarm"",1]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 10 16 shots with 4 hits lethal hit: rightarm all hits: [[""rightforearm"",1],[""spine3"",2],[""rightarm"",1]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 11 8 shots with 4 hits lethal hit: spine1 all hits: [[""rightarm"",1],[""spine3"",2],[""spine1"",1]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 12 11 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",2],[""spine1"",1]] hit percentage: 27.2727% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 13 10 shots with 1 hits lethal hit: spine3 all hits: [[""spine3"",1]] hit percentage: 10% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 14 14 shots with 5 hits lethal hit: spine3 all hits: [[""spine1"",1],[""rightarm"",2],[""spine3"",2]] hit percentage: 35.7143% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 15 13 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 15.3846% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 16 15 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 17 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 18 12 shots with 6 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1],[""rightarm"",2]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 19 14 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3],[""rightforearm"",1]] hit percentage: 42.8571% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 20 16 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 21 11 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",2],[""rightforearm"",1],[""rightarm"",1]] hit percentage: 36.3636% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 22 11 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 45.4545% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 23 12 shots with 3 hits lethal hit: spine3 all hits: [[""spine1"",1],[""spine3"",2]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 24 10 shots with 3 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",2]] hit percentage: 30% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 25 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",2],[""spine3"",2]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 26 15 shots with 3 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",2]] hit percentage: 20% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 27 9 shots with 5 hits lethal hit: rightarm all hits: [[""rightforearm"",1],[""spine3"",2],[""rightarm"",2]] hit percentage: 55.5556% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 28 10 shots with 7 hits lethal hit: spine3 all hits: [[""rightforearm"",2],[""spine3"",2],[""leftarm"",1],[""spine1"",2]] hit percentage: 70% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 29 13 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 30.7692% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 30 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 31 6 shots with 3 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine1"",1],[""spine3"",1]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 32 8 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 33 13 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1],[""rightarm"",1]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 34 14 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 35.7143% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 35 11 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",3],[""spine3"",3]] hit percentage: 54.5455% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 36 14 shots with 4 hits lethal hit: rightarm all hits: [[""rightarm"",2],[""spine3"",2]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 37 14 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 35.7143% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 38 11 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 45.4545% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 39 13 shots with 6 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",4],[""rightarm"",1]] hit percentage: 46.1538% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 40 15 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 41 11 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3]] hit percentage: 36.3636% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 42 7 shots with 2 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",1]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 43 11 shots with 6 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2],[""spine1"",1]] hit percentage: 54.5455% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 44 14 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",2],[""spine1"",1],[""rightarm"",1]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 45 14 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 46 12 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 47 10 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 48 10 shots with 5 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3],[""rightarm"",1]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 49 16 shots with 4 hits lethal hit: spine3 all hits: [[""spine1"",1],[""spine3"",2],[""rightarm"",1]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",
"Kill 50 11 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",3]] hit percentage: 27.2727% 'aimingaccuracy' skillfinal of all east: [0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81,0.81].",

//summary of Test 1 AI skill slider 0.05 AI precision slider 0.05 AI setSkill 'aimingAccuracy' 1.0
["Total Kills: 50. Average hit percentage: 34.422%. Average hits needed for kill: 4.1"]]



[

//Test 2: AI skill slider 0.5 AI precision slider 0.5 AI setSkill 'aimingAccuracy' 1.0
"Kill 1 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 2 15 shots with 6 hits lethal hit: spine3 all hits: [[""rightforearm"",3],[""spine3"",3]] hit percentage: 40% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 3 15 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 4 15 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 5 18 shots with 4 hits lethal hit: rightarm all hits: [[""rightfoot"",1],[""spine3"",2],[""rightarm"",1]] hit percentage: 22.2222% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 6 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 7 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 8 16 shots with 5 hits lethal hit: rightarm all hits: [[""rightarm"",3],[""spine3"",2]] hit percentage: 31.25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 9 18 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 11.1111% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 10 13 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 30.7692% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 11 10 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 40% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 12 12 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 13 15 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 14 7 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 57.1429% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 15 17 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightforearm"",1],[""rightarm"",1]] hit percentage: 23.5294% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 16 5 shots with 3 hits lethal hit: spine3 all hits: [[""rightfoot"",1],[""spine3"",2]] hit percentage: 60% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 17 7 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 18 12 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",3]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 19 15 shots with 6 hits lethal hit: spine3 all hits: [[""spine3"",4],[""rightarm"",2]] hit percentage: 40% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 20 13 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3]] hit percentage: 30.7692% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 21 13 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",4]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 22 16 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 23 16 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 24 16 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 25 13 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 26 13 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 27 12 shots with 5 hits lethal hit: rightarm all hits: [[""rightforearm"",1],[""rightarm"",2],[""spine3"",2]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 28 13 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 30.7692% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 29 12 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 30 9 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 22.2222% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 31 13 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 32 18 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 22.2222% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 33 14 shots with 3 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",2]] hit percentage: 21.4286% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 34 4 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 100% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 35 12 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 36 15 shots with 4 hits lethal hit: rightarm all hits: [[""rightarm"",2],[""spine3"",2]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 37 11 shots with 5 hits lethal hit: rightarm all hits: [[""rightarm"",3],[""spine3"",2]] hit percentage: 45.4545% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 38 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 39 14 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3],[""rightforearm"",1]] hit percentage: 35.7143% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 40 13 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 15.3846% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 41 9 shots with 5 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3],[""rightarm"",1]] hit percentage: 55.5556% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 42 12 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",3]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 43 9 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 44.4444% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 44 6 shots with 5 hits lethal hit: spine3 all hits: [[""rightforearm"",2],[""spine3"",3]] hit percentage: 83.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 45 8 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 46 9 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3]] hit percentage: 44.4444% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 47 9 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 55.5556% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 48 9 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 22.2222% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 49 15 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 50 13 shots with 5 hits lethal hit: rightarm all hits: [[""rightarm"",3],[""spine3"",2]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",

//summary of Test 2 AI skill slider 0.5 AI precision slider 0.5 AI setSkill 'aimingAccuracy' 1.0
["Total Kills: 50. Average hit percentage: 34.4666%. Average hits needed for kill: 3.94"]]


[

//Test 3: AI skill slider 1.0 AI precision slider 1.0 AI setSkill 'aimingAccuracy' 1.0
"Kill 1 18 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 11.1111% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 2 15 shots with 5 hits lethal hit: rightarm all hits: [[""rightforearm"",1],[""spine3"",2],[""rightarm"",2]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 3 10 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 4 10 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 5 15 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 6 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 7 13 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",3],[""spine3"",3]] hit percentage: 46.1538% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 8 12 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3],[""rightforearm"",2]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 9 15 shots with 5 hits lethal hit: rightforearm all hits: [[""rightforearm"",2],[""spine3"",2],[""rightarm"",1]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 10 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 11 11 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 45.4545% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 12 13 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 30.7692% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 13 17 shots with 6 hits lethal hit: spine3 all hits: [[""rightforearm"",3],[""spine3"",3]] hit percentage: 35.2941% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 14 13 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 15 7 shots with 5 hits lethal hit: leftfoot all hits: [[""rightarm"",2],[""spine3"",2],[""leftfoot"",1]] hit percentage: 71.4286% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 16 8 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 17 11 shots with 5 hits lethal hit: rightarm all hits: [[""rightforearm"",1],[""spine3"",2],[""rightarm"",2]] hit percentage: 45.4545% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 18 17 shots with 5 hits lethal hit: spine3 all hits: [[""rightforearm"",2],[""spine3"",3]] hit percentage: 29.4118% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 19 17 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 23.5294% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 20 12 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 16.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 21 11 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 18.1818% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 22 14 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightforearm"",1]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 23 12 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 16.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 24 14 shots with 4 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",3]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 25 13 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 26 15 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 26.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 27 13 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 28 12 shots with 5 hits lethal hit: rightforearm all hits: [[""rightforearm"",3],[""spine3"",2]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 29 9 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",2],[""rightforearm"",1]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 30 10 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",3]] hit percentage: 30% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 31 13 shots with 5 hits lethal hit: rightforearm all hits: [[""rightforearm"",2],[""spine3"",2],[""rightarm"",1]] hit percentage: 38.4615% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 32 14 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",4]] hit percentage: 42.8571% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 33 11 shots with 3 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",2]] hit percentage: 27.2727% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 34 12 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 35 12 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 36 14 shots with 4 hits lethal hit: rightforearm all hits: [[""rightarm"",1],[""spine3"",2],[""rightforearm"",1]] hit percentage: 28.5714% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 37 15 shots with 5 hits lethal hit: spine3 all hits: [[""rightarm"",2],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 38 12 shots with 4 hits lethal hit: spine3 all hits: [[""rightarm"",1],[""spine3"",3]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 39 14 shots with 6 hits lethal hit: spine3 all hits: [[""rightarm"",3],[""spine3"",3]] hit percentage: 42.8571% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 40 12 shots with 5 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",2]] hit percentage: 41.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 41 13 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 15.3846% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 42 14 shots with 7 hits lethal hit: spine3 all hits: [[""rightforearm"",3],[""spine3"",4]] hit percentage: 50% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 43 13 shots with 6 hits lethal hit: spine3 all hits: [[""rightforearm"",1],[""spine3"",4],[""rightarm"",1]] hit percentage: 46.1538% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 44 9 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 22.2222% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 45 11 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 36.3636% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 46 6 shots with 4 hits lethal hit: spine3 all hits: [[""spine3"",3],[""rightarm"",1]] hit percentage: 66.6667% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 47 12 shots with 4 hits lethal hit: rightarm all hits: [[""spine3"",2],[""rightarm"",2]] hit percentage: 33.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 48 12 shots with 3 hits lethal hit: spine3 all hits: [[""spine3"",3]] hit percentage: 25% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 49 15 shots with 2 hits lethal hit: spine3 all hits: [[""spine3"",2]] hit percentage: 13.3333% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",
"Kill 50 15 shots with 6 hits lethal hit: spine3 all hits: [[""rightforearm"",3],[""spine3"",3]] hit percentage: 40% 'aimingaccuracy' skillfinal of all east: [1,1,1,1,1,1,1,1,1,1].",

//summary of Test 3: AI skill slider 1.0 AI precision slider 1.0 AI setSkill 'aimingAccuracy' 1.0
["Total Kills: 50. Average hit percentage: 34.8273%. Average hits needed for kill: 4.26"]]

//summaries of Tests 1-3:
["Test 1: Total Kills: 50. Average hit percentage: 34.422%. Average hits needed for kill: 4.1"]
["Test 2: Total Kills: 50. Average hit percentage: 34.4666%. Average hits needed for kill: 3.94"]
["Test 3: Total Kills: 50. Average hit percentage: 34.8273%. Average hits needed for kill: 4.26"]

 

Cheers

  • Like 2

Share this post


Link to post
Share on other sites

@Grumpy Old Man

That's great info. Thanks for the the results.

 

I would like to run some similar tests. Is there any way I could get your script?

I will post the results as well.

Share this post


Link to post
Share on other sites

accuracy slider seems kickin over 300m and 600m, can you test it past 200m?

Share this post


Link to post
Share on other sites
8 hours ago, Grumpy Old Man said:

....which shows that the AI sliders in the difficulty menu have no effect on AI aiming precision.

 

Clearly a bug, this should be fixed.

Share this post


Link to post
Share on other sites
17 hours ago, old_painless said:

 

Clearly a bug, this should be fixed.

Not a bug, if you read a few lines above what you quoted this is only the case when aimingAccuracy on the AI is set to 1, as you can see it alters the skillFinal value but to a small amount.

 

Both sliders to 1, aimingAccuracy to 1, results in skillFinal 1.

Both sliders to 0.5, aimingAccuracy to 1, results in skillFinal 1.

Both sliders to 0.05, aimingAccuracy to 1, results in skillFinal 0.81.

 

Maybe the influence isn't as big as it's supposed to be, but after all a good thing for mission makers, since you still can place those overpowered AI units on a map by using the setSkill command, so players across all difficulty settings will have a similar experience. The slider has the biggest influence on editor placed units that are not manipulated using the setskill command.

 

Only downside is that these sliders only work upon mission start. Moving them during mission runtime doesn't change AI skillFinal values, only on new spawned units.

That kinda defeats the purpose of being able to adjust difficulty on the fly.

 

Here's the script for @taskmaster065 @kklownboy and anyone else interested, it's ugly, still a mess but straightforward and works.
 

Spoiler





GOM_fnc_hitDebug = {

allShots = 0;
allHits		= [];
allHitsTilDeath = [];
allLethalShots	= [];
enemySkillFinal = [];
deaths = 0;
totalshots = 0;
outputValueArray = [];
finalOutput = [];
stopTracking = false;
startPos = getposatl target;
resultArray = [];



GOM_fnc_hitTest = {

params ["_unit"];
_unit disableAI "MOVE";
_unit setUnitPos "UP";
allUnits apply {_x reveal [_unit, 4]};

_unit addEventHandler ["HitPart", {

{


	_x params ["_unit", "_shooter", "_bullet", "_position", "_velocity", "_selectionName", "_ammo", "_direction", "_radius", "_surface", "_direct"];

	_hitsTilDeath = _unit getVariable ["GOM_fnc_HitsTilDeath", []];
	_selCheck = !(_selectionName isEqualTo "");
	_directText = "direct";
	if !(_direct) then {_directText = "indirect"};
		_selections = _selectionName joinString "+";

		if (_selCheck) then {allHits pushBack (format ["%1: %2", _directText, _selections])};

			if (alive _unit AND _selCheck) then {

				_hitsTilDeath append _selectionName;
				_unit setVariable ["GOM_fnc_HitsTilDeath", _hitsTilDeath];
			};
		} foreach _this;
	}];

	_killID = _unit addEventHandler ["Killed", {
		if (stopTracking) exitWith {false};
	params ["_unit", "_killer"];
	deaths = deaths + 1;

	_hitsTilDeath = _unit getVariable ["GOM_fnc_HitsTilDeath", []];
	_initPos = _unit getVariable ["GOM_fnc_InitPos", getposatl _unit];

	_allEnemies = allunits select {side _x isequalto east};
	_initSkill = 0;
	_totalSkill = _allEnemies apply {_initSkill = _initskill + (_x SkillFinal "aimingAccuracy")};
	_allSkills = _allEnemies apply {_x SkillFinal "aimingAccuracy"};
	_averageEnemyPrecision = _initSkill / count _allEnemies;
	_result = (format ["Kill %1\n%2 shots with %3 hits\nlethal hit: %4\nall hits: %5\nhit percentage: %6%7\n'aimingaccuracy' skillfinal of all east: %8.",deaths,allShots , count _hitsTilDeath, _hitsTilDeath select (count _hitsTilDeath - 1), (_hitsTilDeath call BIS_fnc_consolidateArray),(count _hitstildeath / allshots) * 100,"%",_allSkills]);
	hintsilent _result;
	_result = (format ["Kill %1 %2 shots with %3 hits lethal hit: %4 all hits: %5 hit percentage: %6%7 'aimingaccuracy' skillfinal of all east: %8.",deaths,allShots , count _hitsTilDeath, _hitsTilDeath select (count _hitsTilDeath - 1), (_hitsTilDeath call BIS_fnc_consolidateArray),(count _hitstildeath / allshots) * 100,"%",_allSkills]);

	allHitsTilDeath pushback _result;
	_output = [deaths,allshots,count _hitsTilDeath,_hitstilDeath,(count _hitstildeath / allshots) * 100,_allSkills];
	outputValueArray pushBack _output;
	resultArray pushback _result;

	_averageAccuracy = 0;
	outputValueArray apply {_averageAccuracy = _averageAccuracy + (_x select 4)};
	_averageHitPercentage = (_averageAccuracy / deaths);


	_totalHits = 0;
	outputValueArray apply {_totalHits = _totalHits + (_x select 2)};
	_averageHitNeededPercentage = (_totalHits / deaths);
	_summary = [format ["Total Kills: %1. Average hit percentage: %2%4. Average hits needed for kill: %3", deaths,_averageHitPercentage,_averageHitNeededPercentage,"%"]];
	systemchat str _summary;

	finalOutput = resultArray + [_summary];
	allShots = 0;
	allLethalShots pushback (_hitsTilDeath select (count _hitsTilDeath - 1));
	if (isPlayer _killer) then {
		_killerASL = getPosASLVisual _killer;
		_unitASL = getPosASLVisual _unit;
		_distance = [(_killerASL distance _unitASL), 2] call BIS_fnc_cutDecimals;
		_altDifference = abs ((_killerASL select 2) - (_unitASL select 2));
		_shotsFired = _killer getvariable ["GOM_debug_shotsFired", 0];
		_text = format ["Kill at %1m\n%2m altitude difference\nShots needed for kill: %3\nHits:%4\nLethal Shot: %5", _distance, _altDifference, _shotsFired, _hitsTilDeath, (_hitsTilDeath select (count _hitsTilDeath - 1))];
		hint _text;
		playsound "click";
	};
	_spawn = creategroup west createUnit [typeOf _unit, [0,0,0], [], 0, "NONE"];
	_spawn setposatl (startPos getPos [100 * random sqrt 1,selectRandom [0,180]]);
	_add = [_spawn] call GOM_fnc_hitTest;

	{_x reveal [_spawn, 4]} foreach allUnits;

	deletevehicle _unit;
}];
_unit setVariable ["KillID",_killID];
true
};

{

	_x setVariable ["GOM_fnc_InitPos", getposatl _x];

	if (side _x isEqualTo west AND !isplayer _x) then {
		_x setcaptive false;
		[_x] call GOM_fnc_hitTest;
		_x disableAI "ALL";
	};

	if (side _x isEqualTo east) then {

		_x addEventHandler ["Reloaded", {

		params ["_unit", "_weapon", "_muzzle", "_newMag", "_oldMag"];
		_unit addMagazine (_oldMag select 0);
	}];
		_x addEventHandler ["Fired",{allShots = allshots + 1}];
};
} foreach allUnits;


};

player addAction ["Start Accuracy Check",{deaths = 0; [] spawn GOM_fnc_hitDebug;systemchat "Starting";playsound "click"}];
player addAction ["Stop Accuracy Check",{stopTracking = true;systemchat "Stopped";playsound "click"}];
player addAction ["Copy Result",{copytoclipboard str finalOutput;systemchat "Copied results";playsound "click"}];
player addAction ["Enemy Accuracy to 0.05",{{_x setSkill ["aimingAccuracy",0.05]} forEach (allUnits select {side _x isequalto east})}];
player addAction ["Enemy Accuracy to 0.5",{{_x setSkill ["aimingAccuracy",0.5]} forEach (allUnits select {side _x isequalto east})}];
player addAction ["Enemy Accuracy to 1",{{_x setSkill ["aimingAccuracy",1]} forEach (allUnits select {side _x isequalto east})}];


 

Cheers

  • Like 1

Share this post


Link to post
Share on other sites

@Grumpy Old Man

Thank you very much. I will have a look at it tomorrow.

 

I have produced a table below that shows(on average) how many shots it takes for an AI soldier to hit an enemy soldier from varying distances (100m,250m) after he first sees(spots) the target.

Note that these tests done using ArmA 3 version 1.74.142559

 

Below is a table summarising my basic test results.


Column 1 is skillFinal for both "aimingAccuracy and "aimingShake".(As I understand it, some function of skill and AI precision produces the FINAL sub-skill value).
Column 2 number of shots when target is 100m away.
Column 2 number of shots when target is 250m away.

 

-----------------------------
skillFinal,    100m,    250m
-----------------------------
1.00,        2.0,    2.1        
0.75,        2.0,    2.3
0.50,        1.7,    3.8
0.25,        2.5,    7.7
0.20,        3.6,    12.    
0.10,        7.7,    27.
0.00,        >60,    >60
-----------------------------

Notes:
1) Both AI soldier and his target are prone (i.e. lying down).
2) the AI soldier is a CSAT Rifleman firing an Katiba 6.5mm.
3) At 500m or more the AI does not fire.
4) 20 tests were done to determine each value.
5) Tests done using ArmA 3 version 1.74.142559
6) These values can be converted to a probability (eg. 3.8 shots = 26.3% (100/3.8) chance a shot will hit it's target).

 

From the table, a prone AI soldier with skillFinal value of 0.50 for both "aimingAccuracy and "aimingShake" will have a 26.3% probability of hitting a prone target 250m away once the target has been spotted for the first time. Looking at the raw data, he will hit the target within 2 shots 30% of the time.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Grumpy Old Man said:

Not a bug, if you read a few lines above what you quoted this is only the case when aimingAccuracy on the AI is set to 1, as you can see it alters the skillFinal value but to a small amount.

 

Both sliders to 1, aimingAccuracy to 1, results in skillFinal 1.

Both sliders to 0.5, aimingAccuracy to 1, results in skillFinal 1.

Both sliders to 0.05, aimingAccuracy to 1, results in skillFinal 0.81.

 

Maybe the influence isn't as big as it's supposed to be, but after all a good thing for mission makers, since you still can place those overpowered AI units on a map by using the setSkill command, so players across all difficulty settings will have a similar experience. The slider has the biggest influence on editor placed units that are not manipulated using the setskill command.

 

Only downside is that these sliders only work upon mission start. Moving them during mission runtime doesn't change AI skillFinal values, only on new spawned units.

That kinda defeats the purpose of being able to adjust difficulty on the fly.

 

You are right, I did not see the finer details in your findings. Cudos for your work in mapping out the intricate dependencies among the various subskills.

 

There was a mod for A2 which would allow you to adjust skills on the fly mid-mission (Drongo something ?). That was brilliant, but unfortunately has not been ported to A3

 

-OP 
 

Share this post


Link to post
Share on other sites

I found this Graph showing "skill vs skillFinal vs Profile Difficulty"  here:

 

Graph notes:

1) This still appears to hold true for ArmA 3 version 1.74.142559.

2) The "Effective skill" is the value returned from skillFinal function for any sub-skill.

3) The "Profile difficulty" can be either " Game Difficulty: AI Level: Skill or Precision".

3.1) Setting " Game Difficulty: AI Level: Precision" value alters the skillFinal value of "aimingAccuracy and "aimingShake".

3.2) Setting " Game Difficulty: AI Level: Skill" value alters the skillFinal value for all the other sub-skills.

 

It is my understanding that the only critical number is the skillFinal value for each sub-skill (i.e "aimingAccuracy", "aimingShake" etc). It does not matter how this value is determined/calculated (i.e. any combination of Game Difficulty, editor skill slider, setSkill function etc).

 

Based on this premise I have been doing the following:

A) Setting my sub-skill values within my init.sqf file as follows:

"{
    _x setskill ["aimingShake",0.2];
    _x setskill ["aimingAccuracy",0.2];
} forEach allUnits;"

 

B) Making and testing my missions using the "Normal" AI difficulty setting (i.e."AI Level: Skill" =0.7, "AI Level: Precision" = 0.5).

 

Using this approach someone can play my mission as I intended by setting the Game Difficulty of AI to "Normal". If they think it is to easy then they can increase it to "Expert" or make it easier by setting "Novice". This approach should work base on the graph above and I believe it is how BIS planned it to work.

Share this post


Link to post
Share on other sites
On 8/16/2017 at 9:29 AM, Grumpy Old Man said:

Copy my stance is basically default AI behavior now. Place yourself as group leader and kneel, go prone and watch your squadmates.

 

Cheers

I had some time to check this out. mind you it was in the new campaign.

 

what I noticed is that they don't stick rigid enough to it which is fine on default as you'd want this to be more flexible.. 

 

when you specifically give the order to copy my stance or as it is (automatic stance). for me it means you do not want to micro manage movements/stances as you are trying to keep your focus on threats or an objective. as is you give specific order (automatic stance) . crawl towards a hot position to say an over watch. the Ai will stand up and run and drop again sky lining getting you spotted and killed. some wont go prone at all. in situations like this you may want them rigidly following your movements not have to keep telling them to specifically go prone then order get back up .  in the heat of battle you sometimes forget,. then the Ai they are 300m back still crawling prone again getting you killed.   

  

  • Like 2

Share this post


Link to post
Share on other sites
34 minutes ago, teabagginpeople said:

I had some time to check this out. mind you it was in the new campaign.

 

what I noticed is that they don't stick rigid enough to it which is fine on default as you'd want this to be more flexible.. 

 

when you specifically give the order to copy my stance or as it is (automatic stance). for me it means you do not want to micro manage movements/stances as you are trying to keep your focus on threats or an objective. as is you give specific order (automatic stance) . crawl towards a hot position to say an over watch. the Ai will stand up and run and drop again sky lining getting you spotted and killed. some wont go prone at all. in situations like this you may want them rigidly following your movements not have to keep telling them to specifically go prone then order get back up .  in the heat of battle you sometimes forget,. then the Ai they are 300m back still crawling prone again getting you killed.   

  

 

I agree it's a bit odd. After 4 years I got used to just set up small sub-teams (red,green,bleh) and order them to go prone/up individually. Hitting Shift+F2 -> 7 -> 8 is second nature now. Might even use one of those fancy macro keys for that, but not really necessary.

Doubt there's any more ergonomic way of doing this since AI will either fall behind when being prone for too long or get spotted for not being prone enough, as you mentioned already.

 

Cheers

  • Like 1

Share this post


Link to post
Share on other sites
On 8/19/2017 at 1:13 PM, Grumpy Old Man said:

Doubt there's any more ergonomic way of doing this since AI will either fall behind when being prone for too long or get spotted for not being prone enough, as you mentioned already.

Well they could just copy our stance. That would solve the entire problem.

  • Like 1

Share this post


Link to post
Share on other sites

Precision over distances:

The larger the distance, the worse the precision should be.

Every time I fight as a sniper over 700m the enemy detected and hit me pretty good.

I wearing my ghillie suit and laying motionless in the grass.

 

The ballistic of the cal 6.8 shouldn't work over 700m.

  • Like 1

Share this post


Link to post
Share on other sites
20 minutes ago, iV - Ghost said:

Precision over distances:

The larger the distance, the worse the precision should be.

Every time I fight as a sniper over 700m the enemy detected and hit me pretty good.

I wearing my ghillie suit and laying motionless in the grass.

 

The ballistic of the cal 6.8 shouldn't work over 700m.

 

 

Just tested it.

With 0.00 AI skill and 0.00 AI precision sliders in the difficulty menu setting an opfor rifle squad engaged and killed me 1 out of 5 times at 700m distance.

Given I wasn't using cover and wasn't moving but with a setting as low as it can get they really shouldn't be that good.

 

The usual tips persist: When being engaged break line of sight and relocate.

 

Cheers

 

  • Like 2

Share this post


Link to post
Share on other sites

I honestly think that suppression should be recalibrated, with the current maximum level of aiming inaccuracy to the bottom end, and when you hit 100% suppression no matter the skill should be such a huge penalty to accuracy and aim speed that a target beyond 25m is basically never hit. If necessary, make it so its harder to get the AI to 100% suppression if needed, but, an increase in the effect of suppression is needed.

  • Like 5

Share this post


Link to post
Share on other sites

If you put AI in a stationary Prowler/Qilin unarmed gunner seat, they will not shoot at you and instead just dismount and then shoot at you. :(

Share this post


Link to post
Share on other sites
5 hours ago, Night515 said:

If you put AI in a stationary Prowler/Qilin unarmed gunner seat, they will not shoot at you and instead just dismount and then shoot at you. :(

 

Didn't happen to me, just checked it.

Did you try it on an empty mission? Can you check again on an empy map?

Always good to double check if something happens on an empty map with no scripts/mods, since there can be quite a lot of stuff going on, manipulating possible outcomes.

 

Quilin (Armed) engaged me just fine without disembarking.

 

Cheers

Share this post


Link to post
Share on other sites
6 hours ago, Grumpy Old Man said:

 

Didn't happen to me, just checked it.

Did you try it on an empty mission? Can you check again on an empy map?

Always good to double check if something happens on an empty map with no scripts/mods, since there can be quite a lot of stuff going on, manipulating possible outcomes.

 

Quilin (Armed) engaged me just fine without disembarking.

 

Cheers

Unarmed, with a soldier taking up the "gunner" slot. Also I did the tests on VR.

Share this post


Link to post
Share on other sites
17 hours ago, Night515 said:

Unarmed, with a soldier taking up the "gunner" slot. Also I did the tests on VR.

Well that makes sense, it's not a "gunner" position similar to a turret, it's a firing from vehicle position.

In the quilin soldiers are basically sitting ducks when stationary, so it only makes sense for the soldier to disembark and head into cover.

 

Cheers

Share this post


Link to post
Share on other sites

Firing from vehicle positions:

It would be great if the Ai fired shots from the possible "vehicle positions" in attack and defense situations.

Not only the "gunners" should engage.

Share this post


Link to post
Share on other sites
14 minutes ago, iV - Ghost said:

Firing from vehicle positions:

It would be great if the Ai fired shots from the possible "vehicle positions" in attack and defense situations.

Not only the "gunners" should engage.

They do. Just not in a stationary vehicle.

 

Cheers

  • Like 1

Share this post


Link to post
Share on other sites

Not true apparently, at least that unarmed Quilin the vehicle stops and the guy jumps out, and after a while the vehicle continues on..?

Share this post


Link to post
Share on other sites
On 28.08.2017 at 2:12 PM, h - said:

Not true apparently, at least that unarmed Quilin the vehicle stops and the guy jumps out, and after a while the vehicle continues on..?

On the video, the commander of the group is the shooter of the mortar.

AI will all leave the car in one case, if the commander of the group and the AI group are in the same vehicle.

 

  • Like 1

Share this post


Link to post
Share on other sites

The AI group commander (which is the driver in the car if AI is driving it) will order everyone to disembark on enemy contact (unloadInCombat = 1 ? ), I'd presume because they're cargo and not gunners?

 

So, add scripting command vehicle unloadInCombat true/false if scenario designer would want to override this default behaviour :yummy:

Share this post


Link to post
Share on other sites

After the last update (1.76) I can't see (feel) any aiSkill (playing with skillAI = 0.35;) optimisations.

The precision is much to good too. I'm playing with precisionAI = 0.0001; and they hit me much to exact!

And the enemy see (hear, smell or whatever) me threw the barricades on the windows.

  • Like 2

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

×