SMUnlimited / AMAI

Advanced Melee Artificial Intelligence Mod For Warcraft 3
Other
192 stars 31 forks source link

Expansion is very slow #286

Open jzy-chitong56 opened 4 months ago

jzy-chitong56 commented 4 months ago

(24)Emersion v3.0 Standard Melee.w3x , 11 vs 12

AI do not take expansion , This also leads to slow second and third expansion There is only one mine that leads to defeat

The final result is that most AI runs out of money, but there are many unoccupied gold mines on the map -- mine creep is alive , It seems SingleMeleeAttackAM has been unable go to needs_expPerhaps it was an ally who influenced it -- CommonSleepUntilTargetDeadAM set target = GetAllianceTarget() , if you have 11 ally , maybe the target cannot null, if you have 22 ally , you will cannot go you attack(like needs_exp , BJ other attack , Despair attack , job expansion attack , creep attack... ) , always being led by the nose

in the previous version, everyone could expansion , same map , same 11 vs 12

jzy-chitong56 commented 1 month ago

https://github.com/jzy-chitong56/AMAI/commit/0d5f8a22d346d793dc8233a114c80bfa0b44e8a0 This can handle some expansion issues But as I said, when there are too many allies(6V6V6V5), expansion is exceptionally slow, and the main mines are gone, still not expanding Because the guards at the expansion point have not been cleared

jzy-chitong56 commented 1 month ago

When calling ChooseAttackTarget , alli_target is not always assigned a value So when you pass alli_target to ally, this unit doesn't know which time it was left behind

I will leave it empty directly after the attack ends, regardless of whether the target is in stock or not This solves the problem of not expanding all along

set alli_target = null

https://github.com/jzy-chitong56/AMAI/commit/28b852562a9509864033fa0237dec5a91d568edf

jzy-chitong56 commented 1 month ago

When calling ChooseAttackTarget , alli_target is not always assigned a value So when you pass A to your ally, this unit doesn't know which time it was left behind

I will leave it empty directly after the attack ends, regardless of whether the target is in stock or not This solves the problem of not expanding all along

set alli_target = null

https://github.com/jzy-chitong56/AMAI/commit/28b852562a9509864033fa0237dec5a91d568edf