Wiki 1558 Posted September 11, 2018 What is your AI settings? Can't figure out how to have a balance game: I'm facing all-knowing terminators and on the other hand, I always have a dumb medic... For example, mission 7 in Apex: Beginning on a high ground, at night, with suppressors. the enemy is Syndikat guys: they just know where I am located whereas I have suppressor / no muzzleflash and they have no NVG. this all mighty AI is really game breaking. What are your settings to have a balanced experience? 3 Share this post Link to post Share on other sites
Grumpy Old Man 3546 Posted September 11, 2018 Had 4-5 presets for AI, ranging from untrained over rookie/guerilla to elite, while not being too accurate and give nice prolonged firefights that could drag on and lead to pretty tense situations. Since the "AI refactoring" back in august 2017 I couldn't really reach those values even a conversion table from old to new was provided, maybe there was more involved since the difficulty AI sliders are also somewhat broken. These were the (no longer working) values I was using, maybe you can go from there: Spoiler if ("FRENCH" in _this) exitwith { _unit setskill 0.15; _unit setUnitAbility 0.15; _unit setskill ["aimingAccuracy", random [0.06,0.08,0.1]]; _unit setskill ["aimingShake", random [0.6,0.8,1]]; _unit setskill ["aimingSpeed", random [0.3,0.5,0.7]]; _unit setskill ["spotDistance", random [0.5,0.7,0.9]]; _unit setskill ["spotTime",random [0.6,0.8,1]]; _unit setskill ["commanding",random [0.8,1,1.2]]; _unit setskill ["courage",random [0.4,0.6,0.8]]; _unit setskill ["general", random [0.4,0.6,0.8]]; _unit setskill ["reloadSpeed",random [0.01,0.1,0.3]]; _unit setUnitRecoilCoefficient random [4,5,6]; true }; if ("ROOKIE" in _this) exitwith { _unit setskill 0.3; _unit setUnitAbility 0.3; _unit setskill ["aimingAccuracy", random [0.11,0.15,0.2]]; _unit setskill ["aimingShake", random [0.6,0.8,1]]; _unit setskill ["aimingSpeed", random [0.5,0.7,0.9]]; _unit setskill ["spotDistance", random [0.3,0.5,0.7]]; _unit setskill ["spotTime", random [0.5,0.7,0.9]]; _unit setskill ["commanding", random [0.8,1,1.2]]; _unit setskill ["courage", random [0.4,0.6,0.8]]; _unit setskill ["general", random [0.1,0.3,0.5]]; _unit setskill ["reloadSpeed", random [0.01,0.1,0.3]]; _unit setUnitRecoilCoefficient random [2,3,4]; true }; if ("GUERILLA" in _this) exitwith { _unit setskill 0.3; _unit setUnitAbility 0.3; _unit setskill ["aimingAccuracy", random [0.1,0.2,0.3]]; _unit setskill ["aimingShake", random [0.6,0.8,1]]; _unit setskill ["aimingSpeed", random [0.5,0.7,0.9]]; _unit setskill ["spotDistance", random [0.3,0.5,0.7]]; _unit setskill ["spotTime", random [0.5,0.7,0.9]]; _unit setskill ["commanding", random [0.8,1,1.2]]; _unit setskill ["courage", random [0.4,0.6,0.8]]; _unit setskill ["general", random [0.1,0.3,0.5]]; _unit setskill ["reloadSpeed", random [0.01,0.1,0.3]]; _unit setUnitRecoilCoefficient random [2,3,4]; true }; if ("TRAINED" in _this) exitwith { _unit setskill 0.3; _unit setUnitAbility 0.6; _unit setskill ["aimingAccuracy", random [0.2,0.35,0.5]]; _unit setskill ["aimingShake", random [0.6,0.8,1]]; _unit setskill ["aimingSpeed", random [0.5,0.7,0.9]]; _unit setskill ["spotDistance", random [0.8,1,1.2]]; _unit setskill ["spotTime", random [0.8,1,1.2]]; _unit setskill ["commanding", random [0.8,1,1.2]]; _unit setskill ["courage", random [0.8,1,1.2]]; _unit setskill ["general", random [0.8,1,1.2]]; _unit setskill ["reloadSpeed", random [0.1,0.3,0.5]]; _unit setUnitRecoilCoefficient random [1,1.7,2]; true }; if ("ELITE" in _this) exitwith { _unit setskill 0.3; _unit setUnitAbility 0.3; _unit setskill ["aimingAccuracy", random [0.5,0.6,0.62]]; _unit setskill ["aimingShake", random [0.6,0.8,1]]; _unit setskill ["aimingSpeed", random [0.5,0.7,0.9]]; _unit setskill ["spotDistance", random [0.3,0.5,0.7]]; _unit setskill ["spotTime", random [0.5,0.7,0.9]]; _unit setskill ["commanding", random [0.8,1,1.2]]; _unit setskill ["courage", random [0.4,0.6,0.8]]; _unit setskill ["general", random [0.1,0.3,0.5]]; _unit setskill ["reloadSpeed", random [0.01,0.1,0.3]]; _unit setUnitRecoilCoefficient random [0.5,0.55,0.6]; true }; Cheers 2 Share this post Link to post Share on other sites
Varis 34 Posted September 12, 2018 Currently playing on top of a script by Fluit and Bl1p (random AI skill). Grumpy would you have the converted values as well or did you put them into the trashcan? BTW love the names you gave to your troop quality levels I guess one answer could be to leave aiming accuracy (not too high, results in broken experience) but adjust reaction times etc. Share this post Link to post Share on other sites
Grumpy Old Man 3546 Posted September 12, 2018 3 hours ago, Varis said: Currently playing on top of a script by Fluit and Bl1p (random AI skill). Grumpy would you have the converted values as well or did you put them into the trashcan? BTW love the names you gave to your troop quality levels I guess one answer could be to leave aiming accuracy (not too high, results in broken experience) but adjust reaction times etc. I don't have any converted values, just goofed around with it a bit after the change, couldn't get any results that are close to before the change. A setUnitRecoilCoefficient above +2 also can force the unit to reacquire aim. Cheers Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 12, 2018 11 hours ago, Varis said: Currently playing on top of a script by Fluit and Bl1p (random AI skill). Hello Varis ! Can you add a link for this ? 1 Share this post Link to post Share on other sites
Varis 34 Posted September 12, 2018 Just now, GEORGE FLOROS GR said: Hello Varis ! Can you add a link for this ? Hi GEORGE - I could not find a link to the original script, but it's included in eg. Zerty's Mod of BECTI - https://github.com/zerty/Benny-Edition-CTI-0.97-Zerty-Modification - look under Addons 1 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 12, 2018 2 hours ago, Varis said: I could not find a link to the original script Thank you very much Varis ! I found the same searching this , but i wanted so else to ask you if you know about the original script. Thanks ! Share this post Link to post Share on other sites
tortuosit 486 Posted September 15, 2018 I don't care much about AI any more. I tend to make them dumb. I created stupid script which simply sets their skills randomly inside a defined range. Share this post Link to post Share on other sites
Gunter Severloh 4063 Posted September 15, 2018 Dont forget about my list fellas if your looking for scripts, codes, posts, and mods to help sort out issues or set them up to how you want: Also a little code i use in missions i build: Create a init.sqf inside it copy n paste the following: [] spawn { while {true} do { sleep 10; { _x setSkill ["aimingspeed", 0.1]; _x setSkill ["spotdistance", 0.2]; _x setSkill ["aimingaccuracy", 0.2]; _x setSkill ["aimingshake", 0.1]; _x setSkill ["spottime", 0.1]; _x setSkill ["spotdistance", 0.5]; _x setSkill ["commanding", 0.2]; _x setSkill ["general", 0.5]; } forEach allUnits; } }; and adjust the values to where you see fit, the lower the numbers the dumber they get, lol This works for units already on the map, and spawned in units as well. The current set values will give you a fighting chance, just dont get to cocky as they are somewhat still accurate, just not every bullet they shoot will land, i'd say 5 out of 10 will, consider the distance you are from them too. Heres an older vid i recorded, its just a gameplay demo of my mod but that mission im in is using this code: 3 Share this post Link to post Share on other sites
FallujahMedic -FM- 867 Posted September 15, 2018 I was just looking at it today! Share this post Link to post Share on other sites
tortuosit 486 Posted September 15, 2018 2 hours ago, Gunter Severloh said: Dont forget about my list fellas if your looking for scripts, codes, posts, and mods to help sort out issues or set them up to how you want: I'd put a "sleep 0.05;" into the foreach loop just to be on the safe side (possibly lag when many units?) because you apply skill on all units every time. Also good practise when spawning units. Don't know if it presents lags at all. OTOH, ArmA people are used to detect unit spawns with help of lag :D The below script sets random skills (per side) and remembers units in arrays, i.e. can apply only once, may not be 100% perfect code (e.g., could use "params") and change of skill on spawn EH would be better, but hey. It may also be an idea to create seeded randomness per unit seed. Should be easy to get a number from the object name and with seeded randomness you can get the same pseudo randomness per unit. EDIT: The rotten forum software a) ate preceding blank spaces and b) added empty lines. I put the code here: https://pastebin.com/itgrjwmM 1 Share this post Link to post Share on other sites
Jnr4817 215 Posted September 15, 2018 2 hours ago, Gunter Severloh said: Dont forget about my list fellas if your looking for scripts, codes, posts, and mods to help sort out issues or set them up to how you want: Also a little code i use in missions i build: Create a init.sqf inside it copy n paste the following: [] spawn { while {true} do { sleep 10; { _x setSkill ["aimingspeed", 0.1]; _x setSkill ["spotdistance", 0.2]; _x setSkill ["aimingaccuracy", 0.2]; _x setSkill ["aimingshake", 0.1]; _x setSkill ["spottime", 0.1]; _x setSkill ["spotdistance", 0.5]; _x setSkill ["commanding", 0.2]; _x setSkill ["general", 0.5]; } forEach allUnits; } }; and adjust the values to where you see fit, the lower the numbers the dumber they get, lol This works for units already on the map, and spawned in units as well. The current set values will give you a fighting chance, just dont get to cocky as they are somewhat still accurate, just not every bullet they shoot will land, i'd say 5 out of 10 will, consider the distance you are from them too. Heres an older vid i recorded, its just a gameplay demo of my mod but that mission im in is using this code: How would you turn this into a lobby parameter and have 1-5 settings to choose from for MP, Dedicated, etc? 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 15, 2018 6 minutes ago, tortuosit said: you apply skill on all units every time Maybe it would be a better idea to set a variable and check that instead. Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 15, 2018 11 minutes ago, Jnr4817 said: How would you turn this into a lobby parameter and have 1-5 settings to choose from for MP, Dedicated, etc? Once i ll have time i will add my example here as well ! Share this post Link to post Share on other sites
Wiki 1558 Posted September 15, 2018 yes, but that only works on missions you make. what is your AI settings for official missions? Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 16, 2018 23 hours ago, Jnr4817 said: How would you turn this into a lobby parameter and have 1-5 settings to choose from for MP, Dedicated, etc? Here is my example: Spoiler 1 Share this post Link to post Share on other sites
semiconductor 309 Posted September 20, 2018 I have a somewhat related question that keeps buggering me since the Arma 2 days -- how do you actually set the the AI skill? The skills you change in game's difficulty are not the skills you actually get because each unit has this weird skill slider which somehow affects the final skill. To make matters worse, that slider doesn't seem to be a simple multiplier for the AI skill because you can set AI skill to 1, leave the slider at 0.5 and still get something like 0.74915164. Is there any way to set the damn thing to a concrete and constant value once and for all? 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted September 20, 2018 52 minutes ago, semiconductor said: Is there any way to set the damn thing to a concrete and constant value once and for all? Hello there semiconductor ! I will just tell you to check my script. ( + There is also a random option. ) Share this post Link to post Share on other sites
Broseph_Stalin90 72 Posted September 20, 2018 1 hour ago, semiconductor said: I have a somewhat related question that keeps buggering me since the Arma 2 days -- how do you actually set the the AI skill? The skills you change in game's difficulty are not the skills you actually get because each unit has this weird skill slider which somehow affects the final skill. To make matters worse, that slider doesn't seem to be a simple multiplier for the AI skill because you can set AI skill to 1, leave the slider at 0.5 and still get something like 0.74915164. Is there any way to set the damn thing to a concrete and constant value once and for all? I've been wondering the exact same thing for probably just as long. I remember during Arma 2, setting the unit skill in the editor above 50% would turn them into terminator death machines, I assume the same happens with Arma 3, so I usually leave the average unit skill around 40-50%, depending on rank, infantry or insurgents, etc etc. I'm not too sure how much ACTUAL effect this has, or if the skill is too low, too high. Share this post Link to post Share on other sites
semiconductor 309 Posted October 1, 2018 *crickets* Well, here's the problem with the AI - you can't balance it because nobody has any clue what the skill would actually be and how it would affect bots' behaviour. Most of the time I just tune them to some random level that intuitively seems acceptable and call it a day. The more you try to tweak the AI, the more it will start to deviate from desired behaviour. 2 Share this post Link to post Share on other sites
warlord554 2065 Posted October 1, 2018 I give them high dispersion weapons. If you really want you could add a trigger that doesn't enable them to engage until your parameters are met Share this post Link to post Share on other sites
semiconductor 309 Posted October 2, 2018 22 hours ago, warlord554 said: I give them high dispersion weapons. Interesting, what weapons are these? 22 hours ago, warlord554 said: If you really want you could add a trigger that doesn't enable them to engage until your parameters are met Yes but it's too much hassle for something that should be a trivial thing. Share this post Link to post Share on other sites
warlord554 2065 Posted October 2, 2018 Yeah I know brother AI needs alot of work. Workarounds like those is what I've resorted too over the years lol Weapon dispersion is defined in the weapon config (whatever weapons you give to enemy). Just adjust and pack config as pbo. This method simulates lower skilled bad guys pretty good. They aren't all sharpshooters 2 Share this post Link to post Share on other sites
Janez 531 Posted October 5, 2018 On 9/15/2018 at 7:34 PM, Wiki said: yes, but that only works on missions you make. what is your AI settings for official missions? I turned the campaign and all showcases couple of times before "AI refactoring" grumpy mentioned and I have it by now with first shot, headshot on 300m. So, now that global skill slider affects AI a lot more linearly I'm running these, forgiving values. class CustomAILevel { skillAI=0.75; precisionAI=0.25; }; Share this post Link to post Share on other sites