2011 AIIDE StarCraft AI Competition - Page 2
Forum Index > Brood War Tournaments |
krndandaman
Mozambique16569 Posts
| ||
Serendib
67 Posts
On August 12 2011 01:12 Holy Check wrote: If a handful of students from a handful of universities managed to make an AI that is much better than the Blizzard one in just a couple of years, WHILE having to struggle with the internals (the API), I don't see why we won't have a capable BOT in another couple of years. I'm sure people had this exact same discussion back in '95 when talking about chess. Sure, chess and Starcraft are quite different, but at that time a supercomputer was as powerful as a Pentium 4 and it was facing a world champion. My credentials in the area are as follows: - I am doing my phd in computer science in RTS ai - I submitted a bot for last year's tournament, have followed the scene since it started - Am organizing / running this year's tournament, and have seen all the entries in testing - Follow the pro BW / SC2 scene fairly closely - Am a diamond SC2 player (lol) The things that bots are good at so far are: - Micromanagement - Keeping track of information - High APM - Build order planning (this is my current research) The things bots are REALLY bad at are: - Learning / Adapting to opponent's playstyle - Opponent modeling (is he aggressive, etc) - Building placements is still poor - Multi unit-type pathfinding and micromanagement The only way bots beat humans right now is by surprise. Our bot has beaten humans in matches, but it loses every subsequent match because it is still very difficult to incorporate true AI solutions into bots, so most things like micro are all scripted (to a point). This makes them very easy to exploit once you figure them out. Things like detecting that you are being kited are very difficult to do algorithmically. Humans are very good at looking at a situation and reacting to it, bots are very very very bad at this right now, and until some major work is done to true ai solutions such as adversarial search for high level RTS planning (which is something I plan on looking at next year) then humans will always be able to 'figure out' bots and beat them trivially. (which is the current state of the art). Even berkley's bot from last year (which won) had very simple rules to attempt to react to opponent's actions which basically amounted to a large finite state machines of gameplay rules. tl; dr: Bots can beat humans by surprising them, but humans eventually figure out their weakness and exploit them, something bots are not good at. This will be the case for years to come. Edit: Chess is a different problem than StarCraft, because StarCraft's state space and action space are so much larger than chess. Chess in '95 was already in a state where all they needed to beat humans was a computer that was 20x as powerful. As soon as that hardware came out they beat the best humans in the world. StarCraft would need hardware that could do more calculations per second than there are atoms in the universe to play StarCraft as well as chess programs play chess | ||
Holy Check
Romania155 Posts
You say bots are bad at adapting at their opponent's playstyle. But what if the approach is the other way around? What if bots are built in with a few personalities (pretty much like chess) which are randomly fielded? Something like: turtle zerg, aggressive zerg, all-in zerg, etc. That would pretty much by itself mix things up sufficiently in a BO3 or BO5 series. To further the comparison with chess, I'd say that AI research itself isn't in its infancy stages, so it's not like Starcraft AI programming starts from scratch. Also, SC has a huge advantage over chess: it can be compartimentalized. You can have independent teams working on micro, macro, build orders, scouting + reacting, spell casting, harassing, etc. So maybe a higher-stakes more international competition would encourage people to work together more and even attract a few high class players to help as consultants. I just hope you stick to SCBW and not switch over to SC2. | ||
djbhINDI
United States372 Posts
| ||
Serendib
67 Posts
On August 12 2011 17:37 Holy Check wrote: I have seen that more and more people choose to further their studies (master's degree, doctoral degree) in RTS and Starcraft in particular. That is excellent news, since a dedicated team working a few years continually towards a goal like this is bound to have results. You say bots are bad at adapting at their opponent's playstyle. But what if the approach is the other way around? What if bots are built in with a few personalities (pretty much like chess) which are randomly fielded? Something like: turtle zerg, aggressive zerg, all-in zerg, etc. That would pretty much by itself mix things up sufficiently in a BO3 or BO5 series. To further the comparison with chess, I'd say that AI research itself isn't in its infancy stages, so it's not like Starcraft AI programming starts from scratch. Also, SC has a huge advantage over chess: it can be compartimentalized. You can have independent teams working on micro, macro, build orders, scouting + reacting, spell casting, harassing, etc. So maybe a higher-stakes more international competition would encourage people to work together more and even attract a few high class players to help as consultants. I just hope you stick to SCBW and not switch over to SC2. The reason we think it can be broken down into smaller areas is because this is the way humans visualize the game. If you look at chess AI, computers play chess far differently (and now far better) than humans do. Humans are very good at pruning the game tree based on learned heuristics, while computers are very bad at this in comparison, so they do massive searches for the best response to opponent strategies using some sort of minimax algorithm. For the time being we are sticking to breaking down RTS into its human recognizable components because this is a good heuristic, but it may not be the best way to play starcarft 20 years from now (from an AI point of view). And don't worry, we'll be sticking to BW for a long time, Activision's Blizzard doesn't let us touch SC2 | ||
Serendib
67 Posts
On August 12 2011 19:04 djbhINDI wrote: This is such a cool idea. Wonder how much more is built into SC2 AI by default. The SC2 AI is not much better by comparison. It has a few opening builds it randomly chooses from and then has set attack timings. Also, the insane AI knows where you are and gets additional resources. You can test this by flying your command center at the start of the game and watching the insane AI go right for it without scouting it. | ||
snakeeyez
United States1231 Posts
| ||
Holy Check
Romania155 Posts
Perhaps after this competition we will see a paralel BW AI (that would be pretty baller). Placing the different modules of the AI on different computers should be able to make a big difference if the algorithms are good. | ||
Serendib
67 Posts
On August 13 2011 16:37 Holy Check wrote: I didn't realize that the lack of computing power is the thing keeping BW AI back. Always thought it was more of an algorithm problem. Perhaps after this competition we will see a paralel BW AI (that would be pretty baller). Placing the different modules of the AI on different computers should be able to make a big difference if the algorithms are good. At this point it's still an algorithms issue. We have nothing that can cope with the scale of RTS search space. It only becomes about "CPU Power" when you get the algorithms working to within a few orders of magnitude of running in real-time. | ||
xarthaz
1704 Posts
| ||
Count9
China10928 Posts
| ||
littlefighter
43 Posts
| ||
Serendib
67 Posts
On August 14 2011 06:38 littlefighter wrote: I was just wondering if it was possible for a programmer to make a launcher that let's human players play starcraft at 2x fastest speed. It would make practicing more interesting. Yes, just download the BWAPI example module, set speed to whatever you want and enable user input. The bot does nothing while you control it at NX speed | ||
littlefighter
43 Posts
On August 14 2011 08:05 Serendib wrote: Yes, just download the BWAPI example module, set speed to whatever you want and enable user input. The bot does nothing while you control it at NX speed Ah thank you for replying, I need a bit of help with it. I downloaded BWAPI 3.6.1, I found ExampleAIModule.cpp in BWAPI_3.6.1\ExampleAIModule\Source. And the line Broodwar->enableFlag(Flag::UserInput); is in it, but ctrl-f speed doesn't find anything. So I'm completely lost o___o I don't program. Edit: Oh. | ||
Armathai
1023 Posts
On August 12 2011 14:14 Serendib wrote: As soon as that hardware came out they beat the best humans in the world. StarCraft would need hardware that could do more calculations per second than there are atoms in the universe to play StarCraft as well as chess programs play chess Sounds like a challenge to Intel and AMD! Haha I'm looking forward to this as always, usually some pretty cool games, hope you release the finals or whatever reps/vods of some of the coolest stuff. It might take a while, but every bit of understanding garnered will be a step forward to understanding the complexity of calculating BW. | ||
Serendib
67 Posts
On August 14 2011 09:48 littlefighter wrote: Ah thank you for replying, I need a bit of help with it. I downloaded BWAPI 3.6.1, I found ExampleAIModule.cpp in BWAPI_3.6.1\ExampleAIModule\Source. And the line Broodwar->enableFlag(Flag::UserInput); is in it, but ctrl-f speed doesn't find anything. So I'm completely lost o___o I don't program. Edit: Oh. BWAPI::Broodwar->setLocalSpeed(millisec_per_frame); 42 is 'fastest', so 21 is double speed | ||
Holy Check
Romania155 Posts
| ||
snakeeyez
United States1231 Posts
I also think you should cast or give some articles on the best bots to get people to support it. | ||
Holy Check
Romania155 Posts
Also, I am quite the confused camper... From what I've seen on the website only 13 out of the 30 bots are working? What happened? Also what happened to the Berkeley Overmind. The only entry I see for Berkeley is the Undermind, and it's a Terran, not a Zerg bot. | ||
konadora
Singapore66063 Posts
| ||
| ||