archive by month
Skip to content

Steamhammer 1.4 status

I’m working on version 1.4 now, and the major feature in version 1.4 will be opponent modeling. But after the AIIDE rush I felt tired of opponent modeling, and discouraged by the bugs, so I’m improving scouting first. Good scouting is important for opponent modeling to work well, so I’m happy to do scouting in the same version. No more rush; I will take my time and do it right.

I added a Recon squad that scouts around with ground units in the middle game, as soon as there are enough ground units to spare a few for scouting. It doesn’t search efficiently, but it does catch enemy expansions sooner or later, and sends eyes around the map to places Steamhammer used to ignore. I also made a small tactical change so that the attack squads are less maniacally focused on the enemy main base and more willing to attack other bases. Besides improving opponent modeling, I think it should help directly against most opponents that try to mass expand or to hide expansions.

I also refactored code so that I can work on overlord scouting. The first overlord will coordinate its movement with the scouting drone. Currently, if Steamhammer sends out both its first overlord and a scouting drone, they both head for the same base. It’s disgusting, but it has been that way since December when I first hacked in crude overlord scouting. Overlord scouting in 1.4 won’t be a polished gem, but it shouldn’t be a dirt clod any more.

I’m also making the usual random improvements here and there to things I come across. I finally realized why Steamhammer keeps making guardians against XIMP by Tomas Vajda: It doesn’t recognize that corsairs and carriers counter guardians. Oops. I left out that bit of knowledge and only now caught the mistake.

biggest weaknesses

The worst news is Steamhammer is doing poorly against the top protoss bots lately, for two reasons. First, some are using multiple strategies, and the current Steamhammer’s random openings cannot counter all of them. Opponent modeling should help. Second, protoss is often playing forge expand or other big macro openings, which Steamhammer only partially understands. Opponent modeling will again help, because then Steamhammer should usually be able to find good strategies in response, instead of only occasionally. But opponent modeling won’t be enough (unless it sticks with timing attacks like hydra bust), because Steamhammer’s tactics tend to break down in a big macro game. To have the right units at the right time is no help if you throw them away. Fixing tactical play, the way I intend to do it, will be another major feature.

In other words, I expect to have to finish 2 more major features, opponent modeling and tactical analysis, before Steamhammer can score consistently against top protoss bots. It won’t happen soon. Opponent modeling is underway, but tactical analysis likely won’t be until next year.

I will be able to make progress on small features. The 3 biggest weaknesses that can be corrected with minor features are:

1. Better worker micro. Drills would help in a lot of defensive situations. Even without drills, better choices about engaging and running away would reduce losses.

2. Run workers away from enemy attacks. It’s a basic skill that top bots have to some degree and Steamhammer doesn’t. Steamhammer not only loses workers in a base under enemy attack, it transfers more to the base to try to keep mining gas. Keeping workers alive would be a big boost to resilience. I will likely stop the transfers as one fix, and run workers away as a later fix.

3. Pathing in the presence of map blocks. Units too often get stuck trying to take a path that is blocked. The work to fix pathing is started, and I see it as related to dropping BWTA. I’ll continue step by step.

I’m not working on any of these 3 at the moment. One goal at a time. In 1.4 I will probably take at least one more step toward removing BWTA.

Trackbacks

No Trackbacks

Comments

PurpleWaveJadien on :

tscmoo has the best worker drilling I've seen in a bot -- could be worth a look

Antiga / Iruian on :

There are a number of builds designed to counter FFE builds from protoss. If SH could run them vs the right opponents it would give them issues. 2H muta, 2 and 3 H hydra breaks, overpool 3 H ling bust etc. All are direct counters (builds are all on teamliquid if you want them). The standard play is 5 H hydra with muta to snipe templar but that is a bit difficult to pull off perhaps in practice and much more complicated.

Jay Scott on :

It also has to play the builds well enough. But yes, I intend to have a set of forge-expand counter-builds ready for the opponent model to choose from, maybe 3 timing attacks and 2 macro builds. The weakness in countering using a timing attack is that timing attacks can be thwarted by an opponent that sees them coming, and Steamhammer has no concept of concealing its intentions. It is weak at denying the scout. PurpleWave adjusts its build depending on what it sees, and I’m sure it’s not the only one.

Jay Scott on :

By the way, I already tested one new macro build against forge expand, and found that (with the tactical improvements) it has a moderate chance of defeating McRave. That is what convinced me that Steamhammer’s tactical collapse is one of its worst problems. The live Steamhammer loses most games to McRave, so countering with a macro build is better than nothing.

McRave on :

McRave will have opponent modeling next update too, just a few bugs in things I need to work out. For PvZ I have mostly FFE openings, just different variants.

Jay Scott on :

It is impossible to keep ahead! And that is the purpose of blogging everything. :-)

McRave on :

Yes it is really difficult at the rate bots are improving! I've finally cracked down on it to reduce the number of hardcoded bots that are capable of beating me easily. Opponent modeling really narrows how much a single-strategy opponent can do.

Antiga / Iruian on :

Yes! I'd say the last 2 months have seen purplewave, mcrave and tyrprotoss experience very significant upgrades. They are waaay stronger than the older versions.

McRave on :

Quick update: I pushed my opponent modeling live, it uses a similar method of choosing that UAB does. Once I work some bugs out it may prove to help McRave a lot!

Antiga / Iruian on :

For macro builds I'd recommend these 2 :

4 H before gas http://wiki.teamliquid.net/starcraft/4_Hatch_before_Gas_(vs._Protoss)

and

3 base spire (forces defensive cannons etc as it is a muta fake into mass hydra followed by muta to kill templar.

http://wiki.teamliquid.net/starcraft/3_Base_Spire_into_5_Hatch_Hydra_(vs._Protoss)

Jay Scott on :

And 4 hatch before gas is the one I just tested. :-) Thanks for the recommendations!

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.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.