archive by month
Skip to content

a few fun games

I wrote up a few fun games between Steamhammer and its rivals. The first of the two games against McRave is especially exciting.

versus Arrakhammer

Arrakhammer is successful, but its ZvZ matchup is not as strong as the others. It has been losing a lot of games to Steamhammer and winning rarely. In Arrakhammer vs Steamhammer, Arrakhammer went with a fast mutalisk opening and Steamhammer chose a zergling opening. Arrakhammer made 3 sunkens to hold the zerglings... and they weren’t enough.

Steamhammer hit a bug this game (fixed in the next version). It intended to take its gas early, but incorrectly thought it couldn’t. If it had played as intended, it would have had fewer zerglings but they would have had speed, and I don’t know how the game would have gone.

versus McRave

McRave has been playing a lot of games against Steamhammer, with increasing success. McRave has been opening with forge-expand—it may sound simple but it is a sophisticated build that is difficult for a bot to master. Steamhammer plays its usual random selection. Many of the games are stomps for one side or the other. Here are the 2 I found the most entertaining.

In a game on Moon Glaive, Steamhammer went 12 hatch into 3 hatch ling, which sometimes breaks the cannons and wins outright. Not this time, though. Both sides struggled with weaknesses. Steamhammer went hydras and then switched to mutas, then switched back to hydras, repeatedly suiciding units all the while. McRave blocked its dragoons in its base with buildings and only got zealots out on the map.

McRave maxed its supply earlier, capping its workers at 60 probes and saving the rest for army. Since only zealots and probes got out of the base, Steamhammer was able to take the map and grow a larger economy, going to 75 drones. Finally Steamhammer got ultralisks and, nearly maxed itself, busted the cannons, letting McRave’s army free. What would win, the bigger army or the bigger economy?

Protoss held the ramp. The ultras could not break in. The battle went on and on and on as both sides burned resources, and the blue ramp on Moon Glaive will probably be red forever. Both bots controlled their units poorly in the usual bot way—more moving than shooting, all butting heads and no finesse. Eventually reavers and storm forced the zerg back and protoss gained map control for the first time.

With its ample economy, Steamhammer was soon maxed again, while protoss had lost many probes in the fight. Protoss had held its ramp, but could not maintain map control for long. A detachment with ultralisks defeated the reavers in the center while most of the zerg army reduced the protoss main, and only mop-up was left.

A game on Andromeda went differently. Steamhammer chose a less economic opening and reacted sluggishly to the cannons. It ended up going mass lings with mutalisks. This time McRave was ahead in both army and economy.

Protoss moved the army to protect a center expansion. Mutalisks had been picking off probes from the undefended mineral only base, and eventually they moved forward far enough to notice that the defending units had departed. Muta-ling broke the cannons and rampaged through the 3 protoss bases around the main. Probes died, and suddenly zerg had a chance. Would the protoss army get back in time to defend?

McRave reacted not by defending, but by countering Steamhammer’s distant corner expansions. Zerg ought to have finished off the protoss tech and production before anything else, but that is not how Steamhammer is coded. Zerg ran to defend, creating a complex situation—and Steamhammer is vulnerable to tactical collapse in complex situations. The zerg units in the picture are not attacking the mined-out center expansion, they are moving past the enemy while taking fire. On the minimap, notice the diagonal line in two colors. It was a debacle.

Arrakhammer’s infested terrans

Arrakhammer’s description changed recently to say that it supports infested terrans. As far as I know, it is the first bot to make them. Now it has played a game with infested terrans versus Randomhammer.

The game is on Destination, a 2-player map. Arrakhammer opened with hatchery on 9, and instead of playing the opening the natural way with mass zerglings, only made a handful, aiming to tech up fast. Randomhammer opened with 2 barracks and before long had enough forces to push to the zerg natural. Zerg was forced to make sunkens, but terran did not dare to break in, and lost medics due to a bug in retreating them.

Zerg went for lurkers against the infantry, but the expensive sunkens set Arrakhammer’s tech plans far back and the lurkers were slow. Terran accumulated marines to hold a strong contain while expanding. Randomhammer had an objectively winning game; with good play, zerg should never catch up (see the worker and army counts in the picture). But Randomhammer is not a good player.

terran contains zerg

Straight infantry with only scanners for detection is not a winning combination against lurkers, especially not if you try to attack across a narrow bridge and repeatedly lose medics to the retreat bug. As long as scanner energy held out, Randomhammer held its own. But the scanners ran down and Arrakhammer hesitantly pushed out into the open map.

In this picture the lurkers have defeated most of the infantry after scanner energy ran out during a big fight. The queen has just now infested a command center, and from the flashing ramp and the production tab you can see that an infested terran has already started. Before the base was taken, terran had 5 bases to 4. Zerg had more or less caught up, and both sides had chances.

infesting the command center

The first infested terran was shot down barely before it reached its intended victim. Steamhammer knows that an infested terran is a high-priority target, even though this is the first time it has seen one. In the overall situation, marines continued to fight lurkers without enough scan energy, and zerg was pulling ahead.

zerg loses an infested terran

In the next picture, terran has lost another base, but the marines gave a good account of themselves, clearing the attack and killing the infested command center before it could produce. Losing the base was down to poor tactical skill. The marine army was larger and had 1-1 upgrades versus 0-0 for zerg, and repeatedly fought well until collapsing when scanner energy ran out. The queen, by the way, broodlinged an SCV before the zerg attack.

infesting another command center

Infested terrans are difficult units to use well. They’re similar to scourge: Suicide units that do a ton of damage, but are fragile and costly in gas. If you walk them into an enemy army, the army should normally kill them without much risk, as above—it only took 4 marines. If they walk in the open, they should attack SCVs or defenseless buildings. A few infesteds can clear out a dense mineral line, or demolish a substantial block of supply depots; they’re efficient for that. You can drop them on tanks, or on dense concentrations of units that can’t shoot up. Otherwise you need dark swarm to attack an army with infested terrans. You go to a lot of trouble to get them, and they’re a specialty unit which is complex to use.

Of course bots don’t know how to react, so walking into an army may work in practice. Steamhammer, for example, doesn’t react at all when retreating, so if you attack while the army is running away, you can do massive damage. 2 infested terrans did this, with excellent cost-efficiency, by catching the army in retreat:

massacre by infested terrans

Notice that even after the carnage, terran is ahead in army, though it has fallen behind in economy. Zerg is winning but has some fighting ahead.

The upcoming version of Randomhammer, by the way, has TvZ improvements so that Steamhammer can be a tough test opponent for itself. The upcoming version would have put up a fiercer fight, without the medic retreat bug and with a vessel and tanks against the lurkers.


I rather like Arrakhammer. It quickly differentiated itself from its parent Steamhammer and now plays quite differently. And its strategies are logical.

Look how Arrakhammer defeats Wuli: It holds off the raging zealots with mass sunkens and no units, objectively poor but perfect against Wuli. Then it techs up to hydra-lurker. Wuli is unable to cope with the lurkers and falls over.

mass sunkens, no units

XIMP by Tomas Vajda follows the same abstract plan of holding off the enemy with mass static defense and following up with tech units that the opponent cannot cope with. Some similar plan probably works against most non-adaptive bots (it might fail against bots which always make tanks or other siege units). The plan seems so general and effective that I’ve been thinking of coding it into Steamhammer as a use of opponent modeling. When Steamhammer realizes from experience that the enemy bot has a fixed unit mix, it may build mass static defense while it techs up to a countering unit mix.

overhatch versus overhatch

Arrakhammer is based on the previous, 1.2.2, version of Steamhammer, which did not have the overhatch opening yet. But the author has not been shy about looking into the newer 1.2.3 version. Here in Arrakhammer versus Steamhammer on Icarus, Arrakhammer borrows the overhatch opening and tries to tweak it for an advantage over Steamhammer’s variant of the opening.

The openings are identical up to supply 15. Steamhammer spent its first 100 gas on zergling speed, since it was playing a zergling opening. Arrakhammer instead started a lair and added a sunken to hold the zergling pressure. It’s not the natural way to play the opening, but it is a logical attempt to cross up an opponent that is committed to zerglings.

The plan commits Arrakhammer to defense until mutalisks come out, so it brought its zerglings home even before the sunken was started. Steamhammer had made 2 zerglings more (which didn’t matter because they were far away) and Arrakhammer lost 3 as they retreated up the ramp (which did matter). Unfortunately, Arrakhammer defended inaccurately and lost 2 drones, a severe loss. You can see the orange zerglings out of position in the picture. Good defense could have saved all drones.

a defensive mistake

Play was left, but in the next zergling attack Arrakhammer pulled drones too far from the mineral line (a classic Steamhammer blunder) and lost 5 more. After that it was irrecoverable. A picture of the drone blood:

5 drones lost

The opening try was logical and it could have won if Steamhammer had made the mistakes, or had chosen an inappropriate build. Its weakness was that it depended on correct defense. Bots are strong in attack and weak in defense; that is why Steamhammer is aggressive whenever possible. As defense grows stronger, a wider range of strategies will become practical.

Steamhammer repeatedly threw away zerglings trying to approach the sunken and made other mistakes, but its advantage was unbreakable and it finally won by getting mutalisks first.

the end