Jump to content

Mission AI Research


Recommended Posts

Posted

here is the list of possible [AI] settings in the .mis file, if someone needs to change one of these value then let me know .. i can tell where it is saved in the .mis file :D

 

I will keep updating this post everytime someone asks me to look up a value, make sure you come back and read it again

 

[AI]
FirstAttackBuildingDelay
TimeBetweenBuildingAttacks
FirstAttackUnitDelay
TimeBetweenUnitAttacks
AttackUnitStrength
AttackBuildingStrength
ProtectStrength
DefendStrength
SpeedWeight
HPWeight
FirePowerWeight
CashStash
Morale
AttackSidePriority
UnitBuildPriority
UnitRepairValue
ProtectUnit
BuildingRepairValue
DefendBuildingPriority
AttackBuildingPriority
MinBaseStrength
MaxBaseStrength
BaseDefenceRadius
HarvestersPerRefinery ; BYTE,        7428,         "Unknown - 7428"
CarryallsPerRefinery
RecogniseThreat
MoraleModifier
MaxMorale
MinMorale
AirliftPercentage
UseIdealStrength
UnitBuildRate ; DWORD,        7468,         "Unknown - 7468"
RepairUnits
RepairGuardingUnits
BuildingRepairTicks
UnitRepairTicks
ProtectTicks
DefendTicks
AirliftAndAttack
BuildBuildingRate
RebuildBuildings
TimeBeforeRebuilding
AttackBuildingRandomPercentage
BuildUnitRandomPercentage
TimingRandomPercentage
GroupSizeRandomPercentage
GuardBuildings
SquishInfantry
SquishRange
MaxAttackUnitGroups
MaxAttackBuildingGroups
MaxProtectGroups
MaxDefendGroups
MaxGuardGroups
BuildRatio
MaxBuildings
DefendArea
DefendAreaTimeout
EnablePractice
BuyUnits
UpgradeBuildings
DefaultBuildingRepairValue
DefaultUnitRepairValue
IR
GuardGroupSize
DontSell
FreePercentage
EmergencyBuildRate
SpecialWeaponDelay ; DWORD,        7448,         "Unknown - 7448"
  • Upvote 1
Posted

Here are all the useful entries me and funky found. Copy paste the text from the spoiler to Mission Editor 4.o preview's SegmentDataList.txt

 

WORD, 7458, "Unknown - 7458"
DWORD, 7468, "UnitBuildRate - 7468"
DWORD, 7464, "Unknown - 7464"
BYTE, 7455, "Unknown - 7455"
DWORD, 3856, "Unknown - 3856"
DWORD, 3860, "TimeBetweenBuildingAttacks - 3860"
DWORD, 3868, "Unknown - 3868"
DWORD, 3872, "Unknown - 3872"
DWORD, 7436, "Unknown - 7436"
DWORD, 7440, "Unknown - 7440"
DWORD, 16, "Unknown - 16"
DWORD, 7476, "Unknown - 7476"
DWORD, 7480, "Unknown - 7480"
DWORD, 3920, "Unknown - 3920"
DWORD, 3936, "Unknown - 3936"
DWORD, 3940, "Unknown - 3940"
BYTE, 7493, "Rebuild Buildings"
BYTE, 7492, "Unknown - 7492"
BYTE, 7444, "Can Repair Units"
BYTE, 7445, "Unknown - 7445"
BYTE, 7432, "Unknown - 7432"
DWORD, 4216, "Unknown - 4216"
DWORD, 4220, "Unknown - 4220"
DWORD, 4224, "Unknown - 4224"
DWORD, 4228, "Unknown - 4228"
WORD, 4232, "Unknown - 4232"
BYTE, 4234, "Unknown - 4234"
BYTE, 3902, "ProtectStrenght - 3902"
BYTE, 3903, "DefendStrenght - 3903"
BYTE, 3904, "Unknown - 3904"
BYTE, 3901, "Unknown - 3901"
BYTE, 3900, "Unknown - 3900"
BYTE, 3907, "Unknown - 3907"
BYTE, 3908, "Unknown - 3908"
BYTE, 3909, "Unknown - 3909"
BYTE, 3906, "MaxAttackBuildingGroups - 3906"
BYTE, 3905, "MaxAttackUnitGroups - 3905"
DWORD, 7448, "SpecialWeaponDelay - 7448"
BYTE, 7452, "Unknown - 7452"
BYTE, 7454, "Unknown - 7454"
BYTE, 3926, "Do Attack Approachers"
BYTE, 3924, "Unknown - 3924"
BYTE, 3925, "Unknown - 3925"
BYTE, 7428, "HarvestersPerRefinery - 7428"
BYTE, 7429, "CarryallsPerRefinery - 7429"
BYTE, 3948, "AttackBuildingRandomPercentage - 3948"
BYTE, 3949, "BuildUnitRandomPercentage - 3949"
BYTE, 3950, "TimingRandomPercentage - 3950"
BYTE, 3910, "Unknown - 3910"
BYTE, 3911, "Unknown - 3911"
BYTE, 3951, "GroupSizeRandomPercentage - 3951"
BYTE, 7505, "Unknown - 7505"
BYTE, 7497, "Unknown - 7497"
BYTE, 2, "Unknown - 2"
DWORD, 24, "Unknown - 24"
BYTE, 30, "Unknown - 30"
BYTE, 3, "SkirmishAIbuilding - 3"
BYTE, 4, "Buy Units from Starport"
BYTE, 5, "Upgrade Buildings"
BYTE, 31, "Unknown - 31"
BYTE, 29, "Unknown - 29"
DWORD, 40, "Unknown - 40"
DWORD, 36, "Unknown - 36"
BYTE, 28, "Unknown - 28"
DWORD, 20, "Unknown - 20"
DWORD, 3932, "Unknown - 3932"
DWORD, 12, "Unknown - 12"
BYTE, 6, "Unknown - 6"
BYTE, 10, "Unknown - 10"
BYTE, 11, "Unknown - 11"
BYTE, 7, "Unknown - 7"
BYTE, 3853, "Unknown - 3853"
BYTE, 6636, "Unknown - 6636"
BYTE, 7431, "Unknown - 7431"
BYTE, 7485, "Unknown - 7485"
DWORD, 3880, "EmergencyBuildRate - 3880"
BYTE, 7453, "Unknown - 7453"
 
 
  • Upvote 1
Posted

Awesome work. I was wondering on some of the values and what they actually mean. The Emergencybuildrate for example, what does that actually pertain to?

Posted

Awesome work. I was wondering on some of the values and what they actually mean. The Emergencybuildrate for example, what does that actually pertain to?

The build rate AI uses when in danger (i.e. under heavy attacks).

Posted

Oh ok, makes sense. It looks like if its just a value of 0=dont build when under attack, or 1=build while being attacked.

Another one I was looking at was protectstrength and defendstrength, Im guess protect is for the harvesters under attack and defend is for units defending base?

Posted

Not sure about those.

Build rates can take any value, the lower it is, the faster he builds. Setting it to 1 or 0 is max build speed

  • 4 months later...
Posted

DWORD, 7436, "Unknown - 7436" - maybe this is how many turrets AI building. Testing results:

= 8 then comp building 4 rocket turrets and 4 gun turrets
if = "4" or > "8" then   - the comp builds only 4 rocket turrets and gun turrets not build at all

very strange ))

Posted

Thanks, I using this program for AI - very helpful.  There are some unknown bytes there. Need manual for some oter, if it is. For example, what for: "MaxBaseStrength", "SquishInfantry", "HPWeight" (many), "SpeedWeight" (many)?

  • 7 months later...
Posted
On 11-9-2015 at 5:15 AM, FunkyFr3sh said:

All AI values were identified meanwhile, you can edit them using the last Map and Mission Editor found here: http://d2kplus.com/MapandMissionEditor.php

Yes but half do not work "AttacksidePriority" does not seem to change anything. AttackBuldingpriority only seems to influence the AI minimally and many others i can't even seem to confirm

I might be doing something wrong though

 

I tried 0/1 100,000, 255 and 20000

Posted

AttackBuildingPriority does work, for example that's why sometimes in the original campaigns the AI would rush your ConYard with a few trikes and quads before retaliating and attacking your army/defences.

 

I tried the AttackSidePriority myself and I wasn't lucky with it either, as I couldn't see any difference. I don't know if we're just not using the right value or if they really don't work, but that AttackSidePriority function could be extremely useful.

Posted (edited)
20 hours ago, FedaYkin said:

AttackBuildingPriority does work, for example that's why sometimes in the original campaigns the AI would rush your ConYard with a few trikes and quads before retaliating and attacking your army/defences.

 

I tried the AttackSidePriority myself and I wasn't lucky with it either, as I couldn't see any difference. I don't know if we're just not using the right value or if they really don't work, but that AttackSidePriority function could be extremely useful.

AttackBuildingPriorit does work, but i only observe behavior change for when an AI has chosen which side to attack. for instance setting AttackBuildingPrioritBaracks(A) to 20,000 and AttackBuildingPrioritBaracks(H) to 10,000 does not make the AI attack the Atreides instead of the Harkonnen it only decides which building to attack when they are actually attacking a Faction's Base also setting it to 0,000 does not stop them from attacking the building when they are near it. on the Other hand if you set all buildings to 0,000 for the side the AI is inclined to attack first it does nothing or it ignores it(depending on unit type e.g stealth fremen behave oddly( observed berserk behavior or nothing)) even if all Other building belonging to different Factions/Houses have normal values 1,000-100,000

So Something is not right, i'm inclined to say AttackSide Priority is the Master setting(which doesn't seem to work) the only other explanation is the AI will always attack the closest enemy Base which means it's a rather dumb AI

Edited by Satoru
Posted

Indeed it doesn't seem to do anything, I tried with 1, 11, 99, 99999 and nothing changed. I don't know if we're doing something wrong or it just does not work at all.

 

If u think dune AI is dumb, just check Tiberian Sun's AI for example. They would always choose the closest enemy (or the player who annoyed them very early IIRC) and target that one player until he is dead (with all attacks and all superweapons). You can literally just walk near an enemy AI who is on the attack, and if he has someone else as their hated enemy those units will ignore you and move towards that player's base (unless you attack them, in this case they retaliate). In Dune I noticed it chooses an enemy building or unit (the enemy is not the closest, sometimes they tend to choose the human even if it's very far away) and gooes blindly towards that building/unit. However after more than likely a specified-in-the-AI-functions time it "rescans" the target and instead of rushing towards that building, it goes hunt mode, meaning that's when they literally just go for the closest enemy unit or building from their position. This is more efficient AI than the TS AI, as it won't simply run across your base ignoring you.

Posted (edited)
2 hours ago, Satoru said:

AttackBuildingPriorit does work, but i only observe behavior change for when an AI has chosen which side to attack. for instance setting AttackBuildingPrioritBaracks(A) to 20,000 and AttackBuildingPrioritBaracks(H) to 10,000 does not make the AI attack the Atreides instead of the Harkonnen it only decides which building to attack when they are actually attacking a Faction's Base also setting it to 0,000 does not stop them from attacking the building when they are near it. on the Other hand if you set all buildings to 0,000 for the side the AI is inclined to attack first it does nothing or it ignores it(depending on unit type e.g stealth fremen behave oddly( observed berserk behavior or nothing)) even if all Other building belonging to different Factions/Houses have normal values 1,000-100,000

So Something is not right, i'm inclined to say AttackSide Priority is the Master setting(which doesn't seem to work) the only other explanation is the AI will always attack the closest enemy Base which means it's a rather dumb AI

I found some odd behaviour with the IA and the AttackBuildingPriority.

I have a map from a campaign where I have 2 small bases. One with a High-tech and two windtraps and the other with a Starport, an outpost and another two windtraps.

The enemy have several small bases with a only 1-2 different type of units (One base builds only tanks, another base builds only light infantry and troops, etc...).

The "Ordos side" have a priority to 35 against to the starport and 1 to any other building (including the high-tech). Is true that most the time this Ordos goes against the starport, maybe 3 for every 4 attacks or so.
But sometimes, for some reason, the IA goes against both bases at the same time. Is not a norm, but is something curious.

At least the "0" to the building priority seem to work. Sometimes I forgot to set to 0 the walls and then I see the enemy attacking walls like mad.

Also, this:
Fremen map.JPG

In this image some Fremen are spawned from that Sietch. Although they have a priority to my imperial palace to 50, sometimes that group go against my main base (the rest of buildings are set to 1).
 

Edited by Cm_blast
  • 2 years later...
Posted

I hope this topic isnt closed, so...

in a few of my maps, the AI has a base ( no construction yard) and can produce units, i set him to produce mostly weaker ones, but sometimes the AI is not producing infantry at the same rate lets say trikes.

also in another map where you have to depend on an ally AI to win, the AI there doesnt seem to attack at all, i set his FirstAttackBuilding to 8000, thats about 5min and delay 5000 -3min and nothing happens, it just buys units and patrols around, sometimes he makes his 1st attack with a single unit after like 25min and if that unit dies he proceeds with his normal attack

and sometimes the AI just doesnt order anything from the starport, and if he does its way later than specified.

SO any way to change some of this behavior? or do i have to edit in some reinforcements to get things going?

Posted (edited)
3 hours ago, zidane2 said:

I hope this topic isnt closed, so...

in a few of my maps, the AI has a base ( no construction yard) and can produce units, i set him to produce mostly weaker ones, but sometimes the AI is not producing infantry at the same rate lets say trikes.

The AI has a proportion of units that will produce. By default it's 1:1 - this means that the AI will build 1 infantry, 1 trooper, 1 trike, 1 quad, 1 combat tank... for every "loop"

Let's say you have a barrack and light factory enemy base; then on the editor you add 3 quads, 4 troopers and 2 light infantry placed on several spots around the base or near the CY of whatever.

The AI still count this units, so to the AI his proportions are this way:
Infantry = 2
Trooper = 4
Quad = 3
Trike = 0

When you start the game, the AI will build using this order:
Trike (1), Trike (2), Infantry (3), Trike (3), Infantry (4), trike (4), Quad (4), Infantry (5), Trooper (5), Trike (5), Quad (5)...

So at least on the early going trikes and infantry are going to be produced first. To make the AI producing an specific unit early you can either preplace units (spawn units count too), or change the proportion on the AI Tab "Unit Build priority".

2 on Quads and 1 on trikes will make the AI to produce 2 quads, then 1 trike, then 2 quads, then 1 trike and go on.

3 hours ago, zidane2 said:

also in another map where you have to depend on an ally AI to win, the AI there doesnt seem to attack at all, i set his FirstAttackBuilding to 8000, thats about 5min and delay 5000 -3min and nothing happens, it just buys units and patrols around, sometimes he makes his 1st attack with a single unit after like 25min and if that unit dies he proceeds with his normal attack

Ok, you say "it just buys units and patrols around"; So Let's explain how the AI works.

First; the AI has a first job: creating units to defend his base. The amount of units it's controlled by a line in the tab section called "Guard Group Size". The bigger this numbre it's, the more units the AI will use to patrol his base.

Only when the AI has filled this value, new units produced will be used to attack. Because of this doesn't matter if you place a first attack on 8000, because by that time the AI it's still building his own defenses.

Probably your AI it's taking like 20-25 minutes to fill the "Guard group Size" value, and only then he start producing units into attack.

You have two possible solutions to make your AI to attack much more early:
-Reduce the Guard Group Size to a very low value, so the AI only build a few units to defend and then he will focus on attacks.
-Use the "Unit Spawn" event with a timer of =1 and give him some tanks, quads, troopers, etc... units spawned that way will be used to patrol the base, thus the AI don't waste time on building tons of units to protect.

3 hours ago, zidane2 said:

and sometimes the AI just doesnt order anything from the starport, and if he does its way later than specified.

This is something random for the AI. Sometimes the AI order as soon as he can, but there are times where he waits lots of times; not too much you can do here.

If you really need a more stable AI (for example, if that AI doesn't order anything before the first 5 minutes, he will destroyed) you can just disable the orders for the AI (or not) and create some deliveries event for him.

For example, 2 combat tanks and 1 missile tank at =6000 ticks, so that AI can survive on the early going. Or like the original game giving to him a few units every 5000 ticks and more/stronger units every 12000 ticks. Things like that.

Edited by Cm_blast
Posted

I managed to break the Starport on S08V1 and S09V2 by having the friendly AI build Barracks before placing their first Wind Traps since I modded the game. Maybe that has something to do with the build order? I rectified the issue with allied reinforcements through the Starport on a loop, which isn't unfair on those maps.

The AI will build the lower-ratio units first. If you have an Engineer set to 0.010 and other stuff at round numbers, the Engineer gets trained first as long as the Engineer can be trained. The AI will build Light Infantry until the Barracks is upgraded.

If you want the AI to build more often, zidane, you should adjust the build ratios until they can steadily pump out the same amount of units from their three different factories on the same loop. I like to put the total ratio for infantry units at around 18-20, light vehicles around 6-8, and heavy vehicles around 5-7.

Posted

I managed to break the Starport on S08V1 and S09V2 by having the friendly AI build Barracks before placing their first Wind Traps since I modded the game. Maybe that has something to do with the build order? I rectified the issue with allied reinforcements through the Starport on a loop, which isn't unfair on those maps.

Overall the AI do weird things withs the Starport. Sometimes I take control of the AI and he does an order instatly, but not always; there are games where the AI waits more than 20.000 ticks before doing his first order and things like that.

1 hour ago, zidane2 said:

if everything goes well, it will be released soon, hint: its a co-op campaign.

Good to read.

By Co-op campaign you mean a two human-only campaign or a AI being ally with the player during all the campaign?

Posted
5 hours ago, zidane2 said:

if everything goes well, it will be released soon, hint: its a co-op campaign.

A co-op campaign? Sweet! Release a WIP thread, whydoncha. We can help you test.

Posted
Quote

By Co-op campaign you mean a two human-only campaign or a AI being ally with the player during all the campaign?

Yes, its a two human-only campaign, which will have to be played online or through LAN,

it will feature a team that hasnt appeared in dune2000, but they exist in Dune universe (and in Frank Herberts novel: Dune) and they'ļl be accompanied by a team similar to mercenaries.

Posted
20 minutes ago, zidane2 said:

Yes, its a two human-only campaign, which will have to be played online or through LAN,

it will feature a team that hasnt appeared in dune2000, but they exist in Dune universe (and in Frank Herberts novel: Dune) and they'ļl be accompanied by a team similar to mercenaries.

Any possibility of adding an AI-skirmish like in case of playing alone (even if the AI sucks) or will it require a unit control that only a human can carry out?

Posted
2 minutes ago, Cm_blast said:

Any possibility of adding an AI-skirmish like in case of playing alone (even if the AI sucks) or will it require a unit control that only a human can carry out?

You mean replace 1 player with an AI? that might be tough, some missions will require the AI to simply stay alive, also some if not all missions will have a condition - If one loses, the other loses as well, so both have to survive. 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.