Forgot your password?
typodupeerror
Programming Real Time Strategy (Games) Games Entertainment

StarCraft AI Competition Results 113

Posted by Soulskill
from the teaching-skynet-the-zerg-rush dept.
bgweber writes "The StarCraft AI Competition announced last year has come to a conclusion. The competition received 28 bot submissions from universities and teams all over the world. The winner of the competition was UC Berkeley's submission, which executed a novel mutalisk micromanagement strategy. During the conference, a man versus machine exhibition match was held between the top ranking bot and a former World Cyber Games competitor. While the expert player was capable of defeating the best bot, less experienced players were not as successful. Complete results, bot releases, and replays are available at the competition website."
This discussion has been archived. No new comments can be posted.

StarCraft AI Competition Results

Comments Filter:
  • by jandrese (485) <kensama@vt.edu> on Friday October 15, 2010 @11:05AM (#33908302) Homepage Journal
    So the winner is just a Muta harassment bot? I have to wonder if the top level human player just spammed some Corsairs or Valks? It didn't seem like the AI was particularly good at changing strategy if the opponent countered. Spreading out the Mutas would help against a Corsair or Valk counter though, since both of those units rely on the Mutas natural tendency to clump to get maximum effectiveness.
  • Re:Not equal (Score:5, Interesting)

    by Monkeedude1212 (1560403) on Friday October 15, 2010 @11:08AM (#33908330) Journal

    Bots in FPS ARE a completely different thing, as setting up an auto-headshot sniper that will hit the player before he can get the bot into view is not that difficult to make. That field will never be an even battle.

    Strategy games are a little different though. A Bot essentially has no "better" way to evaluate the player than any other player would evaluate the player. Say in Starcraft, the Bot scouts the player - and determines he is a little behind in what he would expect the player's army count to be. This could mean a number of things: The player made a mistake, the player is saving up, or theres something the player has that you have not found yet. How do you proceed?

    Now - when you get to the pro level of gaming, you worry a little less about your opponent's build and worry more about not letting them know yours. Walling and other defensive techniques become just as important as scouting your opponent. The game becomes highly a higly reactive scenario as opposed to proactive. If you know what your opponent is doing, you can counter it and that puts you much further ahead, possibly ahead enough to crush them.

    So the problem eventually lies in getting an AI to properly counter a players actions. Making an AI react to players is much harder than giving an AI a plan and telling him to execute. Because essentially the reaction is only as smart as whoever is programming the AI. And if you are a better player, capable of keeping other people from determining your plan, you can beat an AI who is trying to determine yours.

    Don't get me wrong, the ability for computers to instantly Micro and Macromanage all of the units and resources at once does give it some serious advantages, but deep in the heart of it: The AI will only be a little better of a player than the person who programs him. (Or her, if you program female AI's like GLaDOS)

  • Any 'learning' bots? (Score:4, Interesting)

    by JSBiff (87824) on Friday October 15, 2010 @11:28AM (#33908594) Journal

    Anyone know if anyone has ever created a bot that has the ability to learn from losses and wins, to figure out what works and what doesn't (both what it is doing and what the enemy is doing, then use that in the future to predict what the other player is *trying* to do and come up with a counter)?

    I've not played a lot of RTS's, but I've played a few, and the thing I've noticed is, if a strategy works against a bot, even if there's a fairly obvious counter, it will always work against that bot.

    The RTS I've played the most is Supreme Commander: Forged Alliance, so I'll use an example from that: There are a collection of different bots available which will use different strategies. Now, the player can build a strategic missile launcher, which builds nukes. You can also build a strategic missile defense which will build 'seeker' missiles which will shoot down incoming nukes.

    Some of the bots will build SMD's, some won't, but in no case does it build an SMD based upon the player/opponent's actions. That is, it doesn't check to see if you have started to build any Strategic Missile Launchers before it begins to build the defenses. The bots that don't build defenses won't build them even if you are building one. This means on the one hand that the bot wastes resources which it could have used otherwise, to build defenses, while on the other hand, if it doesn't build them, you can pretty easily and quickly defeat the bot with a nuke or two. Alternatively, instead of building a strategic missile defense, the bot *could* try to use someattack method (for example, if you don't have good air defenses, it could hypothetically try a targeted attack with a bunch of bombers or gunships to either destroy the SML, or the engineer units which are constructing the SML).

    However, the bots never seem to be smart enough to attack the obvious threat of a strategic missile launcher. It seems like the only way the developers found to make the bots harder is to make them much more efficient at building up their economy and spamming out lots of land-units to try to attack the player.

    When I get a chance, I want to try SC2, but right now, I'm in a period where I'm not playing games as much as I used to, and trying to reduce my gaming down to almost none while I get some more important things done in RL. It'll be interesting to see how the AI differs in that game.

  • Re:Not equal (Score:3, Interesting)

    by immakiku (777365) on Friday October 15, 2010 @11:39AM (#33908710)
    Examples like that are rare. Taking your example of SC2, there's few scenarios where superior micromanagement can turn a big disadvantage. From experience, most silver+ level players do not just NOT micromanage their units. They just do it without taking a hit in their macromanagement or they do it less effectively than top level players. Even in the reaper vs ling/roach scenario, a player who's seen the situation more than once will know how to properly react (without needing to excessively waste APM defending against the reapers).
  • by Anonymous Coward on Friday October 15, 2010 @11:41AM (#33908734)

    Against Muta's? Just spam Goliaths.

  • Re:Not equal (Score:3, Interesting)

    by Alsn (911813) on Friday October 15, 2010 @11:51AM (#33908842)
    Of course it can make a huge difference, but no matter how good your multitasking is, tanks still don't shoot up...

    The point is, it's really easy to just outsmart an RTS AI once you figure out its tendencies. No matter how good it's multitasking is your own won't be bad enough that your flying units all of a sudden forget how to shoot down.

    Having an intricate knowledge of counters and economy and timings(at least as far as starcraft goes) has always been superior to multitasking, but only to a point. There are things that you can take advantage of with near-perfect multitasking and control, but you need to actually know what to do with that control(and so far, no AIs do). A good example of what you can use AI for is in the article video demonstrating mutalisk/scourge control at a level which no human player would be able to accomplish. The only problem is that a human player would know that the AI is capable of that and just play around it.

    An example would be some extremely mechanical starcraft players(NaDa, a korean progamer comes to mind) being able to just completely outdo their opponents with pure control and multitasking. The problem here though is that those players have such an immensely better understanding of the strategy and tactics of the game than a programmed AI can ever come close to even if it's not their strong suit(compared to other progamers who play more with smarts than raw hand speed). Their multitasking wasn't what won them games but rather a combination of their abilities. They still had far and away stronger decision making than your average player(or any kind of AI).
  • Re:Not equal (Score:3, Interesting)

    by kaizokuace (1082079) on Friday October 15, 2010 @11:56AM (#33908892)
    I agree with you whole heartedly. I am a Go player, so I understand that strategy and intuition come in to play with this type of game where "war" is concerned. The most advanced Go programs can't defeat a low level player. Being able to look at the board as a whole and not a series of spaces seems to be beyond these AI. In Starcraft I would imagine that an AI can't plan ahead for the types of actions a human would take. Being able to micro manage and deal with skirmishes and build orders and such is just a mechanical action. Just the basics of combat. Placement, actions, and timing of such is what matters. Not just that you send out a group to attack but where and when matter in the whole of the match. Planning ahead, asserting influence, being creative. These are the abilities humans have over the AI.
  • Re:Not equal (Score:4, Interesting)

    by UnknownSoldier (67820) on Friday October 15, 2010 @12:58PM (#33909704)

    > No human can really keep up with 2 100% controlled and coordinated attacks. Mainly because we have to split our resources between them. The AI could realistically perfectly control 2 attacks with all the skill that a human player could devote to a single attack.

    The biggest problem is the INTERFACE of the game. Let me know when I can create on-the-fly Picture-In-Picture overviews of the map in real-time, so I _actually_ can attack/defend on multiple fronts.

    Sad to see RTSs really haven't changed in 20 years ;-(

  • by ThePyro (645161) on Friday October 15, 2010 @01:41PM (#33910328)
    Have a look at the Spring Engine [springrts.com] if you haven't already. There are a variety of RTS games, including some high-quality variants of Total Annihilation, which use the Spring Engine and allow for all sorts of client-side scripting through Lua. There are a variety of client-side lua "gadgets" that players have written already. You can move your units into custom formations by drawing lines or squiggles with the mouse; there are widgets to automate using air transports to ferry units between factories and rally points; there are even widgets to automatically alert the player when certain dangerous units are spotted. IIRC, someone was even working on a script for kiting with long-range units.
  • Re:Not equal (Score:4, Interesting)

    by iluvcapra (782887) on Friday October 15, 2010 @02:10PM (#33910662)

    The biggest problem is the INTERFACE of the game. Let me know when I can create on-the-fly Picture-In-Picture overviews of the map in real-time, so I _actually_ can attack/defend on multiple fronts.

    An interesting modification to StarCraft which would give AIs a run for their money would be cooperative play where several users operate one team on the field, and where the several users have a hierarchy and delegate command of corps of units to other players, maybe one player handling resources while another scouts while a third consolidates the offensive force.

  • Generic VS Specific (Score:3, Interesting)

    by Nemyst (1383049) on Friday October 15, 2010 @03:03PM (#33911346) Homepage
    I think quite a bit of this can be attributed on generic versus specific behavior. I am not an AI programmer, and I just glanced at the page and videos, but from what I gathered most of the AIs had hardcoded strategies that they would follow blindly. Then, the strength of the AI was directly proportional to the quality of the strategy that was implemented. They would use very specific patterns and follow them systematically.

    What I would be curious about would be a more generic AI. Instead of using known strategies, the AI would analyze the battlefield and would, for instance, focus fire on support units (not on "medics" or "science vessels", but using the stats of the unit to determine its usage and purpose) or the most dangerous units (air-to-ground would prioritize fire on ground-to-air units) or the most important buildings (using ratios and comparisons to determine this, instead of hardcoding that building A is critical). Technically, it could then be able to react to a lot more situations and would also be adaptable if the fight changes or if the enemy bot has a counter for whatever strategy had been planned. Obviously, a generic bot is harder to build and it might also not be as efficient when compared to singular strategies, but it would be an interesting experiment to make.
  • UC Overmind (Score:3, Interesting)

    by dlwh (1922516) <`ude.yelekreb' `ta' `hwld'> on Friday October 15, 2010 @08:15PM (#33914440)
    I'm with the winning UC Berkeley Overmind team. ( http://overmind.cs.berkeley.edu/ [berkeley.edu] ) We're very excited to have won the competition, and we're hopeful that soon we'll be able to create an agent that can beat the very best humans.

    Here's an overview of our strategy. Broadly, our agent always plays Zerg, and its primary objective is to apply constant pressure to our opponents, which will let the agent continually expand to improve its economy. To that end, our agent had three primary tools: a scouting worker that harassed early, zerglings that provided early defense, and mutalisks which basically force the opponent to stay in their base. Our agent would make decisions, based on what it observed, to trade off between these different forces. It might build more zerglings if it sensed more early pressure, or it might skip them altogether if our opponent wasn't going to attack early.

    Our choice of mutalisks was deliberate. They are a highly mobile all-purpose air unit that can mass up and cause significant damage in a short period of time. Also, they don't have bounding boxes, meaning that they're more amenable to computer control. That choice proved to be really valuable, because a lot of the opponents seemed to have preferred ground armies. However, there are many other strong units. For example, the other agent in the finals (Krasi0) was truly impressive with its ability to repair units.

    Anyway, on our page we have a couple of videos, and we'll have several more by tomorrow (Saturday).

You know that feeling when you're leaning back on a stool and it starts to tip over? Well, that's how I feel all the time. -- Steven Wright

Working...