Humanik V1.0.0

Started by AlsoKnownAs, April 09, 2010, 09:59:01 AM

Previous topic - Next topic

AlsoKnownAs

Hi everyone,

Just to let you guys know that I'm currently building an AI which at the moment defeats Starcrack 7.0 AI every single round of its play. It's coding is based on a human-like ability to recognize and predict an opponent's pattern and build in ways to counter it.

Currently, it's at the stage where I'm coding specifically for the Protoss race against the other races. I'll post it once its done. :D

Believe me, it'll be one of the most challenging AI that you'll be ever playing against, and yes, that includes pro players too.

logo


whoamI

You should play against strategy 0.31 with triggerlibs. Strategy is by far the best right now. You should study it.

AlsoKnownAs

Strategy 0.31 has full vision of the whole map and that is considered cheating, what I'm coding has no cheats applied, so that's why I've only tested my AI on non-cheating AI only.

TheLeapist

I believe you dude. And if it's beating StarCrack 7 then I am excited to try it.


Keep up the good work! :thumbsup:

brightb

#5
Quote from: AlsoKnownAs on April 09, 2010, 09:59:01 AM
Just to let you guys know that I'm currently building an AI which at the moment defeats Starcrack 7.0 AI every single round of its play.
how can you start a game with 2 different AIs?

Quote from: AlsoKnownAs link=topic=1633.msg15600#msg15600   date=1270832158
Strategy 0.31 has full vision of the whole map and   that is considered cheating, what I'm coding has no cheats applied, so   that's why I've only tested my AI on non-cheating AI only.
there is a non-cheating version of strategy ai 0.31 that supposedly has no vision

whoamI

Quote from: AlsoKnownAs on April 09, 2010, 11:55:58 AM
Strategy 0.31 has full vision of the whole map and that is considered cheating, what I'm coding has no cheats applied, so that's why I've only tested my AI on non-cheating AI only.


You haven't done your homework I think. 0.31 has a non cheating version... So you should go on and test it.. IDK how you are able to test two different AIs but if you can...

AlsoKnownAs

#7
I've tested strategy 0.31 without vision, not even close to winning my AI  :jig: . And if you wish to test your AI, you'll need to do some code modification within meleeai.galaxy, protoss.galaxy, terran.galaxy and zerg.galaxy. It'll be easier to test a race specific AI compared to a generic AI code which applies to all races. You'll get what I mean when you get yourself down to coding some  ;D

One more thing, when there's no major modification in most of the "important .galaxy" files, it's easy to blend their codes together to make 2 separate AIs in one game.

ev-

Great thing is you cannot let diffrent AIs compete since you can only load one AI...

:whistle:

whoamI

I see.., you probably insert your code for a certain race inside another AI.. but then again you are not able to play the same race with different code(not that it is that important).

But have you tested its triggers? cause if you load them strategy is able to harass.. he sent reapers to my mineral line and vikings also..

Anyway if there is a test version you could bring it up.

AlsoKnownAs

#10
ev-, who told you that we can't load different AI's in one game? I can load 8 different AI for 8 different computer players, here's an example code for you:
Quotevoid AIMeleeZerg (int player) {
    int mainState = AIState(player, e_mainState);

    if(player == 1)
   {
    if (mainState == e_mainState_Init)              { ZergInit(player);       }

    else if (mainState == e_mainState_OpenGnd0)     { ZergOpenGnd0(player);   }
    else if (mainState == e_mainState_OpenGnd1)     { ZergOpenGnd1(player);   }
    else if (mainState == e_mainState_OpenGnd2)     { ZergOpenGnd2(player);   }

    else if (mainState == e_mainState_Mid0)         { ZergMid0(player);       }
    else if (mainState == e_mainState_Mid1)         { ZergMid1(player);       }
    else if (mainState == e_mainState_Mid2)         { ZergMid2(player);       }

    else if (mainState == e_mainState_Late0)        { ZergLate0(player);      }
    else if (mainState == e_mainState_Late1)        { ZergLate1(player);      }
    else if (mainState == e_mainState_Late2)        { ZergLate2(player);      }
   
    else if (mainState == e_mainState_Off)          { EndMeleeScript(player); }
    else if (mainState == e_mainState_Disabled)     {  }
    else { ErrorMeleeScript(player, "Invalid mainState"); }

    }
    else if (player == 2)
    {
      if (mainState == e_mainState_Init)              { ZergInit(player);       }

      else if (mainState == e_mainState_OpenGnd0)     { _ZergOpenGnd0(player);   }
      else if (mainState == e_mainState_OpenGnd1)     { _ZergOpenGnd1(player);   }
      else if (mainState == e_mainState_OpenGnd2)     { _ZergOpenGnd2(player);   }
 
      else if (mainState == e_mainState_Mid0)         { _ZergMid0(player);       }
      else if (mainState == e_mainState_Mid1)         { _ZergMid1(player);       }
      else if (mainState == e_mainState_Mid2)         { _ZergMid2(player);       }
 
      else if (mainState == e_mainState_Late0)        { _ZergLate0(player);      }
      else if (mainState == e_mainState_Late1)        { _ZergLate1(player);      }
      else if (mainState == e_mainState_Late2)        { _ZergLate2(player);      }
 
      else if (mainState == e_mainState_Off)          { EndMeleeScript(player); }
        else if (mainState == e_mainState_Disabled)     {  }
        else { ErrorMeleeScript(player, "Invalid mainState"); }
     }
   
}

Use your imagination, there's nothing that can't be done  8) . As for the rest, just do the same thing.

whoamI,
I will upload as soon as it's done, I'm making it human-like (> 90%), I'm using everything at my disposal now  :D . And you can play the same race with different codes, as soon above. There are different ways of implementing different codes in the AI.

whoamI

Yes, yes you are right.. but what if he chooses to play the same "open"? haha :P

anyway even if it's not done completely you can let us test for you, to bring up misses, bugs and things you should implement..

StubbornRock

I believe in you MR.Also, if your AI does succeed in beta Strategy and Starcrack then you are doing a great favor to the SC2 fans out here. So thank you and good luck on ur AI.
Because we are amorphous, we hold that in reverence.

unclean

Damn, if it really can beat strategy 0.31 I'm hyped for this.

Got a question though - how does your ai choose what units and buildings to make?

I'm asking because Strategy AI basically makes units based off of what it scouts, yet makes buildings and expos based off of how much vespene and minerals it has at any given time. It's really an inefficient way to do things since it ends up making way too many production buildings and tech it doesn't even need, which really holds it back from being competitive.

Anyways I can't wait to try this, keep it up man  :thumbsup:

xie860621

I think you should test with Aiur AI.
Strategy AI is based on  full vision of the whole map ,so  it without vision is easy.