About the Author
Mass Effect
Final Fantasy X
Batman:Arkham City
Borderlands Series
Weekly Column
Champions Online
World of Warcraft
DM of the Rings
Good Robot
Project Frontier
Forums
"Music"



Starcraft: Bot Fight

By Shamus
on Wednesday Apr 9, 2008
Filed under:
Game Reviews

 
 

I’m not sure who will find this interesting. This is an AI analysis of a ten year old videogame. This entire endeavor will sound absurd to people familiar with the game in question, and hopelessly esoteric to those that aren’t. Still, I’m putting this up in case there is someone else out there who is just as peculiar as I am, in that I find this sort of thing intensely compelling.

About a month ago I wrote a Starcraft scenario which allowed you to observe a game between AI players. I’ve been curious about the quirks in the Starcraft AI and I’ve wanted a chance to see them do their thing in a deterministic environment. I learned some surprising things about this ten-year-old gem. While the races themselves are very nearly balanced in the hands of humans, it turns out the AI is a lot better at using some races compared to others.

This is a very pixelated map of The Hunters.  The map has eight starting locations, marked by the colored squares.  Players are randomly placed on the map, with one random spot left empty.
This is a very pixelated map of The Hunters. The map has eight starting locations, marked by the colored squares. Players are randomly placed on the map, with one random spot left empty.
The setup is this: Seven AI players. Randomized start locations. Using the Broodwar expansion. The last “player” is the human observer, who controls no units but who can see the entire map. The script in question runs on the map “The Hunters”, although it could easily be exported to other maps. There are two Protoss players, two Zerg players, and three Terran Players. The computer players are all set to “insane” level difficulty, informed that all other players are their enemy, and told to go at it. Mayhem ensues.

I’d usually let the game run overnight and check on the results in the morning. (Yes! This was my solution for being too busy to play computer games, I programmed a game to play itself for me!) A game normally takes a couple of hours, although rarely one will end in an hour, and several became endless stalemates.

At first I just set the difficulty to “normal”, but I found that the computer players were far too likely to consume all the resources on the map, go broke, and then just sit there. I’d start a game before going to bed, and when I came back in the morning I’d find the battle was down to three sides who couldn’t make any fighting units. I changed the difficulty to “Insane”, which auto-cheats by giving itself 2,000 minerals and gas anytime it goes broke, meaning the thing is always rolling in resources. This made sure that most battles came to a proper conclusion. Although this made battles larger, more spectacular, and a little more chaotic, it didn’t seem to affect who won. I ran many overnight battles with both AI setups, and while higher difficulty made for inflated scores, over many games the results painted a clear picture.

A note about the AI difficulty settings. Skip to the end if you just want to read about how it turned out.

I dislike this auto-cheat for a number of reasons, mostly because it negates a lot of the strategy in the game. None of the players can go broke, but the AI still plays as though resources were important. The only true way to knock a player out of the game is to annihilate their core base with all the critical buildings in it. Expansion bases are (mostly) worthless in a game like this. Yet the computer still builds and defends expansions (because that’s what it’s programmed to do) and still wastes time attacking enemy expansion bases. This introduces a bit of luck into the game: Who wins depends a lot on positioning. The AI tends to attack the nearest base, not the most important one. Sometimes the nearest base is the core base. Sometimes the nearest is an expansion which is pointlessly destroyed and rebuilt over and over again.

Like I said, in the long run it didn’t really change the fact that one race continually came out on top.

Anatomy of an AI battle

Without the unpredictable actions of a human involved in the match, the AI fights like clockwork. Games have a perceptible rhythm to them. They all build their first couple of buildings within a few seconds of each other. Even these variations are probably the result of minor changes in the layout of each base. If the bases were somehow shaped the same, the players would probably all build in perfect unison.

They build an initial attack force. On insane difficulty this attack force is huge – probably sixteen or so zealots or the given race equivalent. On normal difficulty the force is smaller, but the behavior is the same. They all leave the base at about the same time, and (as far as I can tell) attack a foe totally at random. Sometimes this foe will be a neighbor, and sometimes it will be someone all the way across the map.

This is the most chaotic and unpredictable part of the game, and it’s basically a crapshoot. Usually one or two players get taken out. Nobody has any defenses at this point, so when an enemy comes knocking, their survival is a matter of luck: The defender has an attack force elsewhere on the map. Is that force still intact, and can it be recalled before the place is destroyed? Are there enough of them left to save the place? A player can also do really well if they are attacked by two people at exactly the same time – the attackers end up wiping each other out and leaving the buildings alone.

The AI seems to wait until this initial attack force is nearly all dead before entering the next phase: It builds defenses and another attack force. Again, this force is sent out. Once gone, the AI begins trying to build its first expansion base.

The rest of the game is a series of escalating attack waves. As they add more buildings onto their main base they work their way up to air units, and this is where you start seeing some differences in how well the computer handles the different races.

The Different Races

If you’ve never played Starcraft, you’re probably not even bothering to read this, but just in case:

The Zerg are a bug-like race. Think H. R. Giger Aliens or Starship Trooper aliens. Their units are usually cheap, plentiful, and weak. They are made to be mass-produced and sent to their deaths. The Protoss are highly advanced aliens with lots of fancy technology. Their units are very expensive but very durable. Their units are usually less numerous. Their shield technology encourages you to try and make sure they survive a battle so you can recharge their shields and send them off to fight again. They are not intended to be disposable units. The Terrans are the humans and fall somewhere between these two extremes in terms of cost vs. unit lifespan. It’s actually far more complex than this, but that’s the general, high-level, broad, big-picture overview. Volumes have been written on these three races and we can’t begin to cover it all here. Just remember: Zerg = cheap and weak, Protoss = expensive and tough, Terrans = Somewhere in-between.

I expected the AI to excel at using the Zerg, since their intended usage fits nicely with how the computer behaves: Churn out masses of units and fling them at the enemy without regard to casualties. I expected Protoss to be the worst, since the send-them-to-die policy of the AI would end up squandering a lot of very expensive units.

The Results

Without a doubt, the AI is far better as using the Protoss. It’s not even a contest. The only time a Protoss would get wiped out would be if they had a stroke of bad luck in the initial first-wave attack, which is always a game of Russian Roulette. Assuming they survive that, a Protoss AI is probably going to go the distance. The only foe they have to really worry about is the other Protoss. In the dozens of games I ran, only once did I see a game where the top spot wasn’t occupied by a Protoss. Most of the time two protoss players occupy the top two slots in terms of scoring.

This is the outcome of a very typical battle.  Protoss kicking butt. Zerg coming in second.  Terrans going extinct in some kinda hurry.
This is the outcome of a very typical battle. Protoss kicking butt. Zerg coming in second. Terrans going extinct in some kinda hurry.

The Terrans were unquestionably the worst in the hands of the AI. Despite the fact that there were (usually) three Terran players, thus slanting the odds in favor of a Terran-dominated game, they never got above third place, and often the Terran players would occupy three of the bottom four slots. They were more likely than the other races to get wiped out in the first rush, and if they survived they had a terrible time doing real damage to their foes. Despite the fearsome power of the Terran Battlecruiser, the AI was very shy about building them. Even with limitless resources, it never built more than a few and it never used them very well. Even late in the game it was building Wraiths, and it would not quit making them no matter how absurdly poorly they performed. The Terrans seemed to maintain a smaller force. It used Siege Tanks poorly, sent Marines to fight without Medics, and generally fought like a complete tool.

The computer did alright with the Zerg, although it was moronic with its mix of air units. Guardians were often sent in with too little support, making them easy fodder for enemy defenders. If it used Defilers, it was likely as not going to hit its own units when using plague.

Other Notes

A familiar battle: Siege Tank vs. Mutalisk.  Also popular is the Valkyrie vs. Dragoon fight.  The Terran AI always seems to have the wrong unit, at the wrong time, in the wrong place, doing the wrong thing, and not nearly enough of them.
A familiar battle: Siege Tank vs. Mutalisk. Also popular is the Valkyrie vs. Dragoon fight. The Terran AI always seems to have the wrong unit, at the wrong time, in the wrong place, doing the wrong thing, and not nearly enough of them.
When I fight the AI Protoss, it uses the Templar Psi Storm with murderous efficiency. I’ll have a tight group of units moving into its base when a Templar will appear in juuuust the right spot, drop a Psi Storm on my guys, and dart away before I can punish him for it. With a couple of Templar available he’ll play hit-and-run with me all day, and do tremendous, infuriating damage to my forces.

Against other AI, the Templar are bumbling comic goofs. They will drop Psi Storm on single enemy units and hit a bunch of their own guys in the process. They will blunder through fortified territory attempting to reach a unit deep inside, and get cut down before they even get close.

I’ve come to suspect that the AI cheats a bit and detects clusters of units which have been grouped by hotkey by human players. This is very naughty if it’s true. What’s worse is that peeking at how my hotkeys are set up seems to be central to its decision making. Deprived of that bit of cheating info, the Templar is helplessly stupid. Boo.

I’m note sure why the thing is so bad at utilizing Terrans. Aside from the issues I mention above, it just seems less aggressive overall. It also has a penchant for building base defenses (bunkers, towers) in places where a base should go, effectively rendering a viable expansion useless. It will attempt to lunch nukes without bothering to cloak the Ghost first. It will risk the painfully expensive Science Vessel in order to irradiate something of very low strategic value. It makes small numbers of all units instead of focusing on a few and using them well.

Still, this was an amusing experiment. If you have the Broodwar expansion for Starcraft you can try it out yourself. You can get the map here:

Exhibition-TheHunters.zip(73k)

You DO remember where your Starcraft disks are, don’t you?



 
 
Comments (139)

1 2 3

  1. John Raab says:

    It is well known throughout the starcraft community that the computer’s AI is very poor. This is why you see 1 player taking on 7 cpus and winning, etc..

    An AI for a real time strategy game is a nearly impossible task to get right. The only time it remotely works is when playing the single player campaigns where the AI developer knows beforehand what map is to be played and can setup a careful array of “triggers” for events to occur (attacks, reinforcements, and the like).

    Triggers are not used in a regular multiplayer game with computer opponents. Therefore the computer has to rely on AI. There is so much going on in a real time game of this complexity that it is hard for the computer to make decisions quickly. Turn based games have better AI because the computer has more time to “think”, and less options to choose from (think of a chess decision tree).

    I am not surprised the protoss were the best. Their units are the most powerful and therefore require less micro-management to keep alive. Carriers require very little skill to use as well.

  2. Jason says:

    The Templar Psi Storm is absolutely frustrating. This surely is the most devastating attack since they always hit and run. This is the best way to mess up a fleet of carriers or destroy the group of Mutalisks. Playing several games we seemed to notice the same thing about the Protoss. That they had the most successful first wave attack. If you made it through their rush that you could usually survive. Though the person who was attacked was usually crippled because of it (depending on the race). After not playing this game for years and getting wiped out by the computer we started watching the replays. The only thing we noticed is the AI seemed like it was doing multiple things at once which is a pretty good advantage. I’m glad I came across this to get further insight into the AI.

  3. Deoxy says:

    The only thing we noticed is the AI seemed like it was doing multiple things at once which is a pretty good advantage.

    That’s a huge advantage, right there, and the thing that most frustrates me as a player (that I can’t do that).

  4. Jim in Buffalo (the same!) says:

    Well, I’m going to run this scenario on my own computer tomorrow sometime.

    I’m a recovered StarCraft addict… hope this doesn’t make me relapse!

  5. Dave says:

    Perhaps put the Terran on a team and see how well they fare.

    Since the AI was probably designed only for the Protoss.

  6. Radivel says:

    Heya. Excellent article, very enjoyable, and this is coming from someone who has left his comp on overnight, on MELEE “FFA”, on Big Game Hunters, with 7 comps, just to see who wins. I seem to recall Terrans winning, and sometimes some races (usually zerg) just do nothing at all. Make 5 drones, and stop working.

    Something you DO learn about the SC Comp AI is that it has insane targetting ability. Occasionally, if there is a comp in melee, it will “4pool you”, as in, with zerg, build the spawning pool asap, and rush RIGHT AWAY. Now, if a human does this, a good defender can stack his/her probes in such a way that a human will be able to abuse the targetting of the rushing zerglings, and you can end up defending at least passibly. Vs the computer, however, they manage to target each probe individually and instantly, and basically tear you a new one – as soon as something hurts something of theirs, they target it immediately, thus destroying everything that could stop a human in a matter of seconds.

    This is the same reason why they target the interceptors of a carrier, rather than the carrier itself.

    Where am I going with this? Nowhere, really, just another observation… ;)

    I enjoyed this a lot.

  7. Wix says:

    I haven’t played SC in years. Once though I sat down with a buddy and we decided to take on 6 insane teams to our 2. The match took about 4 hours or so and for some reason we watched the replay afterwards. During the replay we made quite the discovery when it comes to the computer AI. It cheats like hell! We were on a similar map and with 2 Zerg enemies remaining. We started watching the middle of the map as a Zergling rush was in full effect and the computer was spawning units nowhere near a base! Blatant cheating.

  8. Andrew says:

    Interesting analysis. I suppose the reason one race wins and not the other is just the quirks of the AI.

  9. null says:

    um… am i the only one who has NEVER seen AI settings in starcraft or broodwar? like… am i? seriously?

  10. IskatuMesk says:

    He’s probably talking about UMS AI settings. All of which are extremely trivial for a player who has any idea how to play.

    I just skimmed through the new comments but yes, there is a way to make custom build orders for Starcraft’s Ai and very easy ways to pit each other.

    To answer the question as to why toss usually wins in default matches – The most basic factor is obviously unit strength. Sc’s AI does not micro at all, and the standard AI is limited by money. The Zerg AI wastes units a lot with defensive protocols triggering in stupid areas and the units die a lot. 1v1, most zerg units will get worked by Protoss and so the protoss generally win. Otherwise there is no real difference in hardcoded AI actions between races.

    But when you make money-fed AI this dramatically changes. My BW AI tournament Zerg AI utterly [i]decimates[/i] protoss and terran. There is only one protoss script I’ve encountered that can give it a run for its money (Ashara’s excellent $P) but even this cannot usually win. Most players will never survive its first attack, let alone the aggression protocols. When a Zerg can acquire 10 hatcheries before you have your academy or second gateway, you know you’re in for pain.

    Also, versions after 1.10 added a lot of new bugs and issues with Starcraft’s AI (which would be hard to pick up on unless you’ve been working with it for a very long time; one bug is, the terran don’t repair buildings and such anymore).

    Anyways, if you’re interested in starcraft AI, my previous comment links to my bible, and this site http://www.broodwarai.com , will introduce you more thoroughly to the world of custom AI. If you have any questions let me know either by e-mail (Malkor@gmail.com) or on our forums. I can’t really watch these comments too extensively because I am very busy lately. But I’ll come here every now and then because this is a subject I’d love to get out more and help elaborate on.

    [quote]I never really played the campaign, but I know the first game uses Terran a lot.[/quote]

    In the terran campaign you play as terrans, in zerg you play as zerg, ect. Both SC and BW have 3 campaigns in a linear storyline setup; each campaign focuses on a single race. The difficulty involved rarely has to do with the AI’s race you’re fighting but rather other circumstances (mostly inexperience; the campaigns are painfully easy once you get a grasp of what you’re doing), or they are not B&D at all and the AI’s actions are removed from the equation altogether.

    Additionally, the AI cannot “spawn” units. That is impossible for it to do. It is likely they were simply burrowed and you did not see them previously. This is an example of inexperience. :)

  11. Fuzzy says:

    I can’t for the life of me get this to work. I just borrowed my buddies trashed old discs and updated to the latest patch, but no matter what I do, it enters me into a regular match, and all I can see is my own base when I start.
    Can someone please post a step by step guide on starting this properly?

  12. […] was reminded of this when I read Shamus Young’s post Starcraft: Bot Fight. In it, he looks at the AI of Starcraft: Brood Wars via a series of skirmish matches. When he […]

  13. When I used to play Starcraft a lot, I remember the computer always being much better with Protoss. My friends and I would use the different race selections as a secondary difficulty setting. If we wanted easier AI opponents at a certain difficulty setting, we would pick Terran. If we wanted harder, we would pick Protoss. Otherwise, we would pick zerg or make one of each.

  14. put_name_here says:

    @ Fuzzy and all others with problems to start the map:
    you have to use the setting “use map settings” to start the map properly (the drop down menu in the map selection menu).
    worked fine for me with the newest broodwar version

  15. asdfryhn says:

    Galaxian: Why not download a sinclair emulator and play the chaos game again? There are emulators for all kinds of old systems out there.

  16. Seradin says:

    Hey could you possibly make a map where its just 1v1v1, all three races so we can get a more accurate depiction?

  17. IskatuMesk says:

    Alright guys. You wanted a map? Here you are.

    This map is built on BGH’s terrain. It pits 3 races against each other. They are currently set to “* Expansion Custom Level”, which are the scripts the melee AI uses. You can set them to “* Expansion Campaign Insane” to access the Insane difficulty or whatever pleases you the most.

    To play it, simply run it with UMS settings. The comps will do their thing.

    If you’d like to change the map, just study what I did. Or make an FFA one and use cheats (Staying Alive, Black Sheep Wall) to watch the AI.

    http://www.doack.campaigncreations.org/_ComputerTestMapBGH.scx

    Additionally you may want to download the replays from broodwarai.com ; In replays, which are a series of AI commands, the AI scripts are not set in stone, and changes to the aiscript.bin in your mod mpq are reflected in these replays, allowing you to observe the matches at whatever speed you wish, see the AI’s resources, and not have to mess with UMS maps.

    Cheers!

  18. […] Twenty Sided » Blog Archive » Starcraft: Bot Fight – Annotated […]

  19. You did a bit over over analysis of the AI Shamus I must say. Starcraft’s AI is 10 years old and it shows – it’s worse to a degree then Age of Empire I and II’s AI’s :)

    As others have said; it is mainly “hardcoded” – the programmers put in the “use ability” functionality. The actual AI you choose is generally just a list of buildings and units to build, in order, and attack, in order. It’s very predictable, and never changes what it’s doing. Annoying how modders can’t alter the basic micro code, building placement code, or navigation code, or anything.

    If you do want to test AI in RTS games, I’d go for something newer, which also had support for user-made AI changes. :) Starcraft’s AI can hold up against a basic opponent, but it really is pretty much fully hardcoded and “hidden” so is a bit too basic for a strategy game. Making any assumptions on how powerful races are based on AI play is not a good idea either ;)

  20. […] Twenty Sided » Blog Archive » Starcraft: Bot Fight – Annotated […]

  21. mari says:

    Very very interesting… I love letting AI opponents go at it against each other. I do this type of thing on C&C as well.
    Love your study!

  22. You should try the various Age of Empires, Age of Kings games.

    The AI can be edited and the tools and such are open. It is fun to create scenarios and assign various AI rules to them.

  23. Dave Mark says:

    Excellent work, sir.

    Being a game AI programmer, I’ve added some more analysis on my Game AI blog.

    Now to find my Starcraft CD!

  24. John S says:

    The Insane AIs are not adapative at all, nor are they designed to be, they’re designed for campaign usage, with very defined build orders. The Expansion terran insane has 8 designated attacks with exact numbers of units, with attacks 7 and 8 alternating back and forth for eternity. They’re pretty weak attacks too…

    “”

    :block5
    attack_add 12 marine
    attack_add 6 goliath
    attack_add 4 siege_tank
    attack_add 2 ghost
    attack_prepare
    wait 500

    attack_do
    attack_clear
    wait 750

    attack_add 8 wraith
    attack_add 6 battlecruiser
    attack_prepare
    wait 500

    attack_do
    attack_clear
    expand 99 block3
    wait 750

    goto block5
    “”

  25. Hey avid starcraft players here,
    Protoss is easiest race to use at a lower level, that’s why it’s good.

    Let us consider the initial rush stage:
    PvZ:
    Zerg send zergling in a line, protoss send zealots in a line, of course zealot wins because zerglings need flanking to be effective and such micro(refers to using units to maximum efficiency) is simply unacceptible for the zerg part. P>>Z
    PvT:
    Terran send marines in a line, protoss send zealots in a line, again, marines in a line will not be effectively healed or attacking at the same time. Terran need to clump for high efficiency, and when attacking in line formation their firepower do not overlap, they get mauled. P>>T

    Hopefully that’ll explain some of the questions as I have been playing starcraft rigorously for the past 8 years. Cheers! :D

  26. Avid Gamer says:

    This doesn’t entirely surprise me, though I find that the second wave Terran rush is hardest of all to deal with in human vs comp battles. End game, comps fall apart completely.

    What I find humorous about the lack of Terran AI potential is that Terrans have historically been the most successful in the professional scene. If you look at the biggest superstars in gaming (Boxer, Nada, Oov, Savior), 3 are Terran. Those are the only gamers to have won more than 2 starleagues.

  27. jer says:

    Hey your article was posted on a BW site i visit often, there are deffitley people as wierd as you ;p. I found your article intresting^^

  28. Anthony says:

    —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA512

    To whom It May Concern, your assessment of the Starcraft ai as of version
    1.15.2.1 are completely inaccurate. From what I have observed, the Zerg
    have yet to loose; usually one brood in the top most tire and the other in
    a much lower rank. However, the Terran remains the lowest ranking faction.
    Usually one Terran cpu is brutally wiped early on. There are other STRANGE
    things one can observe

    Zerglings stuck IN hatcheries.
    Randomly placed pylons on narrow paths.
    Sunken colonies creating Zerk bottle necks.
    Suicidal high templar (either rushing into an enemy base or committing
    suicide via psionic storm).
    Bases reduced to three buildings and one unit, then left alone for over 30
    mins, hell there was on incomplete Terran building left alone one time.
    The Terran hesitate to tech resulting in their slaughter (marines vs
    reavers anyone?).
    “Abandoned” units (one to three) left half way across the map (to stare
    at minerals usually) for a faction that is still active. I am going to call
    this the “lost reavers” syndrome.

    All available in these replays for your viewing pleasure!

    .RAR archive, 10% recovery record, includes file hashes or my PGP
    signature, Can't open it get 7zip or winRAR

    http://myfreefilehosting.com/f/bdc175e9fd_0.25MB

    ENJOY!

    —–BEGIN PGP SIGNATURE—–
    Version: (N/A)
    Charset: utf-8

    wsFVAwUBSH2Vll7XhVEhLY/KAQrRxA/+MTHBj29UIC+TOl/zVgDsTkIc/UDq/koc
    VjjSVCnVsMdJfbcs86rEVy9SaX6EeQpfRRAEScN32HHntNO/6pSHWePqW1FANaMO
    INmcux8gxkg4gx1brwMCElPzPdW/fUXASB59SI/e4odakAcpkeQ3i7JyFQm9C7i+
    U2uX2VB9MO3ZuaVtZUdBHGTz71R1WBquk1Z7J0zNcaqmf8nB+OB9i30qQ0dRT2KP
    cV8bnBhSp+qMDlafMPQ5igi+UGSJS8mWnAY5s6VdbDjP9ujt/ESye0JZ4AY1OJoP
    fCmw3VYMOxil3Wov7ldHpB6tNy1yotvDab/Gl4dCpJbdrbl6RGWJgf5J2zkb4Cxn
    4SON2QiXGse428PnO4EDOI7yLZff+4HCfNarCKa/Slv0/8vwQDbtzjKGCFR2c9g2
    LK3mborvy77YnygiZvTk50cc8rHmZGv5dWDWZ1RHTFvcqXXgn6tpBF3DGErV5Eu2
    o8f1ERWIes5jvcJd9OZ9SYYnkwL2acPlgT/00ge1iztynHJN6BXekoULVz/H8nkG
    EeuAP5sIsdirqKWDrA9tlpy4WcpbxrFizEBd2QUp8e+0AWr49ZpnS8M6XA+Jqcow
    xohXeBbbsnbdKuXf9fICEEpQNVMJq91oT5iHCy/l5uT2pKGBYFoJSpauC/iafpAg
    6Ak+QwSl0ZI=
    =L0Pe
    —–END PGP SIGNATURE—–

  29. Danjen says:

    IS it possible to create customized AI scripts that mimic human strategy, that don’t base itself on hotkeys?

  30. Mark says:

    Only on this one map of yours Hunters but if you choose other maps it totally alters the balance of the AI for instance the Terran go to nukes quite quickly and start devestating their opponents defences. They are generally the best hacking force setting up seige tanks out of range, and using cloaked wraiths mercilessly. But if you only play that one map you really arent’t seeing the entire picture.

  31. SCFanHellYeah says:

    This was quite the interesting read. But I can explain some of the flaws behind your reasoning (although they are completely acceptable to someone who doesn’t follow the scene as avidly as others do).

    Zerg requires intense macro and large armies, yes… but those armies require large amounts of micro as well. Mutalisk harass is often viewed as one of the most difficult tasks to perfect. Terran requires an intricate balance of micro and macro unlike that of the other two races. Also, the Battlecruiser is a very weak unit compared to it’s counterparts in each race. It is slow and doesn’t do the damage at a quick enough rate compared to a wraith which can be maneuvered quickly and also has the cloaking feature. Free for all strategies are also very altered to those of a 1v1. I’d recommend getting a new heavily played 1v1 map. You can find the info at any site that covers the scene like SC2GG. This would paint an interesting image on the true balance, because as you said, it’s a crap shoot at the beginning with that many players.

  32. Anon says:

    The only AI gambit that could possibly beat the zealot rush is the 4pool that Zerg AI occasionally does.

  33. Jack says:

    Cheers for the guide. As a longtime StarCraft fan who likes to play the computer on various settings, it was interesting to read all this, especially the bit about the AI reading hot keys.

    Thanks!

  34. AJ says:

    Wow… just stumbled across this. Pretty fascinating.

    I’m curious as to how the terran performed in games that did not have unlimited resources. Defense is the bread and butter of the terrans, and allowing the enemy to throw themselves on your spears, so to speak, is a highly effective strategy for terran users.

    I would think, and I haven’t tested this, but in low resource games, you’d likely still see the Protoss winning out, but the Terrans and Zergs would switch places, assuming the Zergs didn’t pull out the win in the opening moments.

  35. Jack Vermicelli says:

    “Well, Starcraft is the best RTS ever made, so it's not really unusual to be discussing that instead of whatever the latest one is.” – another commentor

    So I take it you’ve never played Total Annihilation? Realistic physics, land contours, and unit vision set it apart, and units that don’t have the right weapon to engage an enemy will still at least try, and maybe get a lucky shot now and then. Weapon ranges also are more realistic (as opposed to a “long range” seige tank which only shoots a handful of times its length). Custom units and AIs can make it more interesting.

  36. Thomas says:

    That is just crazy. In all of my time playing (I admit it isn’t that much), I have always expected the zerg to totally dominate just because the cost of the units could allow them to destroy most of the map in one run, if they built a big enough army.

  37. JDUBS says:

    i think this is a pretty awesome analysis, an a whole lot of people took their time to read this. game on man.

  38. j says:

    It’s too bad blizzard never updates the AI.

    I’m hoping other people who’ve looked through this have an understanding of the usual dynamics of human vs. human games (watch some Gomtv.net if you don’t)

    The AI isn’t capable of running build orders or considering the metagame (map size, etc), so it rarely proxy rushes.

    Micro-management is also something the bot isn’t capable of, which, if implemented, would start to make single-player useful for training n00bs like me. >.>

  39. HELP says:

    clearly I’m a dipshit, because I can’t find anything anywhere to set this up. I can’t find a setting to just simply “observe” I can’t find a setting to change their dificulty level, nor can I figure out where I am supposed to set this game up (battlenet, local area network, modem, etc.)

    can someone… ANYONE help me?

    EDIT:
    never mind, I figured it out. sorry for the trouble.

  40. Greg says:

    Just posting to say … interesting. I ran it , first game, 1hr 15 mins. Toss out during first wave, then the 3 terrans during 2nd +, then the zerg, a protoss, Then the final zerg won out in the end. 850,000+ pts. Defilers USELESS!!! always aim wrong. High Templars Almost useless. bad aim, kill self.

  41. Raven says:

    My guess is, since the AI uses little, if any micro on any race, the stronger units (Protoss) will always win.
    It’s not the same sending 16 zealots into a base with zero micro than sending the equivalent in marines or hydras.
    The zealots will do far more damage and live much longer even if they’re just left there unattended.
    Point is, protoss units are naturally stronger. The strength of terrran and zerg units relies on micromanagement and using spells effectively, which the AI rarely does.

  42. armoguy says:

    Hey! I’d just like to say that, although I’ve never played starcraft before, this article is very fascinating. I guess I could do the same thing using any of the age of empires series games. I agree with your assumtions as to how you thought the AI would use the protoss poorly. Generally, WELL DONE!!!! If you wish to cantact me, get xfire, and add armoguy89.

  43. Clint Johnson says:

    How are you supposed to beat 4v4 teams with 2 terrans and 2 zerg on your team and all protoss on the other team? AL Controlled of course. I suck with the protoss and rock at using terran and they still whip me and my al friends, (Zerg especially)

  44. Kel'Thuzad says:

    Hey, Shamus…

    How do you change the difficulty?

  45. ArcticPrism says:

    So you said that the AI get 2000 ore and gas when they run out of resources right? When does this happen? I’m in the middle of watching a fight, and I noticed that the purple and brown Terran teams completely stopped building anything, and rather than expanding, stacked about 30 SCVs at a refinery. Only until brown finally expanded and built a command center did they start mass producing again.

    Edit: You also stated that the ai seem to attack interceptors. Shortly after, the Blue Protoss sent 7 carriers and about 10 scouts but the goliaths and other units capable of anti-air only attacked the carriers. I did find it odd though, suddenly in the middle of the attack, they sent the carriers toward purple’s base and engaged them, allowing brown to start spamming battlecruisers.

    Edit: Strangely enough, purple started building again once blue attacked.

    Sidenote: Damn, I got the ugly avatar.

  46. ArcticPrism says:

    So I just finished a match, and my results were somewhat the same. Protoss came on top, Blue had no competition, as they were never once attacked. For me, the standings were : 1.Protoss 2. Terran. 3. Terran. 4 Protoss, 5 Terran, 6 Zerg, 7 Zerg. Both Zerg teams were eliminated during the first waves. White struggled, and eventually lost due to being attacked while their army was across the map. The match may have been more interesting, but purple stopped building suddenly and didn’t try.

  47. Kimano says:

    One of the thing I would think contributes heavily to the way it panned out is how little interdependence there is among Protoss Units. All of the primary backbone units of each tech tier on Protoss require very little to no support to be able to mass. Carriers, Dragoons, etc can all be used in a homogeneous group, without any diverse support.

    Contrast this with Zerg and Terran, Where Guardians and Battlecruisers both require air or ground support from their respective AntiAir units to be effective. Same with Marines needing Medics and Hydras needing lings. Dragoons don’t need any cover to be able to wreck a base. And since AI is usually not smart enough to know how to micro effectively, a lot of the power behind Terran and Zerg top tier units is lost.

  48. Will says:

    I’d say Hydras are more effective than goons in a homogenous group. Dragoons lose vs lings or hydras. Also, reavers are extremely vulnerable on their own as are zealots and scouts. I think as a general rule, homogenous groups of any kind are more vulnerable than a diversified one, and that isn’t any less true for Protoss. While it is true that a combination of zealots and goons is a good mix that is not matched easily by other races, their cost offsets whatever value you obtain from being able to use a simplified unit composition.

    As for a comment about path-finding earlier: you be surprised how hard it is to code a path-finding algorithm that is both efficient and accurate. Computational problems involving finding the shortest distance between several points are famously difficult.

  49. George says:

    I believe you answered your own question in the description of the races:
    the protoss have few, expensive but powerful units. control of these units is therefore least demanding. ergo: the protoss ARE a race for noobs, because they are, by far, the easiest to play.
    the zerg have many, cheap but weak units. controlling these thus requires just a tad more brains, since you need to control each and every unit; while the overall strength of the sent-to-die army is the same, it requires more control, since we are talking about more units to exert control over.
    the terrans are balanced in cost and durability, but are by far the masters of tactics and smart use. so while the protoss have the best technology and the zerg have their strength in numbers, the earthlings have strength in tactics. The send-them-to-die policy works (by far) worst for them, so they are pretty clearly the hardest race to play in the game.
    This is so that all players should understand and acknowledge this, and think that while a race like the protoss can virtually play itself, it takes a lot of practice and talent to play the terrans. I do not believe that the game is balanced in THIS PARTICULAR aspect, since playing the terrans requires tremendously more skill than playing protoss, and considerably more than the zerg too. I do, however, admit that the overall capacity of each race, when played to perfection, is pretty much the same.
    I’ve heard very many extremely noobish things among the comments here and I won’t go in to that.
    I just want to say that I am a major starcraft enthusiast, and a fan of all GOOD science-fiction works (be it film, book or game) in general.

  50. Cptn.Average says:

    It might be the hotkeying issue you mentioned but I always found that the AI had an incredibly dodgy knack of attacking units waiting at rally point.

  51. Nicola says:

    Starcraft is nowadays a science: human players discovered the right unit combinations and micromanagement (placement, movements, etc).
    my guess is that going random units at random places favours protoss because the ideal unit composition and usage is quite similar disregarding what race you’re gonna face.
    terrans for example have to use very different units in different ways depending on who tey’re facing.. and so do zerg.

  52. brian says:

    I found this hugely entertaining I used to do this type with normal computers using cheats to kill all my stuff :D IF you like that though I have a treat you might like it is called BWAI its a mod group that made unique ai for starcraft I watched those bots fight and they are cool here is a link to the download

    http://www.broodwarai.com/index.php?page=ai#bwaigold

    They are pretty tuff to beat well for me im not a expert :D

  53. BB says:

    Thanks a lot, really Huge Props; I’ve been fiddling with the game editor and have been wanting to do some computer Vs Computer games just to test Scenerio’s out.

    I do have a thought on the Protoss Vs Everyone Else AI question though, that goes like this….

    Even if Resources are Equal, and maybe Especially so … the Protoss Worker just has to touch a given point to Summon a Barraks or a Extractor out of Nothing; while a SCV is occupied for sometime with the Build and the Drone is just lost. So the Protoss is going to get a lot of free manhours of Harvesting while his opponenets struggle to build a base/ Tech Tree. Also at least on the Insane levels it does seem to me that the first Zealot Rush simply requires more resources than a player can possibly harvest that quickly.

    As to the Fog of War issue: I ran this test. If you start a game, toggle Black Sheep Wall on/off, pick up your command post and Scv’s and relocate to a new resource point – It does no good at all. The Protoss will Always march straight to your base no matter where it is on the map; the AI definately ignores the “Fog of War” effects.

    BTW; I am trying to sort out just how you did computer Vs Compter thing, I have not been able to translate it to another map quite yet. If you post a brief Tutorial on how to achieve that spoof; I for one would be very interested.

    Once Again Huge Props.

    Blessings, BB.

  54. […] ShamusYoung: Twenty Sided Tale Starcraft AI Balance Article […]

  55. eXeGeTe says:

    Very cool, now you just need to try this out on the new STARCRAFT 2!!! Very similar game to it’s predicessor, so we will see if Blizzard has grown in their AI skripting skills. From what I hear though, the AI is very easy to beat, and players have been scripting their owne AIs. This is all Beta of course, we will see when the full game comes out!

  56. […] of Starcraft, I thought I would share this post about the Computer Science of Starcraft over at Twenty Sided. You may be good enough at Starcraft to regularly beat the AI, but I’m not. I’m just […]

  57. Kavaal says:

    I’m sorry but no matter how I look at this I could predict the Toss would win. The fact that Protoss are so much more effective in the way of damage and armor and with no micro-management of Terran units which the AI doesn’t/can’t do and the relative weakness of unmassed Zerg units. In most forums and gaming circles toss are refereed to as the begging race i.e) You start playing the game as Toss then advance onto either Terran or Zerg depending on your playing styles. Because like previous commentators said in Korea they LOVE their SC and the most famous players are all Terran. So it’s simply the fact that the AI is, even on brutal, still a “child” or begging player so the shear damage and survivability of Protoss would lead to a favorable outcome for them most every time.

    • Zachary "Zesty" Ramirez says:

      This is not true. Sure Boxer is the Father of ProStarCraft and FirebatHerO is known for his antics, but you’re totally leaving out Jaedong, Bisu, SaViOr, Much, ect. Terran has a lot of cool tricks, but by no means were the most played by the pros.

  58. Nidher says:

    Very interesting article but as a SC noob i would like to ask.Is there a way to play vs lets say easy bots in SC Broodwar.I still havent found the settings and im a noob.I would really appreciate a soon reply

  59. Azrael_Reborn says:

    Hey guys I’m facing an issue in starcraft, in skirmish maps the computer seems to team up against me..its like 5 vs 1 even though its FFA…any solution?

  60. kikito says:

    Since no one has said it yet, let me be the one:

    This needs to be redone for Starcraft 2.

    Please Santa give Samus Starcraft 2 for Christmas.

  61. […] Un conocido ejemplo entre los insiders es el del Starcraft, donde en la modalidad Insane, la máquina se “˜atribuye' 2000 de mineral y de gas, haciendo que la partida sea dura (Por supuesto esto no se extrae a través de un comunicado oficial): http://www.shamusyoung.com/twentysidedtale/?p=1597 […]

1 2 3

8 Trackbacks

  1. By Green Text on Black » Starcraft AI - A Case Study on Friday Apr 11, 2008 at 10:05 am

    […] Shamus Young Stacraft Study […]

  2. […] was reminded of this when I read Shamus Young’s post Starcraft: Bot Fight. In it, he looks at the AI of Starcraft: Brood Wars via a series of skirmish matches. When he […]

  3. By My daily readings 04/12/2008 « Strange Kite on Saturday Apr 12, 2008 at 6:42 am

    […] Twenty Sided » Blog Archive » Starcraft: Bot Fight – Annotated […]

  4. By test 04/12/2008 « Strange Kite on Saturday Apr 12, 2008 at 12:40 pm

    […] Twenty Sided » Blog Archive » Starcraft: Bot Fight – Annotated […]

  5. […] Starcraft: Bot Fight […]

  6. By Episode 1 « First Person Leisure on Tuesday Feb 23, 2010 at 4:26 pm

    […] ShamusYoung: Twenty Sided Tale Starcraft AI Balance Article […]

  7. […] of Starcraft, I thought I would share this post about the Computer Science of Starcraft over at Twenty Sided. You may be good enough at Starcraft to regularly beat the AI, but I’m not. I’m just […]

  8. […] Un conocido ejemplo entre los insiders es el del Starcraft, donde en la modalidad Insane, la máquina se “˜atribuye' 2000 de mineral y de gas, haciendo que la partida sea dura (Por supuesto esto no se extrae a través de un comunicado oficial): http://www.shamusyoung.com/twentysidedtale/?p=1597 […]

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>