archive by month
Skip to content

Steamhammer 3.5.11 change list

According to tradition, a new Steamhammer version drops in elo on BASIL at first. It takes around 2 months for changes to settle into the learning data before the elo reaches a new equilibrium. The new AIIDE tournament version has broken tradition and started out with an elo rise instead. It’s an early sign that I may have a successful version.

Last night I uploaded the “bug fix” version 3.5.11 to SSCAIT and SCHNAIL. It has 9 small changes over the tournament version of Steamhammer, a lot more than I planned. Only 3 changes are proper bug fixes. All of them are meant to prevent bad behavior or use resources more efficiently, so they fix play bugs if not code bugs. For debug flags, this time I turned on drawing of not only the clusters but also the combat sim info (drawn alongside the cluster info and in combat areas) and the static defense plan. It makes for a busy display.

operations

Estimate when one of our bases is doomed to be destroyed, so that we can stop spending resources on it. Any code that wants to know can call base->isDoomed(). For this first pass, I made it conservative; it checks a few conditions and does a quick comparison of defenders to attackers to see if the fight is very lopsided. If it says the base is doomed, then it is under attack and there truly is little chance that it can be saved (though you never know, maybe the opponent will do something else). The feature has many uses that I’m sure I’ll get to, but for now only one is implemented (keep reading).

static defense

Don’t add more sunkens or spores at a doomed base. They’ll die too and accomplish nothing. The weakness was glaring; now it should be only staring.

• Limit front-line sunkens versus terran to 6 at most, 5 at other bases. (Against bots, rather than humans, Steamhammer makes at most 1 sunken at other bases, to prevent casual raids. Almost all bots concentrate on attacking the main with its front line.)

• The plan/execute loop runs more often, to reduce the delay in adding defenses when in a hurry.

• The controller could mistakenly order multiple copies of a prerequisite building, like a forge for cannons or an evolution chamber for spore colonies. Fixed.

• There was one last place where a building was posted directly to the building manager instead of queued for production: The prerequisite building. Fixed. It caused no known bug, but queueing the building likely avoids rare problems.

zerg

Fixed a production freeze that was possible when the enemy went mass air. This was an interesting one, because it was a completely different mechanism than any other production freeze I’ve seen. In the unit mix calculation, if the best unit for the mix was devourers and we already had as many devourers as we should, then the code rejected the choice it had committed to. The unit mix fell back on the default, drones as the only unit to make. By the time this happens, it is late in the game and Steamhammer already has as many drones as it wants. So it replaces lost or used drones, makes urgent units like scourge, keeps up with its upgrades... and produces no other units. The fix was to reject devourers up front in that case, so that the calculation finds a different best unit.

• If we have excess minerals and gas, make a lair and/or research burrow solely to use up some of the excess. It happens occasionally, and if the game continues we’ll want both eventually.

• If air carapace has reached +3 and we still have many mutalisks and/or guardians, start getting air attack upgrades too. Might as well, I figured. I uncommented a snippet of code that I wrote years ago, back when Steamhammer’s air upgrades never went beyond +2.

Trackbacks

No Trackbacks

Comments

Dilyan on :

You got a win vs PW from today on sscait.
http://www.openbw.com/replay-viewer/?rep=https%3A%2F%2Fsscaitournament.com%2FReplays%2FPURPLEWAVE%2F24167-Purp_Stea-PvZ.rep
Some burrowed lurker shots killed quite a few units for free..might be bug from PW army was frozen or something.. anyway very odd game, there was like minutes of both bots not doing anything...

Jay Scott on :

Wow, that misreaction to lurkers was extreme. Though it was normal in old bots that had no knowledge of lurkers.

PurpleWave is too cautious about moving out from its base (just as Steamhammer is too aggressive; neither really understands). Steamhammer wasn’t about to attack into the larger protoss army, so it held off. Even after PurpleWave moved its army into the natural, Steamhammer could not see the dragoons in the rear and believed that the protoss main was still defended against mutalisks. That’s a scouting weakness.

Dan on :

This is a bug in the latest version where PurpleWave misidentifies a build as a speedling all-in, but then gets Dragoons in response to Mutalisks and fails to meet its own conditions for transitioning out of the speedling defense into the rest of the game.

Dan on :

Followed by another bug where PW throws away 100 army supply while sitting on Lurkers it can't detect.

Tully Elliston on :

Interestingly, if you go into the SH profile on basil and view stats for games between just 1st oct and 6th oct, you get a strikingly similar distribution of games won/lost finish times to that of the data viewed over a 6 month period, with even a fraction of the data still pointing to defeat finish times concentrated between 8-11 minutes.

The doomed base handling sounds well targetted to influence SH play in these particular games. I reckon the lions share of losses around those times could be mitigated (if not turned to wins, then at least pushed back to later finish times) by improved defensive skills and retreating.

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.