archive by month
Skip to content

the trend to switching races

There’s a trend for established bots to come out with a version playing a different race, or playing random. Why is that?

racebotauthornew racenew name
terranNavinadSungguk ChazergZia
terranUPStartCraftAI(team)zergUPStarCraftAI 2016
zergSteamhammerJay ScottrandomRandomhammer
protossMcRaveChristian McCraveterranSparks
zergbftjoeJoseph Huangterranbftjoet
terranTyrSimon PrinsprotossTyrProtoss
WOPRterranSoeren KlettzergWOPR Z
protossPurpleWaveDan GantrandomPurpleCheese
protossPurpleWaveDan GantterranPurpleSpirit

Tscmoo was the first established bot to come out with a new race as a regular thing, as far as I can tell from records. Am I missing one? The next was Zia by Sungguk Cha. Both of these were before any visible trend started. I can imagine that Randomhammer may have started the trend; it was close enough in time.

The work I spend to make sure that Steamhammer can play every race—to make Randomhammer—definitely slows down the progress of Steamhammer’s zerg. Without the side work, Steamhammer by now would have fewer bugs and at least one major feature more from my to-do list, such as opening learning or decent mutalisk usage (possibly both). I wrote about the cost of playing random in going random. If you’re aiming for the strongest play, don’t switch races unless you think you can make the new race stronger. And even then, don’t underestimate the time and difficulty of bringing a new race up to speed. Few of the off-race bots have caught up with their parents.

So why the trend? Of course different authors may have different motivations, but there’s a coherent trend so likely there is one main underlying reason. I thought of a few, but I don’t know the answer. 1. People (suddenly) want more variety and less slogging down the same old path? (Probably not.) 2. Other bots are switching races, and it seems cool? (Call it “popularity inspiration.”) 3. The stronger community discussion this year means that more ideas circulate, and people want to try them? (“Idea inspiration.”) 4. Or the stronger community inspires people to contribute more to the community. ("Contribution inspiration.") 5. Authors believe they can do better by switching. (Maybe in some cases.) 6. There is more stuff going on in total this year, so more race switch bots come up too as part of that.

For TyrProtoss, Simon Prins can tell us his thoughts if he likes, but I have a guess: I suspect that the old codebase was getting clunky, and he wanted a fresh start. That explanation doesn’t fit most of the switchers, though. For Randomhammer, my goal as I see it now is more to lift community standards and reach the highest ultimate level of play than to reach strong play in the shortest time. I often leave important weaknesses unaddressed for a long time, because I want to fix them later as part of a major new feature; fixing them right away I see as a slowdown. A full-featured starter bot that can play all races reasonably well helps lift the community. A bot that is designed for customizability and releases its source will have a hard time staying on top for long!

Other ideas? What do you think? Maybe some of the authors will tell us.

PurpleCheese has become cheesier

The cheese news is not letting up. Today the protoss worker rush bot PurpleTickles was disabled. In its place, the former protoss 8-8 proxy gate rushbot PurpleCheese now plays random, and its strategies include the worker rush.

The change was just made and so far the new version of PurpleCheese has played 4 games. It ended up zerg 3 times and protoss 1 time, so we haven't seen its terran yet. As protoss it played the worker rush (versus LetaBot under the Martin Rooijackers name, which of course defended excellently). As zerg it played the worker rush once (versus Randomhammer) and 5 pool twice (both versus Oyvind Johannessen). So it knows at least 2 strategies.

Maybe for each race it can play the worker rush and one other rush strategy for that race? That is my guess. We'll see as more games come in—or if the author tells us!

Update: Now terran PurpleSpirit has joined the Purple family. Against McRave and PurpleWave, PurpleSpirit won with center BBS, so it also has cheese powers. Against Iron, PurpleSpirit played a fast expand strategy with tank-wraith-vulture followup, which put serious pressure on Iron before collapsing due to inadequate air defense.

Stone now attacks buildings

Igor Dimitrijevic has uploaded a new version of Stone, a version which attacks buildings instead of workers. I guess it’s because worker defense has been steadily improving, but many bots still don’t react when a building comes under attack.

Steamhammer doesn’t react to attacks on buildings. Even so, its usual anti-rush opening defended successfully in this game. Buildings have a lot of hit points, so the spawning pool finished before it was destroyed. In the picture, the spawning pool is about to die before any zerglings are spawned, but the sunken colony is already morphing.

Steamhammer loses the pool

The sunken protected the hatchery completely, so there was little risk. Steamhammer replaced the spawning pool in the same position, which was not safe because the sunken protection extended to only one side of the pool. Stone did not seem to understand the range of the sunken, and half the SCVs sent to attack the pool were killed while standing just inside the danger zone. Steamhammer actually won the game more easily than against the older Stone version, because Stone threw away so many SCVs. Stone did point out weaknesses. Steamhammer should defend buildings which are in danger of being lost, and it needs better building placement.

This game versus Skynet by Andrew Smith was fun. Skynet, ahead of its time as usual, does react when buildings are attacked, and pulled many probes to defend. Skynet was unworried by the skirmishes and calmly continued with its build: Late gateway, gas, cyber core... all before the first combat unit.

Skynet doesn’t care

My impression is that the change to Stone has left it weaker overall. Buildings are too hard to kill. Still, it does easily wipe out some opponents, and every change is a new challenge.