Old Per vs. New Per

@DeciusFlavius here we go. The per files are in the >>AOE\CP_AI\PER folder. If you are using the steam version the the game is located under the >Steam\steamapps\common\aoe folder. If you are using the windows version the folder is
C:\Program Files\WindowsApps\Microsoft.MSDallas_1.3.27374.2_x64__8wekyb3d8bbwe

I just extracted the original Holy Man and it is Chariot Cav Archers and Aggressive. I have to figure out how to open the new one as my old campaign editor won’t recognize the files from there.

1 Like

Holy cow!!! There were 106 changes between the aggressive legacy and aggressive DE. I used Word to do the compare. It is crazy.
Agressive AI compare

1 Like

Thank you so much! This makes some things easier!
Now I only miss the special AI files from the campaigns, but I guess these ones can only be accessed by the developers :frowning:

Edit: I will compare them aswell! Maybe it solves the mystery, why the AI is so much more aggressive!

Edit 2: Comparing the “AGGRESSIVE” .per files. One thing I found out, is that the attack seperation time and attack response time is extremly low in the DE. That’s pretty sure a cause of the extraordinary aggressiveness instead of a “normal” aggressivness. Also there are way more things determined in the DE file, which can be in some cases an advantage, but maybe in some cases causes weird outcomes (maybe the value doesn’t work as intended or it wasn’t tested enough, what a good value would be and how the value actually works).

Edit 3: Next thing - The AI is set on extermination mode, after an attack. So instead of stoping an attack at one point and retreating, it keeps going on with fighting relentlessly.

1 Like

Some of the legacy per files are there in the legacy folder and it is true to the orginal ones when compared. Remember that in the original files the .vc are the pers type and for Holy Man it is the first aggressive listed as vc.

I think this is the line problem:

49 3 //SNRetreatAfterTargetDestroyed

It was changed from 1 to 3 and according to the playbook a 3 is:

3 means that the group will go into extermination mode; they will explore unexplored territory and attack any enemies units they uncover

1 Like

LOL we found it about the same time.

1 Like

Yes! I think the browser wasn’t refreshing as you wrote about the extermination mode, we wrote this about the same time :smiley:

Do you have a list of the new codes and codes phased out?

I think setting this back to 1 helps a lot, but other values may still need adjustments (e.g. in defensive per files) like defensive groups, percent health, percent death and percent unit health retreat. But I need to test this more, to know how the values actually affect the behavior of the AI. The lower the number, the lower the aggressivness should be, if I understand it correct, but I have no idea which values actually causing what exactly behavior ingame.

Sadly not, but I don’t know much about, how something gets phased out. It seems this was in the old files only a note, but had no real effect. Maybe you can enlighten me more about how this things work.

Addendum: It seems, that the per files in some campaign missions are even more aggressive defined than the current default options, which we right now compare to the old ones. I tested this with the mission crossing the alps. Tested it with the predefined per file of the mission and then with the new default aggressive and defensive per files. In the campaign the idle units also don’t get tasked (= they don’t spread their military units out, they just stand in front of their production building.

So when codes get phased out, epecially when upgrading a game like this, they are still there but the coders have created a better model and assigned it a new code. Take for example
5 250 //SNCapCivilianGatherers
It was orginally set at -1 which meant to ignore the % cap and problems we would have on the old game of all villagers and no men. Now with a number in there it balances the gathers to fighting units. Since all stances in the old game were set -1 it was a code that wasn’t really needed and thus phased out. Which makes me wonder if some of the other per settings still have the -1 in there and the reason we get all villagers and no city building in some of the games we play. -1 would say go crazy with gatherers and would forget to build builders and men and we get games that they just standing around for easy pickings.

1 Like

So things that get phased out didn’t really have an impact and it would be the same or even better to delete this value instead keeping it at -1?

1 Like

Pretty much and I’m sure it has to do with the balancing they did. Once I figure out how to extract the scenarios from the campaign file, I can probably subtract out the per file as well and see what else makes it so difficult. If I had the new map it wouldn’t be much to create the old ai file and see what happens with it.

1 Like

You find all campaign missions extracted under the following link: http://aoe.heavengames.com/dl-php/showfile.php?fileid=2790

If you are able to substract the .ai and the .per files of the campaigns, would you share them with me or tell me, how you extracted them?

1 Like

Thank you!!! I am gonna run it through the old ai extractor and see what I get.

Edit. Got nothing but the ai files we already have from the aoede folder. Ok working on modding the ai file back to the original settings and see what happens.

1 Like

I am sure you have this already but it helps so much.

Spreadsheet with .per numbers

1 Like

Thank you!

I know this list, but thank you, because it is really helpful!

I don’t want to be annoying, but may I ask you a few last questions? No problem if you don’t know the answers or if you answer them not today. It looks much, but it should require only short answers^^ There are a few things I don’t understand or I’m not sure about:

Do you know what this means and how it works?
//SNPercentVictoryClamp - Sets the point at which computer players (via the information from the statistics screen) throw everything to the wind and begin to battle a player about to win the game. Must be >= 0 and <= 100.

Same question here. I don’t have a clue what this is about :frowning:
//SNZeroPriorityDistance - Sets the distance at which a computer player’s order for a unit is set to a priority of 0. Must be >= 0 and <= 144.

Do you know any detailed information, about how this works? Are the methods hidden or is this combined with the single fill group and multiple fill group?
//SNDefendGroupMakeup - Selects the method by which units are assigned into land-based defend groups.

Am I correct here: Let’s say I set this to 8. When an enemy unit gets attacked, than units from 0 to 8 tiles away will help that attacked unit?
//SNEnemySightedResponseDistance - Sets the distance inside of which units will be candidates for response to an enemy attack. Must be >= 0 and <= 144.

Am I correct here: This time determines how many seconds passes until the enemy react to attack (and send troops to the attacked area)?
//SNAttackResponseSeparationTime - Sets the amount of time that must pass before units respond to a subsequent enemy attack distress call. Must be >= 0.

Have you an idea, how this looks like? 1 is to activate it, but what’s the effect in practice, if the numbers aren’t equal?
//SNLockAttackAndAttackResponse - This treats the SNAttackSeparationTime and SNAttackResponseSeparationTime as the same numbers. Must be either 0 or 1.

Do you have insights, what an tactical AI update is?
//SNTacticalUpdateFrequency - Sets the number of seconds that pass between each tactical AI update. Must be >= 0.

So this one tells the ai to get it in gear. On the aggressive.per it is set to 75 which would mean when an enemey player is 75% to victory he will throw everything he has at you.

As for the others I am not sure and it may be best to just start playing around and see what happens using a scenario we know how works. I would assume that the tactical update would be how long it checks to see if you are in the vicinity, but I don’t know for sure. A lot of these back when were modding AOM are different.

So far all my tricks cannot extract out the custom ai, per, and cty files but I am looking to see if I can find something with genie

1 Like

Thanks for your effort and I might don’t come around of testing^^

This file makes it easier to read and edit if you don’t already have,


and of course these


1 Like

Thanky you, but you guessed it. These are the ones I currently use to create AI files :smiley: