Jump to content
Sign in to follow this  
.kju

PROPER AI Test Framework v1.0

Recommended Posts

/**********/

/* README */

/**********/

/* VERSION: 1.0 */

//////////////////

// Information: //

//////////////////

This addon provides a framework for AI testing in Armed Assault. It is sort of

a wrapper to make AI editing as simple and comfortable as possible.

This is achieved by the following features:

+ No pbo making required. All changes are done in human readable text files

outside of pbos.

+ Only AI related values present in the text files (maybe a few unrelated ones

still in there).

+ You can change all AI related values via the text files.

+ You can either work via defines from 3 different configuration files:

They allow you to tweak AI values through percentage and in a global fashion.

However you can go into the text files itself and tweak every single value

yourself.

The background for this project is that like in OFP in our view the AI in Armed

Assault has still much room for improvement via config tweaks.

In general this should make AI tweaking much easier. Nevertheless a sort of basic

level of understand about config editing / overall ArmA editing is required.

You will find a basic description of the AI values in the "PROPER_AI_Values_Description.txt"

(located in "ArmA\@PROPER\addons\PROPER_AI_Test_Framework_Configuration"). For

additional information visit the BIKI links to be found in this file.

You are advised to the read the whole "endless" readme here as well. ;]

Like the name is saying, this is a test framework. In the end once good values

are found, a new addon should be made. This project is only for testing. This

addon shouldn't be offered with tweaks in it. You can trade your configs of

course, but again in the end your work from the testing should end up in a new

addon with a "normal" structure.

NOT RECOMMENDED TO BE USED IN MULTIPLAYER! THIS WILL BE CONSIDER CHEATING!

NOT TESTED IN MULTIPLAYER - THERE IS ALWAYS THE CHANCE TO CRASH THE SERVER

WITH MODIFIED DATA - DON'T USE IT IN MP. PERIOD.

////////////////

// Structure: //

////////////////

This addon consists of two pbos and a folder with various human readable text

files:

"PROPER_AI_Test_Framework_Core.pbo" ends up in "ArmA\@PROPER\addons".

The "PROPER_AI_Test_Framework_Configuration" folder ends up in

"ArmA\@PROPER\addons" as well.

The "bin.pbo" has to be in "ArmA\@PROPER\dta".

### IMPORTANT ###

You _HAVE TO USE_ "@PROPER" as modfolder name!

////////////

// Notes: //

////////////

This is the full release. However this project will most probably get a few

more updates.

1. Very soon we will release an AI value overview of WGL5.12 and standard OFP.

You can use these as a reference to compare values to the ArmA standard ones.

Feel free to use the values provided in there!

We didn't test if the OFP values make ArmA very OFP like as far as AI is

concerned. Yet is is very likely that they will have almost the same effect.

2. The define system is open for suggestions. For example it can be made more

or less detailed.

Any suggestions / help / feedback are very much appreciated.

////////////

// HowTo: //

////////////

Without modification the PROPER AI Test Framework contains the default /

standard Armed Assault values.

Editing AI values:

------------------

In general you have two different ways to tweak the values:

1. Defines

----------

They allow you to tweak AI values through percentage and in a global fashion.

Any double value is valid. 1 equals 100%, 0.1 = 10% of the standard value,

10 = 10 times the standard value.

Almost all values can be tweaked via defines. "Threat[]" and "recoil" has to

be tweaked manually (once you have a look at the configs, you will understand.

It would be possible to make them tweakable via defines too, but it doesn't

really make sense.

"Global fashion" means that a change of a define might effect like all infantry

classes or all lmg weapon's ammo etc.

This depends on the class system setup, class inheritance and value definition

in non "base classes" given by the default config structure of Armed Assault.

In the "PROPER_AI_Test_Framework_Configuration" folder ("ArmA\@PROPER\addons")

you will find these two text files:

"PROPER_Defines_Dta_Bin_Config_List.hpp"

You can tweak most main config values here. The highest amount of AI values can

be tweaked in here and based on the ArmA class system most times changes will

have a wide effect over various classes.

"PROPER_Defines_A_List.hpp" (A = ALL-IN-ONE)

By default this define list will be active. It will affect all AI values to be

found in the "ArmA\addons configs".

If you only want to tweak AI values via defines, than this file is your way to

go.

Side note: This set of defines here affects all in the "PROPER_All_in_one.hpp" file

(located in "ArmA\@PROPER\addons\PROPER_AI_Test_Framework_Configuration\SourceFiles").

2. Tweak individual values

--------------------------

However you can go into the text files itself and tweak every single value

yourself. Note that you should _NOT_ edit any value in the "PROPER_All_in_one.hpp"!

Instead you should activate the "SEPARATED" solution:

"PROPER_Defines_S_List.hpp" (S = SEPARATED)

In the "PROPER_AI_Test_Framework_Configuration_Base.hpp" (located in

"ArmA\@PROPER\addons\PROPER_AI_Test_Framework_Configuration") you can deactivate

the "ALL-IN-ONE" solution by commenting this define like this:

//#include "\@PROPER\addons\PROPER_AI_Test_Framework_Configuration\SourceFiles\PROPER_All_in_one.hpp"

By this you activate the "SEPARATED" solution.

This set of defines here affects all the defines in the "PROPER_Cfg***.hpp" files.

You are advised to tweak individual config values in the "PROPER_Cfg***.hpp"

and "PROPER_Dta_Bin_***.hpp" files and _ONLY_ in there!

("PROPER_Dta_Bin_Config_Base.hpp" doesn't contain AI values and therefore is

NOT meant to be touched! )

"cfgAISkill", "CfgDifficulties" and "CfgRecoils" can _ONLY_ be tweaked by

editing the actual values in the hpp files. No defines available!

### IMPORTANT ###

You _HAVE TO_ restart Armed Assault to have the changes take effect!

////////////////////

// Closing words: //

////////////////////

The HowTo explanation became quite complicated. The actual system and the

editing is _NOT_. For someone into config editing, it should be very easy

once you get the basic structure and options provided by the framework.

We hope you find this little useful, take your valuable time to find better

AI values and share them with the Armed Assault community - thank you!

enjoy

/*

- made by -

The-F and Q

*/

////////////////

// Changelog: //

////////////////

~ 1.0:

Initial release.

~ 1.1:

Missing value "burst" added (description missing).

Added missing values from "A10".

Added description of sensitivityEar.

Share this post


Link to post
Share on other sites

Just awesome, Q!

Will test it after i got home from work.

MfG Medicus smile_o.gif

Share this post


Link to post
Share on other sites

Great, we definitely needed such a framework. Will make AI tweaking a lot easier.

Thanks Q !

Malick

Share this post


Link to post
Share on other sites

Great tool Q greatly appreciated!

/KC

Share this post


Link to post
Share on other sites

Can anyone steer me on where to increase an AI AT squaddie's likelyhood of using their God-given AT weapon when faced with armour?

Thanks for the tool smile_o.gif

Share this post


Link to post
Share on other sites

Hi all,

I've been toying around with these tweaks. I noticed that you have forgotten to include the ability to modify sensitivity for CAManBase class. I added it for my own convenience.

Furthermore, does anyone know how sensitivity and sensitivityEar works exactly ? How are they related ?

With what tweaks have you been toying around on your side ?

Malick

Share this post


Link to post
Share on other sites
Quote[/b] ]Can anyone steer me on where to increase an AI AT squaddie's likelyhood of using their God-given AT weapon when faced with armour?

could you please be more precise?

do you mean faster reaction of firing or faster vehicle recognition?

Quote[/b] ]I noticed that you have forgotten to include the ability to modify sensitivity for CAManBase class. I added it for my own convenience.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Man: Land {

...

sensitivity = 1;

sensitivityEar = 0.13;

...

};

class CAManBase: Man {

...

You have exactly the original ArmA structure.

We didn't modify it, we only added defines to tweak it. smile_o.gif

As you can see sensitivity is tweakable via the man class. wink_o.gif

Added to the description from the BIKI:

sensitivityEar

-----

Sets how well can the given unit hear others. The bigger the value, the better the hearing.

interesting post in that regard

effortlessly spotted by a tank as a soldier nearly 600m away and being "sniped"

you can find various hints and comment in the old OFP forums via search wink_o.gif

---

Quote[/b] ]I added it for my own convenience.

overall we are very positive about such requests.

if you find certain defines missing, the system to be more split

up and precise, please tell us. thumbs-up.gif

Share this post


Link to post
Share on other sites

OK, my bad wink_o.gif

Regarding 'sensitivityEar' and 'sentivity', I was asking about their relationship : if I increase 'sentivity', will it influence 'sentivityEar' ?

If not, it would imply that they are in fact 'sentivityEar' and 'sentivityEye'.

I'll have a deeper look into the link you've pointed me to. Thanks.

Malick

Share this post


Link to post
Share on other sites

sorry Malick!

its been quite some time ive done AI editing myself.

i guess you are best of with asking it nevertheless and hope

that others might know and respond.

other than that, i'd say going for ofpec forum (search and asking)

and the search in the ofp forum is the best bet smile_o.gif

@HGuderian:

This is only a test addon. It doesn't change your game by default.

Without kowning the structure of NWD_realistcBalistic, it should

not. Only addon/projects with a dta\bin won't work together with

this (i think). smile_o.gif

Share this post


Link to post
Share on other sites
sorry Malick!

its been quite some time ive done AI editing myself.

i guess you are best of with asking it nevertheless and hope

that others might know and respond.

other than that, i'd say going for ofpec forum (search and asking)

and the search in the ofp forum is the best bet  smile_o.gif

Hehe, thanks Q !

I've been digging in various OFP/ArmA editing resources on my HD and on the net... Not everything is complete, of course, but it helps getting a broader picture.

It would be most interesting to know other people's conclusion on the in game influence of various tweaks, and most of all, their crossed influence. It's the purpose of this framework, afterall tounge2.gif

So far, I was able to:

- make AI engage at longer range (sentivity=10 for CAManBase, thanks to alpha125rbf hint, makes AI detect at 400m and engage around 300m);

- increase the rate of fire at longer range (decrease AIRateofFire, increase maxRange, midRange and minRange by a factor 2);

- make firefights last longer (in difficulty settings, enemy and friendly accuracy = 0.45)

- prevent AT from targeting infantry (added irlock = 1 for M136 and PG7V)

Still testing !

Malick

[edit] : mixed up AIRateofFireDistance and min/mid/maxRange coeff.

Share this post


Link to post
Share on other sites
Quote[/b] ]Can anyone steer me on where to increase an AI AT squaddie's likelyhood of using their God-given AT weapon when faced with armour?

could you please be more precise?

do you mean faster reaction of firing or faster vehicle recognition?

Sorry, I guess that would be increasing the speed that AT soldiers fire at armor with proper weapon. I've been testing in the editor with myself and 5 AT squaddies against 1 T-72. Squaddies have no problem identifying the tank but often open fire with their rifles or scurry around not using their AT weapons until it's too late. Arma doesn't seem to have the same action menu as OFP in which you can order them to use their LAW weapons.

Share this post


Link to post
Share on other sites
@HGuderian:

This is only a test addon. It doesn't change your game by default.

Without kowning the structure of NWD_realistcBalistic, it should

not. Only addon/projects with a dta\bin won't work together with

this (i think).  smile_o.gif

I haven't tested it yet, but doesn't it overwrite other configs as it contains default vaules?

Share this post


Link to post
Share on other sites

it doesn't (at least it shouldn't to my understanding).

only if your addon XYZ tries to overwrite AI related values, you

might run into troubles.

it overwrites the complete main config (dta\bin.pbo), like i said.

the rest is only updating the addons AI values.

Share this post


Link to post
Share on other sites

Would this be possible to include the ability to control Mg bursts over various distances?

Quote[/b] ]class close : manual {

burst = 10;

aiRateOfFire = 0.5; // delay between shots at given distance

aiRateOfFireDistance = 70;

minRange = 100;

minRangeProbab = 0.05;

midRange = 150;

midRangeProbab = 0.58;

maxRange = 250;

maxRangeProbab = 0.04;

showToPlayer = false;

Share this post


Link to post
Share on other sites

The next update will contain the "burst" value. smile_o.gif

We finally finished the WGL5 AI values overview:

WGL5_AI_values_overview.rar

The package contains 3 excel sheets about all AI values present

in WGL5. Only the main config is missing for now. It should be

posted soon as well.

Note that some AI values are to be found in different classes in

ArmA, like cfgWeapons <-> cfgMagazines <-> "Weapon"_Mode.

Share this post


Link to post
Share on other sites

Hi Q,

I went through the WGL5 AI values and have a question :

In "men overview", why are there values such as 2 next to values 39203 in column accuracy ? Isn't this a bit extreme, or am i missing something here...

Otherwise, any suggested config so far ? I'm still toying around...

Malick

Share this post


Link to post
Share on other sites

An update on what / in other words what additions/changes do

you think are still needed? smile_o.gif

Share this post


Link to post
Share on other sites

A small update on this one.

Quote[/b] ]~ 1.1:

Missing value "burst" added (description missing).

Added missing values from "A10".

Added description of sensitivityEar.

See the second post in the thread for the link. wink_o.gif

---

Is anyone trying to use the WGL5 AI values we've provided?

I guess the result should be very enjoyable (as ArmA AI wasn't

changed much from the technical side AFAIK .. apart from the

new bugs).

Feel free to do so!

Share this post


Link to post
Share on other sites

Maybe one can tweak AI with these a bit too:

Quote[/b] ] class Man: Land

{

...

lyingLimitSpeedHiding = 0.8;

crouchProbabilityHiding = 0.8;

lyingLimitSpeedCombat = 1.8;

crouchProbabilityCombat = 0.4;

lyingLimitSpeedStealth = 2;

...

Share this post


Link to post
Share on other sites
Maybe one can tweak AI with these a bit too:
Quote[/b] ] class Man: Land

{

 ...

 lyingLimitSpeedHiding = 0.8;

 crouchProbabilityHiding = 0.8;

 lyingLimitSpeedCombat = 1.8;

 crouchProbabilityCombat = 0.4;

 lyingLimitSpeedStealth = 2;

 ...

Hmmm, that's very interesting, but I think I never noticed these parameters...

I'll have a look (once I find the time sad_o.gif )

Malick

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
Sign in to follow this  

×