the bot 5 Pool revisited
The bot 5 Pool is being updated often, and changing its play very noticeably. I took another look.
The author’s plan, as I see it, is to beat lower-ranked opponents with an opening that is difficult for them to cope with, and higher-ranked opponents with hand-chosen counterbuilds. And, of course, to show off by striking a pose with a disco ball, or that is, by doing it all with variants of 5 pool. It’s kind of a cheesy way to use a cheesy opening, but if it promotes progress then I don’t mind.
The method is to make minimal changes to a Steamhammer fork and code up several variants of 5 pool. Earlier versions of 5 Pool stuck with zerglings, but found themselves too easily hard-countered. Newer versions code in mutalisk openings for some opponents. The play is closely similar to Steamhammer’s, strengths and weaknesses alike, but I am able to spot a few improvements in 5 Pool over its parent.
This version of 5 Pool uses Steamhammer’s random opening choice in ZvT and ZvP, playing 3 different 5 pool variants against each. It plays only one variant versus zerg or random (the first one listed below). So terran and protoss can’t simply survive the opening and call it a win, they have to be able to cope with the variants:
- 30% - straight zerglings with 4 drones
- 30% - zerglings with 6 drones (a slightly weaker first hit but a much stronger followup)
- 40% - zerglings with 6 drones and an early second hatchery (the most natural approach)
Bereaver, Iron, Krasi0, Steamhammer, and Stone get hand-chosen counterbuilds. Bereaver and Stone will suffer, since they have weaknesses and aren’t being updated. Iron faces exploitation of its predictability: Terran overcommits to defense against the fast zerglings and has lost games where zerg instead macros up and goes mutalisks. But Iron improves at an incredible rate and, I expect, will soon tighten up its defense decisions. 5 Pool is set to play the same build against Krasi0 as against Iron, and Krasi0 did lose a game to it, but Krasi0 has opening learning so it has a chance to adapt. This version of Steamhammer plays a fixed build against 5 Pool and, like Iron, can be exploited because of the predictability of the strategy boss. Steamhammer hasn’t lost a game to 5 Pool yet (as I write), but I think 5 Pool is getting close to a successful exploit and this version or the next is likely to score wins. Therefore the next Steamhammer version will play random openings against 5 Pool and become difficult to exploit.
5 Pool has set itself a hard task. Its opening is easy for strong bots to counter, so to win it must play better in the followup. Even so, it is scoring some wins against the top bots, forcing them to improve. And that is good.
Update: As I forecast, today’s version of 5 Pool can finally beat Steamhammer. 5 Pool exploits a weakness in the strategy boss, which does not adapt to the enemy’s static defense. It ought to make fewer of the units that the static defense counters and spend more on drones and tech to stay ahead. There is no sustainable plan behind 5 Pool; the author put out new versions for days before success, around 3 times as long as it will take me to improve it. I don’t even need to improve it, because I can prevent any fixed counterbuild from succeeding with random opening choices, since opening with 5 pool puts 5 Pool far behind. Anyway, 5 Pool can take its wins and brag for a while. Stand by for the next Steamhammer version around the end of April. Protoss now supports reavers and carriers, and today I need to test the carrier play some more.
Comments
PurpleWaveJadien on :
Jay Scott on :
Newbie Zerg on :
http://imgur.com/a/LskKL
After your 0-4 defeat vs krasi0 in:
http://wiki.teamliquid.net/starcraft/SSCAIT_Ladder_Tournament_1
Perhaps early aggressiveness is a good thing?
Jay Scott on :
Newbie Zerg on :
Perhaps just too busy :)
MicroDK on :
How will this work? Both AILien and bftjoe have improvements. Can people suggest improvements to the repo?
Jay Scott on :
gnuborg on :
It also contains a fix for that regex bug I mentioned before.
Thanks, for that jaj22!