archive by month
Skip to content

Steamhammer test version results so far

The new test version of Steamhammer is scoring poorly, dropping in elo, while the new Randomhammer is holding up well. My observations so far:

• Terran marine play is clearly better overall, mostly because medics stay close to marines.

• The terran BBS opening is not as strong as intended, because a new bug tends to cause some or all marines to stay home when they should move out. The bug must have been a late change, because I tested the opening thoroughly. Even so, the BBS smashed Killerbot by Marian Devecka.

• Terran tanks behave differently, but still poorly. Instead of staying put when they should run away, they siege and unsiege even more energetically. Tanks are hard.

• The old drone dance bug, where drones move about erratically instead of mining, is critical. I’m closing in, but I haven’t nailed it yet. There is a new drone dance bug affecting drones sent away to build. Sigh.

• Fixing the bug that sometimes caused mutalisks to separate into widely-spread clumps is an improvement... right? The mutas hang together as they should. So when they’re doing nothing because they’re afraid of bunkers in their path, they do nothing harder than ever and ignore tanks that roll past to besiege the natural. It happened in a loss versus LetaBot. Some problems are bottlenecks that must be cleared, and disorganized mutalisks were apparently not.

• The new lurker play does cause serious trouble for some opponents. In one game, tscmoo protoss never got detection in a long difficult fight and lost, a surprising flaw in a smart opponent. The lurkers also show some easy-to-see weaknesses. Hannes Bredberg’s pure marine play won 2 games versus 1-base lurker builds by exploiting weak lurker coordination and poor decisions from the strategy boss (“we’re out of lurkers? eh, hatcheries are more important”).

• This version deliberately goes lurkers more often than it should in the middle game, so I can see how well it works. I’ve already put in one change for the next version: Lurkers are contraindicated in the presence of photon cannons. Researching lurker aspect versus Tomas Vajda was... not ideal.

• Speaking of Tomas Vajda, that game was a disaster. Researching lurker aspect delayed hydra range and speed for a long time, handing the carriers an advantage. Later Steamhammer decided to make devourers, which was good. But it turned out to be unable to morph mutas into devourers—totally broken, though the code looks right to me. Finally, in a desperate situation but still fighting, Steamhammer lost by busting the per-frame time limit. It is likely due to the slower new SparCraft.

• With the macro improvements, Steamhammer has seen the old bug return of sending 2 drones to start 1 hatchery. The second drone stays idle permanently. I thought of a quick fix.

There are more problems than I expected. That’s what I get for not uploading for so long. I’ll need at least one more test version before the release version.

Trackbacks

No Trackbacks

Comments

Arrak on :

-Mutalisks are really tough... I think them being disorganized is indeed a problem. But it is more problematic that they often do nothing when they should be doing something.

-I personally recommend trying a 3 hatchery lurker + (zergling or hydralisk) build as well.

-Please do fix those darn drone bugs. And let me know if you have any ideas. I've been hunting down macro-related bugs for weeks. Pretty much all these bugs are fatal in close games.

-Strange, I don't remember any difficulties related to the specific act of morphing devourers or guardians. I did write some hacky code in StrategyBoss to ensure there were mutalisks/hydralisks ready for morphing, though.

krasi0 on :

A few words summarize it well - tanks are hard... BroodWar is hard!
BTW, I saw the new(?) vulture micro of Randomhammer. Is this patrol micro based? It's awesome!

Jay Scott on :

Vulture micro is unchanged. It does look impressive when there are only 1 or 2 vultures and they are lucky enough not to back up into terrain....

Joseph Huang on :

The building manager does not know which move worker was sent to the build location, so it sometimes grabs a different drone to build. Also base reservation code is not called, so if you build two hatches at the same time it will attempt to build them at the same spot.

Jay Scott on :

Yes, I know the causes. The base reservation code is not called because when I first wrote it, it did not work well enough. Maybe the error was in how I used it, rather than in the infrastructure code? Did you get it working well in your bot?

Joseph Huang on :

I have had no issues using the base reservation code, besides figuring out where to insert the reserve and unreserve functions. Arrak is also using it, I believe.

I have fixed both issues, but it's a bit of a hack because I don't actually do resource prediction, I just send all buildings to buildingmanager and let it pre position the drone, which it does too early. I was also able to uncomment some stuff in buildingmanager.

I probably will try to redo the whole production system, besides building manager. The queue stuck bug due to loat tech is present in both production q and building q, and there is no way to handle it in building queue right now.

If you post your darcs repo or whatever up I can send you patches if you want.

Jay Scott on :

That’s good about base reservation. I see your production plan is the opposite of mine: I was thinking of keeping ProductionManager and getting rid of BuildingManager, at least as a separate queue. BuildingManager is a low-level mechanism but will work better if it can make high level decisions like “uh oh, enemy presence, maybe this is not the right place to expand.” Or “the building SCV keeps getting sniped, should I cancel this building?” It doesn’t seem like the right design. At a minimum, it needs a way to bring strategic and tactical analysis into its decisions.

Joseph Huang on :

Building manager at least works in parallel and doesn't get blocked by 1 item. FAP might get threat aware path finding eventually, we'll see.

Jay Scott on :

If you have good stuff, push it to your own repo and I’ll snaffle it if I like. That’s plenty.

Joseph Huang on :

Drone dance is caused by rapidly cycling gas collection on and off. I have a fix by changing the conditions and onky flipping if it's been 450 frames since last change.

Jay Scott on :

Yes, it is switching drones rapidly between minerals and gas, the ultimate in indecisiveness. I want to fix it by understanding exactly which conditions are in conflict and why, and I don’t yet.

Joseph Huang on :

I suspect this is fundamentally unfixable without turning off latency compensation. https://github.com/bwapi/bwapi/issues/652

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.