archive by month
Skip to content

AIIDE 2022 - what BananaBrain learned


BananaBrain added more fields to its game records this year. I had to update my parsing code. I haven’t investigated what the new data is.


#2 stardust

openinggameswinsfirstlast
10/12gate7958%14221
10/12gatedt838%19153
12nexus20%1095
2gatedtexpo540%736
2gatereaver333%1133
3gaterobo20%9144
3gatespeedzeal540%038
4gategoon5060%3163
9/9gate1747%20172
9/9proxygate2050%18187
nzcore20%17145
zcore20%16146
zcorez540%439
zzcore2250%1394
14 openings22252%
enemygameswins
1gatecore1020%
2gate1164%
2gatefast933%
4gategoon17852%
unknown1471%
5 openings22252%


Last year, BananaBrain resorted to proxy gates against Stardust, and even that did not help much. This year it preferred the same build that Stardust likes, and apparently it was able to fight it straight up.


#3 dragon

openinggameswinsfirstlast
10/12gate11882%7221
28nexus250%132133
32nexus944%0109
9/9gate9276%3130
9/9proxygate10%131131
5 openings22277%
enemygameswins
1fac10269%
2rax10%
fastexpand2100%
unknown11785%
4 openings22277%


BananaBrain was able to tell what Dragon was doing less than half the time. It didn’t seem to matter much, because the answer was usually two gates.


#4 steamhammer

openinggameswinsfirstlast
10/12gate7589%147221
1basespeedzeal10%8383
2basespeedzeal4791%3682
5gategoon367%136138
9/9gate786%2733
9/9proxygate4691%90135
bisu475%2326
sairdt888%139146
sairgoon2391%022
sairreaver683%8489
stove250%3435
11 openings22289%
enemygameswins
10hatch5494%
12hatch10383%
12pool3100%
4/5pool9100%
9pool18100%
9poolspeed5100%
overpool2396%
unknown757%
8 openings22289%


Steamhammer was opposite Dragon in this way: BananaBrain was almost always able to diagnose its opening build, but in the rare when it could not it had some trouble. The impression is that BananaBrain’s reactions were successful but also necessary. Maybe Steamhammer needs to learn how to block its ramp with a drone....


#5 purplewave

openinggameswinsfirstlast
10/12gate10%22
10/12gatedt10%2626
12nexus10%3636
2gatedtexpo12372%8177
2gatereaver250%3738
3gaterobo10%2727
3gatespeedzeal250%01
4gategoon2673%13221
9/9gate757%2979
9/9proxygate250%2425
nzcore10%3939
zcore10%2828
zcorez4871%33209
zzcore667%340
14 openings22269%
enemygameswins
1gatecore12275%
2gate650%
2gatefast333%
4gategoon8268%
unknown911%
5 openings22269%


Dark templar wars!


#6 mcrave

openinggameswinsfirstlast
10/12gate16599%57221
1basespeedzeal888%07
2basespeedzeal10%2121
4gate2archon888%1320
5gategoon367%5456
9/9gate580%812
9/9proxygate10%5151
bisu250%5253
neobisu580%4650
sairdt786%2531
sairgoon367%2224
sairreaver1385%3244
stove10%4545
13 openings22293%
enemygameswins
10hatch10%
12hatch10894%
9pool1100%
overpool11194%
unknown1100%
5 openings22293%


The 10hatch and 9pool are probably misrecognized. It looks like BananaBrain ran over mutalisk specialist McRave with zealots.


#7 microwave

openinggameswinsfirstlast
9/9gate21692%6221
stove683%05
2 openings22291%
enemygameswins
10hatch13100%
12hatch3797%
12pool2990%
4/5pool1100%
9pool4994%
9poolspeed20100%
overpool3370%
unknown4095%
8 openings22291%


The stove is fun, but why is it active for the tournament? It was played against Steamhammer, McRave, and Microwave, and brought down the average every time.


#8 ualbertabot

openinggameswinsfirstlast
PvU_9/9gate475%912
PvU_9/9proxygate10%00
PvU_ffe20898%13220
PvU_zzcore888%18
4 openings22197%
enemygameswins
12hatch3797%
1gatecore3197%
2fac38100%
2gatefast2796%
2rax20100%
4/5pool3187%
4gategoon16100%
9pool1100%
proxyrax20100%
9 openings22197%

#9 pylonpuller

openinggameswinsfirstlast
12nexus2190%020
3gaterobo12890%22149
4gategoon10%2121
9/9gate2291%150171
zcore5098%172221
5 openings22291%
enemygameswins
1gatecore8095%
2gate1974%
2gatefast5389%
cannonrush21100%
cannonturtle2793%
ffe3100%
proxygate14100%
unknown560%
8 openings22291%

#10 styx

openinggameswinsfirstlast
sairgoon22293%0221
1 opening22293%
enemygameswins
12hatch19593%
unknown2793%
2 openings22293%


I’m guessing that if the first opening tried is highly successful, then BananaBrain doesn’t consider anything else.


#11 cunybot

openinggameswinsfirstlast
neobisu221100%0220
1 opening221100%
enemygameswins
10hatch5100%
12hatch64100%
12pool38100%
4/5pool58100%
9pool28100%
overpool1100%
unknown27100%
7 openings221100%

AIIDE 2022 - what Stardust learned

I had forgotten that Stardust had learning in last year’s AIIDE, even though I wrote a post about it which explains how it works and wrote code to summarize its learning results.

I’m short of time, so I haven’t checked whether the recording and use of the data is unchanged. But the data format is unchanged, and my code still works. For each of the three specific events, n is the number of games the event occurred and the times are when it occurred in those games.

firstDarkTemplarCompleted pylonInOurMain firstMutaliskCompleted
opponent games n min median max n min median max n min median max
bananabrain 208 124 5:22 7:37 19:07 0 - - - 0 - - -
dragon 222 0 - - - 0 - - - 0 - - -
steamhammer 207 0 - - - 0 - - - 85 5:00 5:46 8:24
purplewave 214 188 4:55 5:43 17:08 0 - - - 0 - - -
mcrave 210 0 - - - 0 - - - 210 5:50 6:16 10:09
microwave 212 0 - - - 0 - - - 52 4:59 5:19 19:36
ualbertabot 325 13 4:28 4:32 4:43 0 - - - 0 - - -
pylonpuller 211 96 5:11 6:04 8:18 0 - - - 0 - - -
styx 207 0 - - - 0 - - - 0 - - -
cunybot 215 0 - - - 0 - - - 8 5:54 6:26 9:21

Every protoss (including random UAlbertaBot) made dark templar sometimes. The median time is near the minimum time, which suggests that the DTs were often rushed. For BananaBrain and PurpleWave, DTs sometimes came quite late. No protoss proxied in Stardust’s base—it would have been a surprise with any of these opponents. Mutalisks were also often rushed. McRave made mutalisks every game. Styx never made a mutalisk, at least not one that Stardust recorded.

Steamhammer-Stardust game

In this game, Steamhammer hit on a surprising plan that exploited a weakness in Stardust. Even so, Stardust had tricks up its sleeve.

A zerg hatchery in Stardust’s natural, mining away with no defense.

It is strategically correct for the stronger bot to play conservatively, taking no risks. Steamhammer happened across an opening which Stardust answers too conservatively: It proxied in Stardust’s natural. It started the hatchery almost immediately after scouting the location of the protoss base. Correct play is for Stardust to smash the proxy before it can be defended. Stardust scouted the proxy and immediately assumed without evidence that it was contained, so it played conservatively and did not try to break out. The yellow dot in Steamhammer’s natural is the scouting probe: Stardust had all the information it needed to conclude that the proxy was indefensible, but assumed that it was too risky to attack.

The production queues tell each bot’s strategy. Stardust made a robo to escape the containment by air. Also notice the Citadel of Adun. The two cannons next to the nexus are unnecessary; zerg does not have a lair, and protoss could have scouted it but did not bother to. Steamhammer’s opening build assumes blindly that the opponent will not attack—it is a build specialized for defeating one-base protoss players who build up and attack late. Steamhammer is making drones now in preparation for sunkens at the proxy and then a large army.

Speed zealots airlifted out of the protoss base attack the zerg natural.

Both sides have attack +1 already. The citadel was for zealot speed. A shuttle can carry four zealots but only two dragoons. Stardust cleverly elevatored zealots from its main to the north of its base where they would not be seen, and ran them across the map. Steamhammer was ready anyway. Zerglings are about to hatch, and once they joined the hydras the zealots were afraid to engage and ran away. The zealots tried to retreat to the protoss main through the proxy, where sunkens and the zerg army slaughtered them.

Zerg breaks into the protoss base.

After that zerg was in charge. Steamhammer immediately invaded the protoss base, while Stardust airlifted a probe out for a distant hidden base. There was more fighting, but Steamhammer is reliable about winning when this far ahead.

On Jade with its low main, it’s important to defend above the ramp if you can. Otherwise you don’t see what’s coming and you have to fight uphill. But as far as I can see, it didn’t affect this game. Stardust scouted the proxy and did not try to defend its ramp, except for one cannon.

Update: Steamhammer played a second game against Stardust, on the map Python. It went very much the same way. I was right that Jade’s low-ground main did not matter.

Second update, 10 July: Steamhammer has since won a bunch of games that went the same way. Here’s the first game that went differently, on Andromeda. It shows both the strength and the fragility of a strong proxy position.

machine learning for Steamhammer

Working at glacial speed, I pieced together a machine learning algorithm for use in Steamhammer. It passed basic tests today. When I’m sure that it works for real cases that I care about, I’ll release the code. It’s short.

I used a little-known idea and combined it with a standard algorithm employed in a slightly old-fashioned way. It took me a long time to put the thoughts together, but the result is that it fits in 374 lines of code, including blanks and comments, with no dependencies. (It will likely be longer when I release it.) It should be as accurate as a conventional (non-“deep”) neural network, but it learns faster and runs faster. It’s there in the literature, I just had to put the pieces together.

Hooking it into Steamhammer will take more code that the method itself. I’ve claimed before that the first use will be for an evaluation function, “Am I winning?” but that’s not strictly true. The first use will be to train the evaluation function! Once it has useful accuracy it will be put to work in opening selection, and it can be bootstrapped for all kinds of midgame strategy decisions.

Don’t hold your breath, I’m still working at glacial speed, and even global warming won’t change that right away.

new bots Terminus and Brainiac

Terminus is BananaBrain playing terran, and Brainiac is BananaBrain playing random. (Crona is BananaBrain playing zerg and has been around for a while. BananaBrain is of course BananaBrain playing protoss.)

Terran is the new race. In the games I watched, I saw it open with in-base BBS and proxy BBS (which it plays rigidly with no tech), Gundam rush, a different two-factory attack, bunker expand, factory expand, and wall its natural and defend with tanks. It’s a wide variety, and I doubt I saw everything. It knows something about tank lines, though its TvT skills did not seem polished. It knows how to scout with a floating building. It can play with barracks units or factory units, or both at once. It can make wraiths and vessels. It knows how to lay a dense carpet of mines in front of its base—sometimes too close in front. It’s not effective mine placement against a skilled opponent. It does not seem to go for the hyperactive vulture style popularized by Iron. Not as impressive a terran as Hao Pan or Krasi0, but strong skills overall.

This game versus Pathos was entertaining. Terminus tried to expand and failed.

It looks like another tough opponent. Way to go! As I write, Brainiac is ranked lower than its component races, but that is because it is too new. Its rating has not stabilized.

Steamhammer will be back. Give me time.

Steamhammer in SSCAIT 2021

I predicted Steamhammer to finish at #11 in SSCAIT this year, and hoped it would do a little better. It finished tied for #12-13. On the one hand, it’s only a little lower than I expected. On the other, the difference in games from what I expected is glaring, to my eyes. When I made the prediction, I didn’t realize that Steamhammer’s saved learning data had been reset at some recent time. In the games I saw, Steamhammer had about 8 past games of data on each opponent. I did not imagine that Steamhammer might lose 2 games in a row to XIMP by Tomas Vajda, and 2 games in a row to WuliBot, and other losses to fixed-strategy opponents—it simply doesn’t happen when Steamhammer is trained up.

I estimate that if Steamhammer had won its “easy” games at the rate it does on BASIL, it would have finished at #10, with a chance of reaching #9. It would have been as I hoped.

Today’s finals round 1 match against Halo by Hao Pan was awful. Steamhammer scores over 60% versus Halo on BASIL. In the SSCAIT round robin it scored 2-0 using a ling flood strategy, which won when Halo opened its wall prematurely. In today’s match the ling flood failed, though it was close. Steamhammer didn’t have much experience to back up its next choices, and made poor ones.

Steamhammer’s next match is in the loser’s bracket against #13 McRaveZ. I think its odds are under 50%.

SSCAIT 3 second game

What happened in game 947, Steamhammer-Florian Richoux? It wasn’t the failure to connect that has disturbed other games. It looks like a related but different server failure.

Both bots recorded replays. Both replays are 3 seconds long. Florian Richoux (aka AIUR) recorded a replay where both bots sent workers to mine, end of game. Steamhammer recorded a replay where it sent drones to mine while Florian Richoux was idle as if it had not connected. The official result has Florian Richoux winning, and the game is not considered a crash.

I guess Steamhammer connected and then somehow lost its connection after it issued its mining orders and before Florian Richoux’s mining orders reached it? Or something?

So far Steamhammer has 4 games out of 34 played which were disturbed by apparent server failures. 2 are wins and 2 are losses. That’s about 12%, consistent with the estimated 14% overall rate from earlier on. The failures are adding noise and on average causing scores to shift toward 50%.

SSCAIT early returns

SSCAIT has only been underway for a short time. Results so far are very rough and will change. Even so, Steamhammer is scoring about as expected, currently 10-4 for #10. It has played more games than most bots. A good sign is that it has played more games against the top 16 than any other bot in the top 16, and still held its expected position.

A bad sign is that Steamhammer has two wins over opponents that did not start up: Halo by Hao Pan and Stardust. Stardust has 3 losses, all against opponents it should beat easily. None of the 3 has a replay recorded on Stardust’s side, so it must have failed to start all 3 games. If it’s the server’s fault, either the server bug has a bias or else Stardust is extremely unlucky. In a real game, Steamhammer has good odds against Hao Pan (better than 2:1), but virtually no chance against Stardust.

The ranking will change a lot before the end. So far, BetaStar and PurpleWave have perfect records with 7 and 6 games played respectively. BananaBrain, Monster, and Krasi0P follow with around 90%.

Steamhammer in SSCAIT 2021

Games for SSCAIT 2021 will be starting any time now. Meanwhile, I have been working on an unrelated project which is well over half complete.

Steamhammer has participated in SSCAIT every year since 2016. This year makes six. Steamhammer finished at #11 in 2018, #11 in 2019, #11 in 2020. This year will be the first time Steamhammer has played without any special preparation or last-minute fixes. I expect it to finish at... #11, maybe a little better. If I had worked on it in the runup, it would have had a good chance to finish in the top half, because I’m at a point where big improvements are possible. I didn’t, but Steamhammer is still in good shape to finish as well as it has in past years.

Anyway, the proof is in the pudding. Let’s go!

AIIDE 2021 - what UAlbertaBot learned

I haven’t found time to investigate the second instance of “we both lost”. After this post, I’m nearly done with summarizing and aligning the bot learning files. The only bot I haven’t gotten to is FreshMeat, which has a unique learning system, not similar to any other bot’s. FreshMeat’s code is remarkably low-level, and deciphering the learning algorithm and the meaning of the learning files will take time.

In any case, here is UAlbertaBot’s learned data. UAlbertaBot keeps counts of wins and losses per strategy, not full history files, so its data can be laid out in a single table.

openingtotal#1
stardus
#2
bananab
#3
dragon
#4
steamha
#5
mcrave
#6
willyt
#7
microwa
#8
daqin
#9
freshme
total-  26%2-155  1%8-147  5%27-130  17%13-139  9%98-57  63%48-105  31%67-88  43%32-124  21%68-81  46%
4RaxMarines58-93 38%0-15 0%0-11 0%3-15 17%1-17 6%40-2 95%2-9 18%0-5 0%0-10 0%12-9 57%
MarineRush18-97 16%0-15 0%1-15 6%0-6 0%0-11 0%2-3 40%0-8 0%13-25 34%0-10 0%2-4 33%
TankPush12-102 11%0-15 0%0-11 0%0-6 0%0-11 0%1-2 33%5-25 17%0-5 0%3-23 12%3-4 43%
VultureRush15-90 14%0-14 0%0-10 0%5-19 21%0-11 0%0-1 0%0-8 0%1-9 10%0-10 0%9-8 53%
DTRush41-85 33%2-18 10%0-11 0%10-26 28%0-8 0%0-2 0%0-3 0%-0-4 0%29-13 69%
DragoonRush10-62 14%0-10 0%0-11 0%0-6 0%1-12 8%0-2 0%0-3 0%-7-14 33%2-4 33%
ZealotRush104-150 41%0-10 0%4-28 12%0-6 0%10-16 38%24-24 50%19-25 43%35-15 70%12-21 36%0-5 0%
2HatchHydra6-72 8%0-15 0%0-10 0%6-20 23%0-12 0%-0-2 0%0-3 0%0-4 0%0-6 0%
3HatchMuta1-61 2%0-15 0%0-10 0%0-6 0%0-12 0%-0-2 0%0-3 0%0-4 0%1-9 10%
3HatchScourge0-56 0%0-14 0%0-9 0%0-6 0%0-12 0%-0-2 0%0-3 0%0-4 0%0-6 0%
ZerglingRush98-158 38%0-14 0%3-21 12%3-14 18%1-17 6%31-21 60%22-18 55%18-20 47%10-20 33%10-13 43%

Looking down the total column on the left, there is one big surprise. UAlbertaBot has a primary strategy for each race it may roll, and switches away only if the primary strategy turns out poorly. In past years when I analyzed UAlbertaBot’s data (2018, 2019, and 2020), UAlbertaBot’s primary strategy with every race was also its best strategy overall when it rolled that race. This year, the primary terran strategy MarineRush was no longer best; it was far exceeded by 4RaxMarines, with better results against 5 opponents and equal zero against 2 more. 4RaxMarines does not mean build four barracks to train marines, it means build a barracks at supply 4: It is a fast rush. Here is the build order from the config file.

"Terran_4RaxMarines" : { "Race" : "Terran", "OpeningBuildOrder" : ["Barracks", "SCV", "SCV", "Marine", "Supply Depot", "Marine", "SCV", "Marine", "SCV", "Marine", "SCV", "Marine", "Barracks", "Marine", "Marine", "Marine"]}

I guess opponents were less prepared for the fast marine rush. McRave in particular was unable to cope. I looked through BASIL’s build order page and did not see it; I guess no bot plays 4 rax regularly. The version of UAlbertaBot on BASIL is different from the one in the tournament. The BASIL UAlbertaBot does play the slower marine rush, so its opponents have gotten used to it.

The 3HatchScourge build was useless. The build was specially designed to give UAlbertaBot a chance against XIMP, and apparently has no other value. Curiously, 3HatchMuta was nearly as helpless, with only 1 win, against FreshMeat. That win was the only win as zerg against FreshMeat, though, so chalk up one advantage.

AIIDE 2021 - Microwave versus DaQin

Two posts again today. Blue is good for Microwave, red is good for DaQin.

microwave strategies versus daqin strategies

overall4GateGoonForgeExpand5GateGoonForgeExpandSpeedlots
overall128/157 82%0/1 0%3/3 100%125/153 82%
1HatchMuta_Sparkle27/33 82%--27/33 82%
3HatchHydra0/1 0%--0/1 0%
3HatchLurker0/1 0%--0/1 0%
3HatchMuta95/106 90%-2/2 100%93/104 89%
3HatchMutaExpo0/1 0%--0/1 0%
4HatchPoolHydra1/1 100%--1/1 100%
5HatchPoolHydra1/2 50%0/1 0%-1/1 100%
6Pool0/1 0%--0/1 0%
6PoolSpeed0/1 0%--0/1 0%
9PoolHatchGasSpeed7D1/3 33%--1/3 33%
9PoolHatchGasSpeed8D3/6 50%-1/1 100%2/5 40%
9PoolSpeedLing0/1 0%--0/1 0%

DaQin barely varied its play, so again, nothing to see here.

microwave as seen by daqin

microwave played#daqin recognized
1HatchMuta_Sparkle3322 Not fast rush | 7 Heavy rush | 4 Proxy
3HatchHydra11 Not fast rush
3HatchLurker11 Heavy rush
3HatchMuta10684 Not fast rush | 16 Heavy rush | 4 Proxy | 2 Unknown
3HatchMutaExpo11 Not fast rush
4HatchPoolHydra11 Hydra bust
5HatchPoolHydra22 Not fast rush
6Pool11 Fast rush
6PoolSpeed11 Fast rush
9PoolHatchGasSpeed7D32 Heavy rush | 1 Not fast rush
9PoolHatchGasSpeed8D63 Fast rush | 2 Heavy rush | 1 Unknown
9PoolSpeedLing11 Heavy rush

9 pool is again sometimes a fast rush and sometimes something incompatible. And there are some stray proxies again. That is probably a bug inherited from Steamhammer (and long since fixed there).

daqin as seen by microwave

daqin played#microwave recognized
4GateGoon11 Unknown
ForgeExpand5GateGoon32 Turtle | 1 Unknown
ForgeExpandSpeedlots15387 Turtle | 43 SafeExpand | 16 Unknown | 4 NakedExpand | 3 HeavyRush

AIIDE 2021 - McRave versus DaQin

Blue is good for McRave, red is good for DaQin.

mcrave strategies versus daqin strategies

overallForgeExpand5GateGoonForgeExpandSpeedlots
overall122/157 78%3/3 100%119/154 77%
HatchPool,12Hatch,2HatchMuta102/123 83%3/3 100%99/120 82%
PoolHatch,9Pool,2HatchMuta1/3 33%-1/3 33%
PoolHatch,9Pool,3HatchMuta1/2 50%-1/2 50%
PoolHatch,9Pool,6HatchHydra0/2 0%-0/2 0%
PoolHatch,Overpool,2HatchMuta18/23 78%-18/23 78%
PoolHatch,Overpool,3HatchMuta0/3 0%-0/3 0%
PoolHatch,Overpool,6HatchHydra0/1 0%-0/1 0%

Move along, nothing to see here folks.

mcrave as seen by daqin

mcrave played#daqin recognized
HatchPool,12Hatch,2HatchMuta12393 Not fast rush | 18 Unknown | 12 Heavy rush
PoolHatch,9Pool,2HatchMuta31 Not fast rush | 1 Unknown | 1 Fast rush
PoolHatch,9Pool,3HatchMuta22 Fast rush
PoolHatch,9Pool,6HatchHydra21 Unknown | 1 Not fast rush
PoolHatch,Overpool,2HatchMuta2322 Not fast rush | 1 Heavy rush
PoolHatch,Overpool,3HatchMuta32 Not fast rush | 1 Heavy rush
PoolHatch,Overpool,6HatchHydra11 Not fast rush

Apparently 9 pool is sometimes a fast rush and sometimes a not fast rush.

daqin as seen by mcrave

daqin played#mcrave recognized
ForgeExpand5GateGoon33 FFE,Forge,5GateGoon
ForgeExpandSpeedlots15488 FFE,Forge,Speedlot | 24 FFE,Forge,5GateGoon | 23 FFE,Gateway,Speedlot | 7 FFE,Forge,ZealotArchon | 6 FFE,Nexus,Speedlot | 2 FFE,Nexus,5GateGoon | 2 FFE,Forge,Unknown | 2 FFE,Gateway,5GateGoon

There are those dragoons again, even when DaQin believes it is making zealots. I imagine that something in McRave’s recognizer is approximate. It only matters if McRave reacts to its own wrong recognition, though.

AIIDE 2021 - Dragon versus DaQin

Two posts today, because they’re short. Blue is good for Dragon, red is good for DaQin.

dragon strategies versus daqin strategies

overall12NexusCarriers3GateDT4GateGoonDTDrop
overall74/157 47%52/127 41%5/9 56%16/20 80%1/1 100%
1rax fe55/98 56%42/81 52%-13/17 76%-
2rax bio1/6 17%1/6 17%---
2rax mech4/11 36%2/9 22%1/1 100%-1/1 100%
bio4/13 31%1/10 10%3/3 100%--
dirty worker rush0/5 0%0/5 0%---
mass vulture10/20 50%6/12 50%1/5 20%3/3 100%-
siege expand0/4 0%0/4 0%---

The bots seem to have found the saddle point of the strategy game: DaQin’s carriers were from OK to great against everything, and Dragon’s “1 rax fe” was also as good as it got against everything.

dragon as seen by daqin

dragon played#daqin recognized
1rax fe9832 Safe expand | 27 Unknown | 17 Proxy | 13 Naked expand | 9 Not fast rush
2rax bio63 Unknown | 2 Safe expand | 1 Naked expand
2rax mech117 Safe expand | 2 Not fast rush | 1 Proxy | 1 Naked expand
bio136 Safe expand | 3 Naked expand | 2 Unknown | 2 Proxy
dirty worker rush55 Worker rush
mass vulture2017 Factory | 2 Proxy | 1 Not fast rush
siege expand43 Unknown | 1 Not fast rush

Recognition was good against the worker rush and the vultures, but it looks scattered otherwise. Where did those supposed proxies come from?

AIIDE 2021 - BananaBrain versus DaQin

Not an exciting pairing. Blue is good for BananaBrain, red is good for DaQin.

bananabrain strategies versus daqin strategies

overall2GateDT3GateDT4GateGoon
overall141/157 90%3/3 100%134/150 89%4/4 100%
2gatedt8/10 80%-5/7 71%3/3 100%
2gatedtexpo0/1 0%-0/1 0%-
2gatereaver131/142 92%3/3 100%127/138 92%1/1 100%
9/9gate2/3 67%-2/3 67%-
zcore0/1 0%-0/1 0%-

bananabrain as seen by daqin

bananabrain played#daqin recognized
2gatedt1010 Fast rush
2gatedtexpo11 DarkTemplar rush
2gatereaver142140 DarkTemplar rush | 1 Proxy | 1 Not fast rush
9/9gate33 Fast rush
zcore11 DarkTemplar rush

daqin as seen by bananabrain

daqin played#bananabrain recognized
2GateDT32 1gatecore | 1 unknown
3GateDT15066 1gatecore | 65 4gategoon | 18 unknown | 1 ffe
4GateGoon43 4gategoon | 1 1gatecore