archive by month
Skip to content

the end of the rushbots: rushes and how to defeat them

Today I have a guest post by none other than Martin Rooijackers, on fast rush strategies and how to beat them. The rest of this post is written by Martin Rooijackers, author of terran bot LetaBot.

This Saturday (28 January) will be the last time that my bot will go for a rush strategy. The reason for this is simple, rush strategies will stop working against almost all the top bots. Already most top bots can hold just about anything you can throw at them off 1 base. There are a few holes in their play that I managed to exploit this SSCAI, but after those are patched, any bot will be forced to expand in order to win a game versus a top bot. In the case of my own bot: even with the suboptimal building placement, it can already hold zergling rushes more than 50% of the time. With that improved, Zerg bots will (almost) always lose if they open spawning pool first.

The only use that rush strategies would have after that would be to defeat a bot that rushes to a resource depot (14 CC, 14 Nexus and 3 hatch before pool come to mind). But you can play slightly from behind and still win with better tactics. So I prefer to go that route.

Anyway, here are the rush builds that are still effective, along with some information as to how to stop them

Worker rush

Bots that used it: Stone (predecessor to Iron bot), LetaBot. Any bot that lets its scouting unit attack the enemy workers.

The earliest rush you can do. You take your worker units and let them attack the enemy base. In the early stages of Brood War AI competitions, it sometimes happened that the scouting worker would attack the workers at the mineral line. Since some bots didn’t have any worker defence code, the scouting worker unit would simply destroy the entire work force of the opponent.

After a while, most bots would pull a worker off the mineral line and send it to attack the scouting worker. The problem with that solution was that the opponent could send more than just the scouting worker to attack the opponent.

An example of this happening in a human vs human game is Idra vs AllAboutYou (in SC2).

The first bot to specialize in the worker rush was Stone by Igor Dimitrijevic. Besides the usual attack move and retreat to repair that LetaBot was capable of before in its worker rush, Stone also prioritized SCVs that were building buildings. It got 3rd place in the SSCAI 2015. However it did get defeated by LetaBot (who had a worker rush strategy in it since its very first tournament in CIG 2014).

In 2016, LetaBot used the same strategy to defeat several bots (BeeBot, XelnagaII, Iron Bot, Krasi0). Krasi0 has already improved its worker defence in its latest version.

There are many ways to stop it. The main key is to keep on building worker units no matter what. After all, with this your production of worker units will be at the same rate as your opponent, ensuring that you will always have numerical superiority with which you should be able to hold easily. Don’t rush for a tier 1 combat unit, that only plays into the hand of the one that worker rushes you.

Terran: Watch the LetaBot vs Stone video above. You simply pull back workers that are on low hp. Just follow the regular build order (9 supply, 11 barracks) and pump marines. You will hold it easily

Protoss: Just like terran, pull back worker units that are damaged. Build a pylon when you have 100 minerals, and a gateway when you have 150. You should have a zealot out before the opponent has a critical mass of worker units.

Zerg: Go for a spawning pool when you have 200 minerals, and build a zergling when you have 50 minerals. If you went for a 4 pool, cancel the pool and build 3 worker units immediately.

Bunker Rush:

Bots that used this strategy: LetaBot

The favorite strategy of Boxer.

LetaBot is known for doing this rush back in 2014. But in the case of LetaBot, it was the proxy 5 rax variant instead of the usual marine rush:

Proxy 5 Rax from Liquipedia

Krasi0 vs LetaBot (2014).

To stop it, you shouldn’t go for a fast expansion, since the bunker rush hard counters such a build order. Pull workers to destroy the enemy bunker. More specifically

Terran: Pull SCVs to destroy the enemy bunker and get a bunker of your own on your ramp.

Protoss: Photon cannons out-range bunkers, so get them up asap in case the opponent managed to finish its bunkers. See Bunker Rush (vs. Protoss) from Liquipedia.

Zerg: Zerg Counter to Bunker Rush from Liquipedia.

Barrack Barracks Supply (BBS)

Also known as a marine rush.

Bots that used this strategy: LetaBot, Tyr

Example, LetaBot vs IceBot in SSCAI 2014.

Liquipedia has more information on this one. See Barracks Barracks Supply.

How to counter it:

Terran: Pull SCVs to force the marines back and build a bunker on the ramp. Terran Counter to Barracks Barracks Supply on Liquipedia.

Protoss: Protoss Counter to Barracks Barracks Supply on Liquipedia.

Zerg: Zerg Counter to BBS on Liquipedia.

4 pool

Bots that use it: ZZZKbot, way too many other ones to list here.

A popular strategy where you try to get zerglings as fast as possible. Could be considered the “Hello World” of Brood War Bot programming.

Example, Iron bot vs ZZZKbot in the SSCAI 2016.


Terran: Terran Counter to 4 Pool from Liquipedia.

Protoss: either 2 gate zealot, or Forge Fast Expand with 2 cannons and probes to block the opening.

Zerg: open with 9 pool and build a sunken colony if needed.

Cannon rush

Bots that use this: Aiur, Jakub Trancik

Example game AIUR vs Bakuryu (human player).

How to stop:

Terran: Make sure to chase the scouting probe to catch any pylon building in the main base. If outside the main base, build a wall and repair it till tanks with siege mode are out.

Protoss: go for a zealot rush.

Zerg: Go for a spawning pool. Then sunken colony or mass zerglings.

Zealot rush

Bots that use it: WuliBot, Dave Churchill, several other protoss bots

Example game: LetaBot vs WuliBot (Ro8 game 2 SSCAI 2016).


Terran: Terran Counter to Early Protoss Pressure on Liquipedia.

Protoss: 3 Gate Speedzeal (vs. Protoss) on Liquipedia.

Zerg: An overpool is a safe zerg build vs protoss. See Overpool (vs. Protoss) on Liquipedia.

safe build orders

So, with proper scouting, a bot should be able to stop any rush build if it starts out with a safe build order. There are many choices, but my suggestions for each matchup:

TvT: 2 factory build
TvP: Siege expand with a wall
TvZ: 1 rax FE. Build barracks at 10 supply.

PvP: 2 gate. start out with a zealot before dragoon
PvT: 1 gate Core
PvZ: Forge Fast Expand with 2 cannons, or 2 gate zealot

ZvT: It is usually best to go 12 hatch, but if you expect a rush go for 9 pool and put on pressure to come back from behind if terran plays standard.
ZvP: Overpool.
ZvZ: 9 pool into 1 hatch spire.


No Trackbacks


Jay Scott on :

I’d like to add a little detail about safe openings. Let’s pretend that we can divide openings into rushes, safe openings, and greedy openings. With good play, a rush opening loses to a safe opening but wins against a greedy opening. But if your opponents always play safe openings, then you can play a greedy opening and get an advantage: A rush beats a greedy opening, but a greedy opening leads to an advantage over a safe opening. At the current level of bot play, I think it is good to always play a safe opening. But according to game theory, in our simplified model optimal play should include some greedy openings to exploit other players’ caution, and some rushes so that nobody dares play greedy openings too often. For example, if we assume that a rush always loses to a safe opening and always beats a greedy opening, while a greedy opening has a 60% chance to win over a safe opening, then optimal play is to rush about 9% of the time and split the other 91% of games evenly between safe and greedy openings. The real game of Starcraft is much more complicated, of course, but that is within shouting distance of the percentages in pro games: A few rushes and a split between safe and greedy openings.

LetaBot on :

Also known as a mixed strategy in Game Theory:

Although in Brood War you can still win with a safe built even if your opponent started more greedy. For example, Terran can go for a greedy double expand himself after seeing a greedy 14 Nexus:

In general though, greedy builds soft counter safe builds. So you will have to play with a slight disadvantage (but definitely not game losing)

Jay Scott on :

Yes, the simplified model does not account for scouting information at all. And yet I find its results useful.

LetaBot on :

Also useful to add. With rush bot I of course mean a bot that only plays rush strategies. Like the SCV rush bot Stone that got to the third place of the SSCAI 2015.

My bot also played like one against certain opponents in the SSCAI 2016. But against all other bots it goes for its macro build order.

A bot that can switch between safe,rush and greedy based on previous results (like AIUR does with its "mood" system) isn't a rush bot.

LetaBot on :

Another thing useful to add.

The latest version of krasi0 isn't uploaded to the SSCAI yet, since uploading is disabled while the tournament is running. So this saturday 28 January 20:00 CET (on ) krasi0 bot will have to make do with the worker defence that was in his bot when he uploaded his tournament version to the SSCAI.

Jay Scott on :

Oh well. :-( I guess we’ll have to wait to see Krasi0’s new defensive skills (when it is already excellent at defense).

LetaBot on :

Yea, there will be a showmatch after the finals precisely because of this.

Jay Scott on :

Oh, I misunderstood your comment and thought you were talking about the showmatch, not the finals. Thanks for the correction! Looking forward!

AIL on :

Super-interesting topic here. :)

Would like to give some input from the Zerg point of view.

You say: "Zerg bots will almost always lose if they go Spawning pool first" but later you show that any of the Save builds require to go spawning-pool first.
If both it's true, it means Z is in a tough spot. ^^;

As I may have mentioned before, my bot rolls a random number and then goes for anything between 4pool and, well, theoretically 24pool. However, I changed it so that the pool will always be built when the 2nd hatch is on their way because delaying it further would just lose too often. And against Z the roll is from 4-16 pool instead as there's no way to survive against any early pressure with a later transition into units.

My experience is: Against Z any of the Only works to a certain extend, eventually the zealots overwhelm them
Expand => No way to bring it through, the double expand as mentioned on Liquipedia seems especially impossible to survive
Sunkens => Weakens eco quite a lot
Teching => weakens eco and army-count at the same time

The only thing that kept me alive was building massive amounts of zerglings and camping in my own base near a sunken.
But eventually UAB expands, adds Dragoons and kills me anyways.

Is there any Z-Bot that consistently beats UAB-Protoss? I really need some inspiration for that. I mean I don't mind losing to sophisticated Bots like Ironbot but losing to a bot that does one thing over and over while not even knowing how I can counter it as a human frustrates me.

Jay Scott on :

The zealot rush is tough. Wuli plays it even more strongly. It’s not as simple as “play the right build and win,” you have to execute well. Killerbot can hold UAlbertaBot's 9-9 gate until spire with double sunkens and good build timing, though even Killerbot has trouble against Skynet's 10-12 gate. I haven’t started the job with Steamhammer yet! It sounds like you have zerglings and sunkens coordinated to fight together, which is a good step 1. I suggest micro skills: 2. When possible, pull back a zergling which will die in 1 more hit. The zealot will either follow and take free hits from other lings, or else switch targets—then the hurt ling can jump back into the fight. Humans do this; bots should be able to do it better. 3. Bots like to just pile zerglings on so that the rear ones don’t immediately join the fight. Try to move lings into or around the zealot formation so that as many as possible can get hits right away. It helps even if they start attacking a little later. I’ve never seen a bot do this right, but it’s fundamental.

LetaBot on :

That spawning pool first lose was versus my bot which goes for a standard safe build order (1 rax FE). 9/12 pool is not really an auto loss per-se in ZvT , but you need pro-level tactics to come back from behind, which is something that bots don't have yet.

In general though, ZvT is very tricky for zerg, because Terran can go for a semi-allin sunken bust (sparks, 4 rax timing push etc) and even if the attack fails, Terran is still not much behind because Terran forced Zerg to spend minerals on sunkens.

Jay Scott on :

In pro play, the main goal of sending early zealots is to force zerg to make lings, slowing the zerg economy. A pro will not commit 100% to a zealot rush unless the opponent is already off balance, because at that level it Just Loses. Watch how thoroughly Jaedong shuts down Stork’s zealot pressure in their recent ASL game. Bots have a long, long road to reach that skill level!

AIL on :

Oh, and:

Does that post mean:

"We know the finals will be LetaBot winning via SCV-Rushing and because that is so lame, we do a showmatch with newer version of both bots right after where there is no SCV-Rush"?

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.

Form options

Submitted comments will be subject to moderation before being displayed.