Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - AlsoKnownAs

#16
AI Scripts / Re: Humanik V1.0.0
April 12, 2010, 01:44:29 PM
 itsarabbit, thanks for commenting :).First of all, to correct some minor assumptions from you, a zealot is not able to clear 4 zerglings by itself + when there's 2 roaches firing at it, that would be more of an issue (And how would you know that the roaches ain't micro manage to avoid your focus fire? That would be a waste of time trying to shoot it while at the meantime having your zealot getting killed). Anyhow, the simulation of such a situation is not done by me but by my other team members and I'm only giving you an easy example compared to a more complex one.

Here's the replay between Strategy AI V0.31, any extra comments on the video is available on YouTube, happy watching  :D :

Part 1:
Starcraft 2 Beta (Humanik V1.0.1 VS. Strategy AI V0.31) - Clash of the AI's (PART 1)

Part 2:
Starcraft 2 Beta (Humanik V1.0.1 VS. Strategy AI V0.31) - Clash of the AI's (PART 2)
#17
AI Development / Re: How to order a global retreat?
April 12, 2010, 07:15:49 AM
Quote
 AIWaveSetType(w, c_waveStateRetreat, AIWaveTargetGatherO(player, c_townMain))

I've tried the above with no avail  :D , it seems like when a unit/unitgroup its planning to merge with a specific wave, it is somewhat designated a wave with specific integer/index attached to it (example: 14#0, 15#0, 16#0, 7#0 and etc...), completely random @_@. I'm not certain of this, but when you try to merge the main wave with the attack wave, the units that are on their journey will be displaced from its original main wave and placed in some temporary wave or something  ??? .

I can solve the problem by manually attaching these units to the wave, but that is not my objective. So, any help would very much be appreciated XD. Thanks SuXue, for helping  :D .
#18
AI Scripts / Re: Humanik V1.0.0
April 12, 2010, 01:29:42 AM
Thanks Artanis for replying :D, as said in the short description of the video, Humanik is still under development and the path it takes to retreat is not perfect yet  :D . As for attacks on selective units, it is up to the AI to determine whether it wants to attack the roaches with immortal, imagine this situation:

Quote4 zerglings and 2 roaches when faced by 1 immortal and 1 zealot, should it (immortal) kill the 4 zerglings first when they are not in range to attack and while having a zealot in the frontline? Note that the hardened shield reduces high damage to 10 and per attack of the roach will be reduced to 10 instead of its full damage. When the zerglings reaches a specific range to attack it, it will deal more damage per seconds and it only takes 2 shots to kill 1, instead of 3 shots to kill one roach, what I'm trying to say is, the ability to analyze in a battle is complex and is still under major revision, decisions making is subject to comments and ideas given by most of the SC2 players

Thanks alot for your observation  :thumbsup: !.
#19
AI Scripts / Re: Humanik V1.0.0
April 11, 2010, 03:37:12 PM
QuoteI don't really believe that this test can be considered very valid.  Strategy AI is completely based on having full vision. There is nothing  coded to let it scout. Putting yours up against it without its vision  was kind-of like fighting a blind guy.
B_w_S, there is a version (non-cheating) where it indeed does not have map vision as checked by me  :) , it only scouts during mid/late game. As shown in the MeleeAI.galaxy below:

Quote// AISetDifficulty(player, c_diffNormalVision, false);
    AISetDifficulty(player, c_diffLimitAPM, false);
    AISetDifficulty(player, c_diffAutoLoadBunkers, true);
    AISetDifficulty(player, c_diffEarlyGameRepair, true);
    AISetDifficulty(player, c_diffEnableDangerMap, true);
    AISetDifficulty(player, c_diffWaveAvoidDanger, true);
    AISetDifficulty(player, c_diffNormalTargetPrio, true);
    AISetDifficulty(player, c_diffEarlyDefenseScout, false);
   // AISetDifficulty(player, c_diffNormalVision, false);

He did blank out the vision and when i did a test count on global units with FOW enabled, it indeed shows that Strategy 0.31 (Non-cheating) does not have vision.

The purpose of us benchmarking against other AIs is to make a better one out of the many for the many SC2 fans  :cheers: .
#20
AI Development / How to order a global retreat?
April 11, 2010, 02:09:12 PM
Hi everyone, hope you guys can help me out in this  :D .

I realize that my entire army does not retreat when I use the function;

QuoteAISetAttackState(player, e_attackState_Retreat);

Instead, only those that are in the attackWave retreats whereas the others who are coming to reinforce (called from the function AIWaveMerge(player, c_waveMain, c_waveAttack);) does not retreat and fought till they die if they are left behind or simply during the time when they are coming to merge with the attackWave.

Is there a way to call for a global retreat which applies to the merging wave and attack wave? Thanks in advance  ;D .
#21
AI Scripts / Re: Humanik V1.0.0
April 11, 2010, 09:20:55 AM
Strategy 0.31 (non-cheating) is doing the same thing as 0.13, tested and the results are the same, no scouting and expanding while having too much assumptions, I'll post the replays anyhow  :D .

Has some variations of strategy over the past, yet still doing the same mistake of not scouting and expanding too fast.
#22
What I found in the MeleeAI.galaxy

Quote// for now I'm not counting e_attackState_DropAttack as attacking, it is a specialized attack
    // and not easy for other AI's to coordinate with it

It does not literally means "Drop the attack", funny  :D .
#23
AI Discussion / Re: AI - wats to improve
April 10, 2010, 02:04:51 PM
Hi StubbornRock :D,

QuoteI found the AI can not held off a good timing push. [ex. As Terran, a good M&M ball with stim
                     research on the way (by that I mean stim research will be done right when you step in AI's
                     base) can end the game in 10mins]. However, I also find if give the AI a chance to expand, it will
                     put up an interesting fight.

After watching replay I figured that the main reason why AI lose to timing push is that they
                     expand to early. In most case, I will be at his door at 8 mins which coincidently the time it expand.
                     A typical case directly cost 400 mineral gone boom instead of use it on army or base defense

Our team has solved this problem where most of the AIs advances based on a given timer (phase transitioning), our AI (Humanik) advances based on the situation given (a complex set of evaluation is done prior advancing).  :thumbsup:

QuoteDropship harass would really lift the AI.

Won't work on Humanik given the chance to infiltrate your base XD.

As for the others, we'll look into it and have you updated  :D .
#24
AI Scripts / Re: Humanik V1.0.0
April 10, 2010, 11:19:22 AM
Anyway, here's the replay between Humanik V1.0.0 versus Strategy AI V0.13, I'll upload versus against 0.31 and Starcrack 7.0 by this week or so  :) .

StarCraft 2 Beta (Wings of Liberty) Humanik V1.0.0 [VS.] Strategy V0.13 - AI Versus AI (Part 1) (Part 1)
StarCraft 2 Beta (Wings of Liberty) Humanik V1.0.0 [VS.] Strategy V0.13 - AI Versus AI (Part 2) (Part 2)
#25
AI Scripts / Re: Humanik V1.0.0
April 10, 2010, 07:05:18 AM
opps  :-X , I've uploaded the wrong video -_-, I'll upload the V0.31 and Starcrack 7.0 by this week  :cheers: .
#26
AI Scripts / Re: Humanik V1.0.0
April 10, 2010, 06:52:35 AM
I'm uploading a video on Strategy 0.13 VS. Humanik V1.0.0, it should be available on youtube in 2 hours or so XD.

xie860621,thanks for recommending  ;D , I'll look into it when I have time, will reply you a.s.a.p XD
#27
Thanks kazibi, keep it up! XD
#28
AI Development / Re: Understanding the AI
April 10, 2010, 06:35:28 AM
Ok look hd, I'm not here to spark fire or something, I'm in a team and I'm just trying to make myself useful in that team (I'm not admitting that I'm good or anything special, I have a bunch of interest in AI development, that's all. My other mates are ripping its program (SC2Beta) already and I know nothing about the things that they're doing -_-), I don't know what you're so angry about man, and I'm certainly going to make myself useful in the other threads when I can figure out something that's good to all. At the moment, I admit that I'm new and still looking through different ways of adding codes to our team's SC2 AI, so I'll apologize to you if I offended you or something ok?

There's no need for the word f***.  :D
#29
AI Development / Re: Understanding the AI
April 10, 2010, 03:29:01 AM
hd,

So here comes the "pros" eh? I believe you do assume that everyone has the same amount of knowledge or perhaps who has dedicated that amount of time as you do, judging on the statement that you've made.

If I've not recalled wrongly, I think I've only started posting on this forum a couple of days ago, read through the entire Base.SC2Data just to know that "pros" here are quite holistic. My purpose in asking is not to leech on your "valuable" knowledge, but instead to create awareness among those others who may be developing as well, who knows they need the exact thing that I do but don't know where to find within your prototype codes (Worst case, where they don't understand at all). I've made another thread in the section AI Scripts saying that I would post my AI once its done, what's the purpose of posting an AI which does nothing much but to build and attack?

I guess you guys are pretty much aware that there are more viewers then those who actually make concrete replies, I don't wish to argue with any of you, but if you don't feel like helping, then that's fine, it's only a matter of time that I'll figure it out myself, I just wish that you people would help speed up my development so that I could share it with fans of SC2.

P.S. Whichever/whatever code that I may implement within my AI which is from someone else, I would directly state that it is indeed from that person and not from myself.

kernel64,

Thanks for replying in this thread, I'm looking through some other AI at the moment, heard they said that chinese modders had some new stuff in their AI, thanks a bunch  :D .
#30
AI Scripts / Re: Humanik V1.0.0
April 09, 2010, 05:18:14 PM
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.