Hi all. I'm an author of a currently competing Starcraft AI and am pretty familiar with the scene and the techniques used. Happy to answer any questions.
This article is from 2015. Some recent updates: Facebook and Alibaba recently published papers on using pure learning techniques for controlling units, showing great progress while having a ways to go before catching up to traditional techniques. Google DeepMind is collaborating with Blizzard to make these competitions possible for Starcraft 2. And Martin Rooijackers, author of 2016 SSCAIT champion LetaBot, wrote an update on more recent developments: http://www.teamliquid.net/blogs/521711-berkeley-overmind-20-...
A 24/7 stream of AI matchups. Games are played at double speed. Some of the strategies are very interesting, but many of the strategies are either brute forced or designed specifically to beat other strategies.
This reminds me of the recent Day[9] rant about Broodwar's mechanical difficulty being an integral part of what makes it a great "realtime" strategy game, and that the mechanics are inseparable from the strategy part of the game. [1]
His analogy of taking out mechanics from Broodwar being equivalent to taking out athleticism from Football was particularly insightful.
BW AI (in its culmination) to me is what Broodwar looks like when you take out the mechanics from the game and make it 100% about strategy and the execution of said strategy. It's really fascinating to see the differences between AI play and human bounded play.
I bet that a number of Brood War AI developers could still learn tricks from the Pros. Here's another Day[9] video about some of the intricacies in Brood War's mechanics, and how they came to be exploited in pro play: https://www.youtube.com/watch?v=rWvoMrYCQBU
The absence of such techniques is usually due to prioritization rather than ignorance. Most of the time the challenge is just the sheer complexity of basic decisionmaking. The author of this article did a frame-by-frame breakdown of unit attack animation timings, but "should I fight or run" is by itself still an interesting and important question.
The #1 bot as I write this, Iron Bot, has Vulture micro that is in many ways better than any pro, by using frame-perfect patrol kiting.
He's entirely right - that's what made Broodwar interesting! The 12 unit max, poor pathfinding, carrier micro to enable insta-interceptor deployment - all these mechanics contribute to the technical precision necessary to truly utilize each unit to the max.
I worked on one of the agents for the first ORTS competition, waaay back in 2006. We were interested in Starcraft (which ORTS was a knockoff of) as a testbed for human-level AI, since ostensibly it has a pretty strong need for covering the entire "stack" from low-level reactions to planning and strategy. The strategic game is also open-ended enough that it seemed it would be especially interesting for testing humanlike AI compared to something like Chess or Go that can be reduced to a state search and heavily optimized.
What ended up happening was that actually winning the game came down to unit pathfinding and micromanagement (as well as plain old "not crashing"), and the planning and strategy part didn't really come out. So we moved on to other things.
I admittedly have not paid attention to this in years, but it looks like the modern game is still very much like that except much more mature, the strategic parts seem to be selecting heavily-optimized strategies from a playbook, making up something new doesn't help win the competition.
Does anyone know of any ongoing AI competitions that push more on the creative/strategic side?
I see from the article that, at least as of 2015, they still allow "unlimited" actions per minute. Does anyone know if there's a plan to drop the apm to a more human level in any of these tournaments? It would be interesting to see a competition where micro-control of units was not a prominent factor.
The video of one of the top bots playing a top human makes it seem like the AI has a long long way to go. I don't know if it was just the AI recognizing that it couldn't win any encounters so it just held back and lost even worse, or if it's strategy is just bad, but the human player made it look terrible.
The AI doesn't "See the opponent" as humans do, like if there is a enemy transport incoming, a human opponent would prioritize it, micro around to destroy it, evac/spread out worker units before it lands(e.g. defending against reaver drops) and prevent/stop it from leaving(removing future threat).
An AI would react to the transport as some data item in its to-do list and not recognize the threat of drop UNTIL it landed, just following the script and being purely reactive.
A human player is proactive, he doesn't follow 'the script' and adapts to real-time events, even changing build orders to adapt to enemy army. These bots micro is geared to just win local battles(mini-scripts), not to read-ahead and prepare.
In tactics and micro, despite having higher-APM and reaction speed, humans have more nuanced understanding of tactics depending on terrain/unit positioning, while bots rely on brute-force and simple repeatable actions, limited by their programming.
Unlike complete information on the board, RTS forces these "rapid plan changes" where things occur 'out of the script' and AI has no idea how to fight it, making mistakes and losing resources. AI is blind to future threats and implications of build orders, while humans always send spies and try to predict enemy future plans.
Knowing that enemy has 3 expansions instead of 2 means alot to human player, while AI wouldn't see when it loses attack opportunity window against weaker expansions(due less army units).
They sure do have a long way to go. That's what makes it exciting! Real time strategy games are the last frontier for human superiority in competitive games, and it looks to be a generational gap like Chess or Go.
Interesting that they picked Star Craft over something already open source like Warzone 2100. Star Craft is obviously much more popular but picking something already open seems to me like it would allow for better control.
WZ 2100, besides being relatively unknown, suffers from slower pace and far more complex tech tree. SC has three distinct races, relatively basic tech trees, and promotes fast and aggressive gameplay.
If you have total control you can cheat a little and not do other things like analyzing what's being displayed on the screen, but that's just my thinking. It might be more valuable to some to actually analyze the data on the screen.
I wonder how long it's going to be before somebody makes an MMO with a persistent world, where you fight against an AI that learns from every player in the world...
This article is from 2015. Some recent updates: Facebook and Alibaba recently published papers on using pure learning techniques for controlling units, showing great progress while having a ways to go before catching up to traditional techniques. Google DeepMind is collaborating with Blizzard to make these competitions possible for Starcraft 2. And Martin Rooijackers, author of 2016 SSCAIT champion LetaBot, wrote an update on more recent developments: http://www.teamliquid.net/blogs/521711-berkeley-overmind-20-...