AIIDE 2020 - Steamhammer versus McRave
I added parsing for Steamhammer. DaQin is nearly the same. The only remaining bot which records data that can be analyzed this way is ZZZKBot, which has a difficult file format, does not keep a recognized enemy strategy, and doesn’t bother to write a newline at the end of its file. I may skip ZZZKBot.
The Steamhammer-McRave strategy crosstable is the most interesting one yet.
steamhammer strategies versus mcrave strategies
overall | PoolHatch,12Pool,2HatchMuta | PoolHatch,12Pool,2HatchSpeedling | PoolLair,9Pool,1HatchMuta | |
---|---|---|---|---|
overall | 64/150 43% | 17/33 52% | 10/22 45% | 37/95 39% |
12PoolLurker | 0/1 0% | - | - | 0/1 0% |
3HatchLingBurrow | 1/5 20% | 1/2 50% | - | 0/3 0% |
8DroneGas | 7/11 64% | - | 1/1 100% | 6/10 60% |
9HatchMain9Pool9Gas | 0/2 0% | - | - | 0/2 0% |
9PoolHatchSpeedAllInB | 0/1 0% | - | - | 0/1 0% |
9PoolSpire | 0/2 0% | 0/2 0% | - | - |
Over10HatchBust | 8/19 42% | 7/7 100% | - | 1/12 8% |
Over10PoolLing | 0/1 0% | - | - | 0/1 0% |
OverpoolSpeed | 3/15 20% | 1/5 20% | 0/3 0% | 2/7 29% |
OverpoolSunk | 8/21 38% | 0/1 0% | 2/8 25% | 6/12 50% |
OverpoolTurtle | 11/23 48% | 2/6 33% | 1/1 100% | 8/16 50% |
ZvP_3HatchMuta | 0/1 0% | - | - | 0/1 0% |
ZvZ_12HatchExpo | 0/1 0% | - | 0/1 0% | - |
ZvZ_Overgas9Pool | 0/2 0% | - | 0/1 0% | 0/1 0% |
ZvZ_OverpoolTurtle | 26/45 58% | 6/10 60% | 6/7 86% | 14/28 50% |
For Steamhammer, either 8DroneGas (a zergling build despite the name) or else ZvZ_OverpoolTurtle (a mutalisk build) may dominate among the openings tried, while McRave’s best was the 1 hatch muta play because no Steamhammer try was better than even against it. It’s possible that switching between different kinds of builds was important, though, because the table suggests that the other counters are likely imbalanced (without a game-theoretic saddle point).
Both sides had trouble identifying the best strategies. If both had played their best strategies then the match would have come out close to 50%, while in fact Steamhammer came out behind, so Steamhammer had more trouble selecting from its excessive range of possibilities. I get the impression of a back-and-forth learning struggle.
steamhammer as seen by mcrave
steamhammer played | # | mcrave recognized |
---|---|---|
12PoolLurker | 1 | 1 HatchPool,12Pool,1HatchMuta |
3HatchLingBurrow | 5 | 3 HatchPool,Unknown,2HatchLing | 1 HatchPool,Unknown,Unknown | 1 Unknown,Unknown,3HatchMuta |
8DroneGas | 11 | 6 HatchPool,9Pool,2HatchLing | 2 PoolHatch,9Pool,2HatchLing | 1 PoolHatch,Unknown,2HatchLing | 1 HatchPool,Unknown,2HatchLing | 1 PoolHatch,Unknown,Unknown |
9HatchMain9Pool9Gas | 2 | 1 PoolHatch,12Pool,2HatchLing | 1 HatchPool,Unknown,2HatchLing |
9PoolHatchSpeedAllInB | 1 | 1 PoolHatch,9Pool,LingRush |
9PoolSpire | 2 | 2 Unknown,Unknown,Unknown |
Over10HatchBust | 19 | 7 HatchPool,12Pool,Unknown | 4 HatchPool,12Pool,2HatchLing | 3 Unknown,12Pool,Unknown | 2 HatchPool,Unknown,2HatchLing | 2 HatchPool,Unknown,Unknown | 1 PoolHatch,12Pool,Unknown |
Over10PoolLing | 1 | 1 HatchPool,12Pool,Unknown |
OverpoolSpeed | 15 | 5 HatchPool,9Pool,LingRush | 4 PoolHatch,12Pool,Unknown | 3 Unknown,12Pool,Unknown | 1 Unknown,9Pool,LingRush | 1 PoolHatch,9Pool,LingRush | 1 HatchPool,12Pool,3HatchMuta |
OverpoolSunk | 21 | 8 HatchPool,9Pool,Unknown | 5 PoolHatch,9Pool,LingRush | 2 HatchPool,9Pool,3HatchMuta | 1 PoolHatch,9Pool,Unknown | 1 Unknown,Unknown,Unknown | 1 Unknown,12Pool,3HatchMuta | 1 HatchPool,Unknown,Unknown | 1 HatchPool,12Pool,3HatchMuta | 1 PoolHatch,Unknown,Unknown |
OverpoolTurtle | 23 | 7 HatchPool,9Pool,LingRush | 5 Unknown,12Pool,1HatchHydra | 3 Unknown,Unknown,1HatchHydra | 2 HatchPool,Unknown,1HatchHydra | 2 Unknown,9Pool,1HatchHydra | 2 HatchPool,12Pool,1HatchLurker | 1 PoolHatch,12Pool,1HatchLurker | 1 HatchPool,12Pool,1HatchHydra |
ZvP_3HatchMuta | 1 | 1 HatchPool,Unknown,2HatchLing |
ZvZ_12HatchExpo | 1 | 1 HatchPool,Unknown,2HatchMuta |
ZvZ_Overgas9Pool | 2 | 1 PoolLair,Unknown,1HatchMuta | 1 PoolLair,Unknown,Unknown |
ZvZ_OverpoolTurtle | 45 | 15 Unknown,Unknown,Unknown | 10 PoolLair,9Pool,1HatchMuta | 6 PoolLair,12Pool,1HatchMuta | 6 PoolLair,Unknown,1HatchMuta | 2 PoolLair,Unknown,Unknown | 2 Unknown,12Pool,Unknown | 2 Unknown,Unknown,3HatchMuta | 1 PoolLair,9Pool,Unknown | 1 Unknown,12Pool,3HatchMuta |
Some curious stuff here. None of Steamhammer’s openings here is 3 hatch mutalisk, so those that are recognized that way may have added a third hatchery later in the game. Steamhammer does have an unfortunate love of laying down an unnecessary hatchery before its spire in ZvZ (3 hatcheries with zerglings is good, 2 hatcheries with mutalisks is good, 3 hatcheries with mutalisks is hard to justify in ZvZ). Looking at the Steamhammer openings tried more often, OverpoolSunk should be recognized as PoolHatch usually (maybe sometimes PoolLair). McRave got it wrong over half the time, without any big effect on its win rate. OverpoolTurtle should be PoolHatch with a hydra followup (this opening is not intended for ZvZ). For ZvZ_OverpoolTurtle, the closest match is PoolLair,9Pool,1HatchMuta. McRave got it right 10 times out of 45 and was close some other times. Failing to recognize anything (likely the scout was denied) was bad.
mcrave as seen by steamhammer
mcrave played | # | steamhammer recognized |
---|---|---|
PoolHatch,12Pool,2HatchMuta | 33 | 22 Naked expand | 6 Unknown | 5 Heavy rush |
PoolHatch,12Pool,2HatchSpeedling | 22 | 9 Naked expand | 9 Unknown | 3 Heavy rush | 1 Worker rush |
PoolLair,9Pool,1HatchMuta | 95 | 89 Unknown | 4 Turtle | 2 Naked expand |
Worker rush? That is likely a bug. The other choices capture information about the game that is probably true and not particularly useful.
Comments