#3 BananaBrain had pre-trained data, 3000 (!) games versus Stardust and 100 each against PurpleWave, Dragon, McRave, Microwave, and DaQin. Other opponents did not rate. The main tables here include only tournament games, not pre-training games. BananaBrain scored higher in training games than in tournament games against every opponent except the carryover DaQin (training 61% of 100 games, tournament 66% of 150 games, statistically close enough). It looks as though BananaBrain might have won the tournament if it had played against the same versions of opponents that it trained against. I take it as a sign that secret tournament improvements may be worth it.
A couple conclusions: 1. Enemy strategy recognition seemed to have some misfires with terran opponents. 2. BananaBrain would have scored slightly better if it had never played the Stove. It’s a for-fun build more than a for-real build—though bots are often poor at adaptation, so perhaps on BASIL it is more effective than here.
#1 stardust
opening | games | wins | first | last |
PvP_10/12gate | 10 | 40% | 12 | 119 |
PvP_12nexus | 2 | 0% | 11 | 66 |
PvP_2gatedt | 6 | 17% | 28 | 145 |
PvP_2gatedtexpo | 7 | 0% | 0 | 140 |
PvP_2gatereaver | 29 | 24% | 3 | 149 |
PvP_3gaterobo | 4 | 25% | 50 | 106 |
PvP_3gatespeedzeal | 3 | 0% | 4 | 65 |
PvP_4gategoon | 26 | 65% | 31 | 144 |
PvP_9/9gate | 4 | 0% | 29 | 146 |
PvP_9/9proxygate | 17 | 41% | 8 | 142 |
PvP_nzcore | 2 | 0% | 2 | 68 |
PvP_zcore | 1 | 0% | 118 | 118 |
PvP_zcorez | 5 | 40% | 42 | 117 |
PvP_zzcore | 34 | 53% | 5 | 148 |
14 openings | 150 | 38% | | |
enemy | games | wins |
P_1gatecore | 23 | 35% |
P_2gate | 4 | 75% |
P_2gatefast | 10 | 30% |
P_4gategoon | 94 | 44% |
P_unknown | 19 | 11% |
5 openings | 150 | 38% |
BananaBrain was the only bot to leave a dent in Stardust. Its plan recognition was not precise enough to pin down Stardust’s 4 gate goon strategy consistently, likely because Stardust ejected the bananascout before the build was complete. Still, BananaBrain’s 4 gate goon opener defeated Stardust’s 4 gate goons 65% of the time in 26 games. BananaBrain is deliberately unpredictable, but against this opponent consistency may have been better: Stardust played without learning, so its opponents should have sought the single best opening as an answer rather than the best mix of openings. It’s possible that #3 BananaBrain could have upset Stardust if it had done that, though it would not have gained enough wins to pass #2 PurpleWave.
opening | games | wins | first | last |
PvP_10/12gate | 60 | 3% | 11 | 2934 |
PvP_12nexus | 56 | 0% | 4 | 2915 |
PvP_2gatedt | 112 | 31% | 8 | 2978 |
PvP_2gatedtexpo | 278 | 53% | 5 | 2921 |
PvP_2gatereaver | 1110 | 66% | 6 | 2988 |
PvP_3gaterobo | 60 | 3% | 2 | 2935 |
PvP_3gatespeedzeal | 116 | 26% | 7 | 2916 |
PvP_4gategoon | 56 | 0% | 3 | 2917 |
PvP_9/9gate | 136 | 36% | 12 | 2995 |
PvP_9/9proxygate | 437 | 61% | 13 | 2936 |
PvP_nzcore | 56 | 0% | 1 | 2918 |
PvP_zcore | 102 | 21% | 0 | 2989 |
PvP_zcorez | 72 | 12% | 9 | 2986 |
PvP_zzcore | 349 | 67% | 10 | 2999 |
14 openings | 3000 | 51% | | |
This is the table of pre-trained games. It looks different from the tournament table; the overall score and the individual results by strategy do not match up. The training may have been against an older version of Stardust on the Starcraft AI Ladder, or it may have been against Locutus, which was wrapped around an encrypted Stardust binary on SSCAIT and played instead of Stardust if it didn’t have its encryption key.
The misleading training cannot have helped BananaBrain’s results. It did adapt, but notice that BananaBrain’s most effective counter of 4 gate goon was only played 26 times in 150 games, less often than P_2gatereaver
and P_zzcore
which scored highest in training.
#2 purplewave
opening | games | wins | first | last |
PvP_10/12gate | 7 | 14% | 1 | 146 |
PvP_12nexus | 7 | 14% | 2 | 125 |
PvP_2gatedt | 11 | 36% | 22 | 142 |
PvP_2gatedtexpo | 10 | 40% | 36 | 141 |
PvP_2gatereaver | 9 | 22% | 20 | 144 |
PvP_3gaterobo | 13 | 23% | 3 | 148 |
PvP_3gatespeedzeal | 9 | 33% | 9 | 108 |
PvP_4gategoon | 16 | 69% | 4 | 137 |
PvP_9/9gate | 9 | 22% | 13 | 128 |
PvP_9/9proxygate | 9 | 22% | 10 | 147 |
PvP_nzcore | 14 | 43% | 7 | 149 |
PvP_zcore | 7 | 14% | 29 | 115 |
PvP_zcorez | 12 | 42% | 0 | 143 |
PvP_zzcore | 17 | 65% | 5 | 139 |
14 openings | 150 | 37% | | |
enemy | games | wins |
P_1gatecore | 106 | 38% |
P_2gate | 5 | 80% |
P_2gatefast | 3 | 67% |
P_4gategoon | 14 | 36% |
P_ffe | 1 | 0% |
P_unknown | 21 | 24% |
6 openings | 150 | 37% |
Again, 4 gate goon was BananaBrain’s best, though zealot-zealot-core was statistically equal. PurpleWave learns, so mixing it up was likely correct. Judging by the names, the last 4 builds here, the ones that mention “core”, are nonspecific tech builds that might aim for any tech and unit mix in the midgame. Do the names accurately describe them?
Again the training data was somewhat misleading (52% win rate in 100 training games and entirely different best counters), but BananaBrain tried its strategies in a fairly even distribution so I think it made little difference in this case. Presumably 100 games of training provide a smaller bias than 3000 games.
#4 dragon
opening | games | wins | first | last |
PvT_10/12gate | 17 | 71% | 8 | 145 |
PvT_10/15gate | 12 | 42% | 15 | 147 |
PvT_12nexus | 8 | 12% | 16 | 132 |
PvT_1gatedtexpo | 7 | 43% | 36 | 134 |
PvT_1gatereaver | 5 | 0% | 10 | 118 |
PvT_28nexus | 11 | 45% | 25 | 149 |
PvT_2gatedt | 9 | 33% | 2 | 128 |
PvT_2gaterngexpo | 7 | 29% | 32 | 131 |
PvT_32nexus | 8 | 25% | 12 | 124 |
PvT_9/9gate | 18 | 78% | 7 | 146 |
PvT_9/9proxygate | 14 | 57% | 4 | 148 |
PvT_bulldog | 6 | 0% | 5 | 120 |
PvT_dtdrop | 8 | 25% | 0 | 117 |
PvT_proxydt | 14 | 71% | 1 | 140 |
PvT_stove | 6 | 0% | 11 | 125 |
15 openings | 150 | 45% | | |
enemy | games | wins |
T_1fac | 38 | 42% |
T_fastexpand | 4 | 75% |
T_unknown | 108 | 44% |
3 openings | 150 | 45% |
BananaBrain could not recognize most of Dragon’s builds. It looks like Dragon was vulnerable to mass zealots, an important weakness, and to hidden dark templar, which any terran might die to if unscouted. But what is the Stove doing there? Does it work against decent terran bots? Maybe the key is that there are few mid-rank terran bots, they are mostly in the upper and lower tiers.
67% overall win rate in training, but this time BananaBrain’s best counters matched between training and the tournament. The training helped, even though it was against a weaker version of Dragon.
#5 mcrave
opening | games | wins | first | last |
PvZ_10/12gate | 13 | 69% | 24 | 144 |
PvZ_1basespeedzeal | 12 | 50% | 8 | 133 |
PvZ_2basespeedzeal | 9 | 33% | 25 | 148 |
PvZ_4gate2archon | 6 | 17% | 29 | 132 |
PvZ_5gategoon | 16 | 56% | 7 | 129 |
PvZ_9/9gate | 27 | 96% | 1 | 145 |
PvZ_9/9proxygate | 10 | 50% | 0 | 147 |
PvZ_bisu | 5 | 20% | 19 | 87 |
PvZ_neobisu | 11 | 45% | 5 | 149 |
PvZ_sairdt | 10 | 30% | 4 | 141 |
PvZ_sairgoon | 17 | 65% | 3 | 146 |
PvZ_sairreaver | 5 | 20% | 26 | 91 |
PvZ_stove | 9 | 22% | 2 | 140 |
13 openings | 150 | 55% | | |
enemy | games | wins |
Z_9pool | 28 | 82% |
Z_overpool | 118 | 47% |
Z_unknown | 4 | 75% |
3 openings | 150 | 55% |
According to McRave’s tables, McRave played overpool every game against BananaBrain. BananaBrain was able to correctly recognize that most of the time, but strangely won at a higher rate when recognition failed. Does BananaBrain perhaps have a reaction to overpool which was detrimental in this case? Or was BananaBrain perfectly right, and McRave sometimes slips up in its build order and goes 9 pool instead of overpool? I think it’s more likely that BananaBrain misrecognized it.
#6 microwave
opening | games | wins | first | last |
PvZ_10/12gate | 17 | 71% | 6 | 148 |
PvZ_1basespeedzeal | 19 | 84% | 2 | 141 |
PvZ_2basespeedzeal | 11 | 64% | 1 | 145 |
PvZ_4gate2archon | 9 | 56% | 4 | 147 |
PvZ_5gategoon | 7 | 43% | 20 | 125 |
PvZ_9/9gate | 11 | 55% | 19 | 123 |
PvZ_9/9proxygate | 12 | 58% | 0 | 130 |
PvZ_bisu | 14 | 71% | 5 | 138 |
PvZ_neobisu | 10 | 60% | 11 | 121 |
PvZ_sairdt | 10 | 50% | 8 | 146 |
PvZ_sairgoon | 11 | 45% | 3 | 149 |
PvZ_sairreaver | 9 | 56% | 7 | 143 |
PvZ_stove | 10 | 50% | 17 | 136 |
13 openings | 150 | 61% | | |
enemy | games | wins |
Z_10hatch | 13 | 77% |
Z_12hatch | 20 | 85% |
Z_12pool | 37 | 49% |
Z_4/5pool | 8 | 75% |
Z_9pool | 50 | 52% |
Z_9poolspeed | 7 | 86% |
Z_overpool | 12 | 58% |
Z_unknown | 3 | 67% |
8 openings | 150 | 61% |
BananaBrain’s openings scored roughly similarly against Microwave, only a couple below 50% and only one above 75%. I think that argues that Microwave is well balanced in its skills.
#7 steamhammer
opening | games | wins | first | last |
PvZ_10/12gate | 17 | 100% | 4 | 148 |
PvZ_1basespeedzeal | 13 | 77% | 8 | 124 |
PvZ_2basespeedzeal | 11 | 73% | 11 | 130 |
PvZ_4gate2archon | 9 | 33% | 6 | 140 |
PvZ_5gategoon | 9 | 44% | 19 | 147 |
PvZ_9/9gate | 17 | 100% | 27 | 149 |
PvZ_9/9proxygate | 16 | 94% | 5 | 142 |
PvZ_bisu | 8 | 38% | 2 | 145 |
PvZ_neobisu | 6 | 0% | 18 | 129 |
PvZ_sairdt | 14 | 93% | 0 | 137 |
PvZ_sairgoon | 11 | 64% | 7 | 146 |
PvZ_sairreaver | 10 | 40% | 14 | 144 |
PvZ_stove | 9 | 56% | 1 | 139 |
13 openings | 150 | 71% | | |
enemy | games | wins |
Z_10hatch | 34 | 53% |
Z_12hatch | 87 | 69% |
Z_12pool | 11 | 91% |
Z_4/5pool | 2 | 100% |
Z_9pool | 8 | 100% |
Z_overpool | 3 | 100% |
Z_unknown | 5 | 100% |
7 openings | 150 | 71% |
The 2 gate zealot openings whomped Steamhammer. Steamhammer survives the zealot attack in many cases, but usually by spending more than it can afford so that it falls far behind in economy.
#8 daqin
opening | games | wins | first | last |
PvP_10/12gate | 10 | 70% | 15 | 140 |
PvP_12nexus | 7 | 57% | 49 | 146 |
PvP_2gatedt | 16 | 88% | 8 | 147 |
PvP_2gatedtexpo | 14 | 71% | 9 | 133 |
PvP_2gatereaver | 16 | 81% | 3 | 149 |
PvP_3gaterobo | 13 | 62% | 4 | 138 |
PvP_3gatespeedzeal | 7 | 29% | 11 | 121 |
PvP_4gategoon | 8 | 50% | 32 | 118 |
PvP_9/9gate | 16 | 94% | 16 | 148 |
PvP_9/9proxygate | 10 | 60% | 1 | 135 |
PvP_nzcore | 11 | 64% | 10 | 139 |
PvP_zcore | 7 | 43% | 0 | 130 |
PvP_zcorez | 7 | 29% | 2 | 137 |
PvP_zzcore | 8 | 50% | 31 | 145 |
14 openings | 150 | 66% | | |
enemy | games | wins |
P_1gatecore | 66 | 68% |
P_4gategoon | 68 | 60% |
P_ffe | 1 | 100% |
P_unknown | 15 | 80% |
4 openings | 150 | 66% |
#9 zzzkbot
opening | games | wins | first | last |
PvZ_10/12gate | 12 | 100% | 6 | 133 |
PvZ_1basespeedzeal | 12 | 100% | 25 | 148 |
PvZ_2basespeedzeal | 14 | 100% | 2 | 149 |
PvZ_4gate2archon | 11 | 91% | 3 | 144 |
PvZ_5gategoon | 12 | 83% | 0 | 142 |
PvZ_9/9gate | 12 | 100% | 21 | 135 |
PvZ_9/9proxygate | 9 | 78% | 4 | 146 |
PvZ_bisu | 11 | 91% | 17 | 145 |
PvZ_neobisu | 12 | 100% | 10 | 143 |
PvZ_sairdt | 12 | 100% | 5 | 147 |
PvZ_sairgoon | 12 | 100% | 18 | 136 |
PvZ_sairreaver | 10 | 80% | 1 | 132 |
PvZ_stove | 11 | 91% | 12 | 141 |
13 openings | 150 | 94% | | |
enemy | games | wins |
Z_4/5pool | 99 | 98% |
Z_9pool | 48 | 85% |
Z_overpool | 2 | 100% |
Z_unknown | 1 | 100% |
4 openings | 150 | 94% |
ZZZKBot is the first opponent that BananaBrain outclassed. It did not much matter what protoss played.
#10 ualbertabot
opening | games | wins | first | last |
PvU_10/12gate | 21 | 90% | 2 | 145 |
PvU_9/9gate | 22 | 91% | 4 | 147 |
PvU_9/9proxygate | 18 | 72% | 1 | 133 |
PvU_ffe | 23 | 91% | 0 | 146 |
PvU_nzcore | 20 | 85% | 10 | 139 |
PvU_zcore | 26 | 96% | 3 | 149 |
PvU_zzcore | 20 | 85% | 9 | 148 |
7 openings | 150 | 88% | | |
enemy | games | wins |
P_1gatecore | 21 | 95% |
P_2gate | 5 | 80% |
P_2gatefast | 17 | 94% |
P_4gategoon | 2 | 100% |
P_unknown | 2 | 0% |
T_2fac | 22 | 100% |
T_2rax | 18 | 94% |
T_unknown | 15 | 100% |
T_wallin | 1 | 100% |
Z_12hatch | 14 | 93% |
Z_4/5pool | 32 | 66% |
Z_unknown | 1 | 100% |
12 openings | 150 | 88% |
It’s interesting that BananaBrain recognized a terran wall in one game. UAlbertaBot does not know how to build a wall, and in fact places its early buildings near the command center. Terran is also the opponent race with the highest number of unrecognized (“unknown”) builds. BananaBrain suffered recognition trouble against Dragon too.
#11 willyt
opening | games | wins | first | last |
PvT_10/12gate | 12 | 100% | 6 | 148 |
PvT_10/15gate | 11 | 100% | 12 | 129 |
PvT_12nexus | 9 | 78% | 8 | 146 |
PvT_1gatedtexpo | 10 | 80% | 7 | 139 |
PvT_1gatereaver | 10 | 80% | 14 | 143 |
PvT_28nexus | 8 | 62% | 5 | 144 |
PvT_2gatedt | 11 | 73% | 1 | 145 |
PvT_2gaterngexpo | 9 | 78% | 29 | 127 |
PvT_32nexus | 12 | 100% | 0 | 142 |
PvT_9/9gate | 12 | 100% | 2 | 149 |
PvT_9/9proxygate | 13 | 100% | 3 | 147 |
PvT_bulldog | 9 | 78% | 4 | 141 |
PvT_dtdrop | 9 | 78% | 19 | 108 |
PvT_proxydt | 9 | 67% | 25 | 133 |
PvT_stove | 6 | 50% | 22 | 131 |
15 openings | 150 | 84% | | |
enemy | games | wins |
T_1fac | 8 | 88% |
T_2rax | 52 | 96% |
T_fastexpand | 26 | 77% |
T_unknown | 64 | 77% |
4 openings | 150 | 84% |
The Stove did not work well against WillyT.
#12 ecgberht
opening | games | wins | first | last |
PvT_10/12gate | 10 | 100% | 2 | 127 |
PvT_10/15gate | 10 | 100% | 6 | 137 |
PvT_12nexus | 10 | 100% | 24 | 129 |
PvT_1gatedtexpo | 10 | 100% | 9 | 148 |
PvT_1gatereaver | 10 | 100% | 11 | 131 |
PvT_28nexus | 10 | 100% | 15 | 139 |
PvT_2gatedt | 11 | 100% | 12 | 142 |
PvT_2gaterngexpo | 10 | 100% | 1 | 140 |
PvT_32nexus | 10 | 100% | 10 | 125 |
PvT_9/9gate | 10 | 100% | 18 | 147 |
PvT_9/9proxygate | 10 | 100% | 0 | 145 |
PvT_bulldog | 10 | 100% | 25 | 149 |
PvT_dtdrop | 10 | 100% | 8 | 143 |
PvT_proxydt | 9 | 78% | 17 | 146 |
PvT_stove | 10 | 100% | 3 | 144 |
15 openings | 150 | 99% | | |
enemy | games | wins |
T_1fac | 8 | 100% |
T_2fac | 24 | 100% |
T_2rax | 7 | 100% |
T_fastexpand | 21 | 100% |
T_unknown | 90 | 98% |
5 openings | 150 | 99% |
The Stove did as well as anything against Ecgberht. But then, only one opening had any losses (it had 2 losses).
#13 eggbot
opening | games | wins | first | last |
PvP_10/12gate | 12 | 100% | 1 | 145 |
PvP_12nexus | 11 | 100% | 16 | 142 |
PvP_2gatedt | 12 | 100% | 19 | 148 |
PvP_2gatedtexpo | 12 | 92% | 10 | 137 |
PvP_2gatereaver | 10 | 100% | 27 | 122 |
PvP_3gaterobo | 9 | 89% | 12 | 104 |
PvP_3gatespeedzeal | 12 | 100% | 0 | 146 |
PvP_4gategoon | 12 | 100% | 3 | 149 |
PvP_9/9gate | 12 | 100% | 2 | 143 |
PvP_9/9proxygate | 8 | 75% | 22 | 136 |
PvP_nzcore | 9 | 89% | 13 | 130 |
PvP_zcore | 11 | 100% | 5 | 147 |
PvP_zcorez | 11 | 100% | 8 | 138 |
PvP_zzcore | 9 | 89% | 11 | 131 |
14 openings | 150 | 96% | | |
enemy | games | wins |
P_cannonrush | 147 | 96% |
P_proxygate | 3 | 100% |
2 openings | 150 | 96% |
Comments