This blog was first posted to Jay Scotts blog on StarCraft AI: http://satirist.org/ai/starcraft/blog/archives/203-the-end-of-the-rushbots-rushes-and-how-to-defeat-them.html
Rush bots in StarCraft AI tournaments are known as bots that only know how to perform a rush strategy. My StarCraft bot started out as one, but over time it got more and more focus on macro build orders. In the latest AI tournament (SSCAI 2016) my bot went for a rush strategy against certain opponents, but that is going to change.
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:
The first bot to specialize in the worker rush was Stone by Igor Dimitrijevic. Besides the usually 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):
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 (but since uploading is disabled while the SSCAI tournament is running, his tournament version is still vulnerable to it).
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:
http://wiki.teamliquid.net/starcraft/Proxy_5_Rax
to stop it, you shouldn't go for a fast expansions, 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. http://wiki.teamliquid.net/starcraft/Bunker_Rush_(vs._Protoss)#Countered_By
Zerg: Zerg Counter to Bunker Rush
Barrack Barracks Supply (BBS)
Also known as a marine rush.
Bots that used this strategy: LetaBot, Tyr
Example, LetaBot vs IceBot in SSCAI 2014:
Liquidpedia has more information on this one:
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
Protoss: Protoss Counter to Barracks Barracks Supply
Zerg: Zerg Counter to BBS
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:
counters:
Terran: Terran Counter to 4 Pool
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 build 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 )
https://youtu.be/uJfc1a_PGss?t=2m46s
counters:
Terran: Terran Counter to Early Protoss Pressure
Protoss: 3 Gate Speedzeal (vs. Protoss)
Zerg: An overpool is a safe zerg build vs protoss ( Overpool (vs. Protoss) )
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