SMUnlimited / AMAI

Advanced Melee Artificial Intelligence Mod For Warcraft 3
Other
207 stars 34 forks source link

Issues on AMAI VS AI #184

Open jzy-chitong56 opened 11 months ago

jzy-chitong56 commented 11 months ago

Tests have found that AMAI is difficult to defeat this player's homemade AI

3 reasons have been identified so far

  1. Under the same food, direct operation cannot win , just lose is lose , nothing can say....
  2. Under the same food, but some unit not Standard unit .... reality food have gap , For example, rush Neutral player or being injured in the last battle and retreating, and by enemy take advantage of the victory and pursue
  3. tier > 1 , but now haven't built a second tier unit training structure(Advanced barracks) yet(TownCountDone(all Advanced barracks) == 0) , except for UD, most members strategy no need tier 1 unit , so this strategy's build_sequence tier 2 and 3 no code train tier 1 unit , if unit all die , AMAI cannot train new unit , they just wait Advanced barracks done and train tier 2 or 3 unit , so should give new GetRealTier check TownCountDone(all Advanced barracks) ) to set realtier or let DYNAMIC sys train tier 1 unit on this time(For example, hard coding TownCountDone(all Advanced barracks) == 0) , but hard coding too foolish , Is there a simpler method? no need judgment needed1~needed3 , can tell this structure is Advanced barracks??

why have two hars ??

SANCTUM hars    HUMAN   0   BUILDING    PEASANT     KEEP    0   0   0   false   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
ARCANE_SANCTUM  hars    HUMAN   0   BUILDING    PEASANT     KEEP    0   0   0   false   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Factory is not barracks???

Get_f_qty if buy_type[unitid] != BT_UNIT or unitid == racial_peon or IsOneOnlyBuilding(needed1[unitid]) then

I think this is to obtain the number of factories but why buy_type[unitid] != BT_UNIT?? maybe is buy_type[unitid] == BT_UNIT , barracks should all is BUILDING , here will return all barracks to 1 ???

undead2.zip

SMUnlimited commented 11 months ago

why have two hars ??

One is for AMAI, one is for blizzard ai scripts.

The factory logic as I understand only affects buildings and in theory peons. An insane AMAI can create extra buildings in one go instead of 1 by 1.

jzy-chitong56 commented 11 months ago

I still don't understand why there are only two human barracks and no other buildings or units if it's to distinguish between regular AI and Amai

jzy-chitong56 commented 10 months ago

for AI

function main takes nothing returns nothing
    call PickMeleeHero(RACE_NIGHTELF)
    call set_skills()
    call StandardAI(function SkillArrays, function peon_assignment, function attack_sequence)
    call StartThread(function set_vars)
    call PlayGame()
endfunction

in PickMeleeHero and StandardAI

call InitAiUnits() run twice , repeated

Did you consider some AI not selecting heroes through standard procedures?

jzy-chitong56 commented 1 month ago

https://www.bilibili.com/video/BV1NcpsefEX5/?spm_id_from=333.999.0.0&vd_source=c6519bad27f84d37dad6d4315fd128bf https://www.bilibili.com/video/BV1jw4m1a7p2/?spm_id_from=333.999.0.0&vd_source=c6519bad27f84d37dad6d4315fd128bf

Here are some player videos, VS homemade AI - lost. I still want to emphasize that many people have given feedback that version 3.1.1 performs better than it does now