beating SAIDA
As I write, SAIDA has fallen to #4 on SSCAIT; more and more opponents are finding the limits of SAIDA’s build adaptation. It seems that the secret to defeating SAIDA is to find a timing that SAIDA is not ready for. Apparently it matters less what units you make, and more whether SAIDA knows how to adapt its build to counter the timing you intend to hit—whether early or late.
Krasi0 in December was the first terran to find a reliable plan, a tank push timed before SAIDA was ready. Another idea to try would be the scary fast 8-8-10 vulture rush with a proxy factory, which I think ought to get a vulture into SAIDA’s base at around the same time that SAIDA’s own factory finishes. So far I haven’t seen any terran bot build a proxy factory.
Top protoss bots found holes in time to beat SAIDA in the SSCAIT annual tournament. Locutus denied scouting and sent dark templar from proxy gates, while PurpleWave alternated between arbiter rush and carrier rush, both successful. The variety of plans makes me wonder how many other plans would work!
Now zergs have started to catch up. Tscmoo zerg and Velicorandom zerg have beaten SAIDA with different early hydralisk rushes, and today Microwave beat SAIDA with 3 hatches before pool into hydralisks, a late timing. SAIDA did its vulture runby and killed a bunch of drones because Microwave had only drones to defend, but did not recognize its golden opportunity for a bunker rush—I guess it only does that against protoss nexus first. So Microwave overran it with too many hydras. Has anybody repurposed a ZvZ 1-base mutalisk build? I haven’t, but I suspect it might work too.
The SAIDA team’s stated goal is “to develop the first starcraft AI which can defeat a professional human starcraft player so as to improve our AI technology.” They haven’t succeeded yet, so I have to assume that they are still working. (Here is a game Best offracing as zerg versus SAIDA that shows they have far to go.) I am guessing that SAIDA’s next appearance will be in AIIDE 2019, and that they will have a deep learning plan recognizer or plan adapter whose holes will be smaller and much harder to exploit. I’m sure they will be collecting the opponents that beat them as test victims. Hmm, defeat SAIDA now or save up your secret weapons in hope that they will still work in AIIDE?
Comments
Antiga / Iruian on :
Jay Scott on :
Jay Scott on :
Tully Elliston on :
Dan on :
Part of the motivation for my approach to PurpleWave's PvT in SSCAIT was observing that SAIDA's code was oriented around supporting the particular style of play it demonstrated in AIIDE. In particular, what stood out was the absence of a general-purpose combat simulator. It predicted combat results in Vulture-vs.-enemies fights, but not in general (Vultures + Goliaths + Siege Tanks + Marines)-vs.-enemies fights. When it attacked, it was due to specific triggers based on the enemy's predicted strategy and known unit counts, and the unit control was mostly oriented around keeping the army together and letting Siege Tanks force the opponent into bad fights.
This was a smart approach. Simulators are finicky, hard to tune, and hard to understand. Vultures are forgiving units when leaning on simulation because they're ranged and fast, letting them escape after a bad decision (one of the same reasons Dragoons are uncommonly good in bot land). The specific attack triggers produce decisive pushes which are easier to debug than an opaque formula like simulation. A number of bots use that approach to good effect, including LetaBot, Skynet, and I think Tyr. But lacking general-purpose simulation makes it harder to pick fights spontaneously.
I know how hard it is to do open-field combat decisions well (especially for Terran, whose units are more ability-oriented than Zerg/Protoss units -- how do you predict combat outcomes when using offensive Spider Mines? How do you decide when to siege when you only have 1-3 Tanks and little vision?). I thought of the absence of general-purpose combat simulation as a fundamental limitation in SAIDA's capabilities (which all bots have, due to the limited time of authors) so I placed my bet on SAIDA being unable to exert 2/3-Factory pressure. My PvT builds are designed to take advantage of the safety that affords, by rushing tech on one Gateway.
Which is to say what I 'm usually saying: Bots are hard; you can't, as an author, hope to do everything; and what may be simple for one bot to add may be very difficult for another, even if both bots are very strong and well-made, because even a simple idea -- "do a build that applies pressure" -- may require a branching tree of capabilities to support it.
Tully Elliston on :
I also think this is illuminating - the combat sim bots might be better at spotting opportunity (or fleeing) when the situation is fluid, but they all seem much worse at handling large army fights due to indecisiveness and a lack of focus on positioning.
Dilyan on :
MicroDK on :
Tully Elliston on :
Locutus has code specifically for Sieged tanks and is decisive when committing attacks; similar work will make SAIDA manageable for other bots.
Antiga / Iruian on :