archive by month
Skip to content

Steamhammer progress for AIIDE

The good news is that I have definitely made enough changes to Steamhammer that the next release deserves to be called Steamhammer 2.0. In some situations it plays much more strongly. The bad news is that I still haven’t fixed all the bugs introduced in making such extensive changes. Changing the squad structure, which has little direct effect on unit control, had surprising indirect effects on the micro of different units—and I also made changes to micro itself. There are situations where it plays much worse, and some are difficult to debug. I may have bitten off more than I can chew.

The effect is big: Some formerly difficult opponents are easy, some formerly beatable opponents are difficult. With all the new names in the AIIDE entrant list, it’s impossible to guess whether Steamhammer will face opponents it finds easy or difficult.

Steamhammer also has new skills like defiler use, a new layer of micro infrastructure, more smarts in the opponent model (time-consuming to test), improvements to the strategy boss, and a bunch of new, fixed, or retuned openings. And stuff. Special preparations against Steamhammer might backfire.

Well, regardless of how well Steamhammer performs in AIIDE, I feel that I’ve made progress that I can believe in. The new squad structure is more complex so it allows more ways to go wrong, but it fixes fundamental weakesses that are inherent to the legacy design and it does not create new fundamental weaknesses. What I mean is that, in principle and if polished enough, it could be superior in many situations and worse in none. It’s not that polished yet....

Anyway, there is still over a week left. I have other things to do too, but I should be able to make fixes. Outlook: Moderately good.

Trackbacks

No Trackbacks

Comments

Dilyan on :

Bitten off more than I can chew. This is very common among most coders. Yes I know, you have to experiment, to see how much you can do, to have fun. . But then even bigger problems come, you get depressed etc.. I like bots that can do little, but almost to perfection, like locutus, proxybot before update, wulibot... Anyway wish you to fix those bugs and to see steam hammer better and bigger than before!

MicroDK on :

Good to hear about progress in the squad changes even if the changes have backfired. The squad idea both have cons and pros. I have been thinking of changing the hardcoded ground and air attack squads so that they instead are dynamically created for groups of units to make the units work more independent and do combat sim for each dynamic squad. I am looking forward to see how you changed the squads. ATM I am working on unit pathing inspired by Locutus, but my implementation still have bugs where units get stucked... I might disable unit pathing for AIIDE.

Arrak on :

I'm thinking of dynamic clustering for combat sim, and dynamic task generation and allocation (what I call "generalized tactics") for squads. Squads would then be distinct from clusters -- multiple squads can be clustered in one location, and multiple clusters can be part of a squad. One issue I can think of: for large-scale preemptive "not-well-clustered" surrounds of a "well-clustered" deathball, I am unsure that combat sim with an arbitrary clustering algorithm will have the correct result. What's the unit pathing about?

MicroDK on :

The unit pathing was an attempt to make the units not getting stuck behind neutral buildings like on Electric Circuit or Hitch Hiker or the narrow chokes on Blue Storm. I added the ability to clear neutral buildings near my bases but with 10 stacked neutral buildings it will take time to clear them.

Joseph Huang on :

You're supposed to use lurkers for stacked buildings.

Jay Scott on :

Krasi0 sometimes selects 1 marine to tear down stacked buildings. The marine is commonly still shooting at the end of the game. There’s a steady job for you.

MicroDK on :

Yes you are right. I need to detect if the neutral buildings are stacked and et the right units to deal with them.

Ecgberht on :

My bot does use clustering to create dynamic squads, feel free to give It a look.

Also clusters enemy units and use the different clusters to create different types of simInfos(groups of ally and enemy clusters) to do the proper combat sim.

Antiga / Iruian on :

Can't wait to see it!

Jay Scott on :

I can wait a little. :-) I narrowed down one of the new bugs today, and it feels tantalizingly close to being better all around... maybe.

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.