archive by month
Skip to content

Steamhammer 1.4.x series plans

One of my age-old traditions, which has gone on for over a year now, is to announce my plans for upcoming versions before I change my mind. After I change my mind, I get to announce new plans. No wonder there are so many posts!

1.4.1 will be out as soon as I can fix the not-so-common crash that Antiga reported. Tracebacks are inconsistent, which points to memory corruption, which points to a bad pointer without admitting where it might be. Or it might be something else. So I’m not sure how long it will take. In between checks to catch the bug, I’m carrying on development of features. So far I’ve made only a couple small changes, including adding the new 21Nexus opening coded up by Antiga.

For 1.4.1 and/or 1.4.2 I want one of the opponent model features I mentioned earlier (see the last long paragraph of that post), plus progress on removing BWTA, plus progress in fixing at least one of the major weaknesses. For BWTA I will do the base information stuff like fetching the base’s geysers and so on. That will take me 90% of the way toward getting rid of BWTA, which by the standard rule of thumb means that the work will be 50% done. Having base info handy will make it easier to implement running workers away when a base is under attack, which is a major weakness, so that will be the other one. As always, I’m sure to do a lot of little fixes and improvements too.

I’m not sure how many more minor versions I’ll make, 1.4.3 and so on. However many there are, each of them will have one more important opponent model feature. I’ll keep it up until I find that the opponent model is Pretty Damn Good, whose definition is to be discovered empirically.

It’s also time to add new units and basic skills. It has been a while. Protoss will get shield batteries, which are already implemented almost correctly. Other top candidates are spider mine laying and tank micro for terran, and midgame drop and defilers for zerg. Drop and defilers are both complicated, so expect the first cut to be limited. I also want to give zerg overlords a sense of danger, because Steamhammer loses far too many of them, another major weakness. Before the 1.4.x series is over, I want to get shield batteries, at least one terran thing, and one or two zerg things. We’ll see how it goes.

Pretty vague plans, but this is what I’m thinking.

Trackbacks

No Trackbacks

Comments

Antiga / Iruian on :

I love the work being done and the project and the direction it is going. Here is my list of dreams just as a datapoints. Sorta in order.

1) Building placement issues resulting in lag (pylon power) (for Protoss). This is resulting in a fairly high crashrate in long games which restricts the bot in that matchup to playing early / midgame focused builds
2) Learning that allows the bot to cycle through builds to find one that wins vs an opponent. One of the simpler models used in other bots I think would work fine. Doesn't need to be super unique / complicated. I think would do wonders for it in terms of ELO / tournament performance. In a dream world it would have learning decay, selectable winrate cutoff's vs specific bots for build rotation that are adjustable etc. (Already on the list from the blog posts?)
3) The updated version of FAP(Already on the list it seems)
4) Move away from BWTA (already on the list)
5) BOSS replacement (To make T / P really work properly it needs an new system that performs better or significant fixes to the existing setup) (Mentioned previously). It takes too long to decide / get stuck too often.
6) Ability to bring workers with rushes to fight (zealots w/ probes, lings w/ drones, SCV's with marines). I think it would really up the rush strength.
7) The ability to separate key units from the main army / let them either have their own sim or separate control. Due to how FAP works often you end up in situations where the air army can reach an enemy unit but the ground army has to go through their entire army to do so. It makes the sim overestimate it's odds. And makes for a bit of a mess on maps with lots of terrain. I wonder about a seperate air / ground sim that might be able to combine for defense only?

Jay Scott on :

Every one of these 7 points is on my list, though maybe not in the form you are thinking of. It’s good to keep reminding me about the importance of protoss building placement; that needs to be a high priority. You can already pull workers to join in a rush; that was added in version 1.2.4 and is used in the terran BBS rush. The commands are “go pull workers [n]” to pull a given number, and “go pull workers leaving [n]” to pull all except a given number. It’s included in the documentation I linked to earlier today.

Antiga / Iruian on :

Thanks! I'll give it a try with the 9/9 zealot rush to try and make it more deadly. Antiga on sscait has another half dozen or so builds in testing. In time I'll send them your way once they've seen more time

MicroDK on :

I agree with 2). Instead of falling back to purely random openings if the opponent modelling fails eg. it only detects "unkown", fall back to UAB style opening learning that Microwave also uses. This is a combination of random openings and UCB algorithm. It uses the UCB algorithm if the chosen opening is not winning and we have used it in enough games.

Antiga / Iruian on :

Along the lines of the air to ground sim separation I think it would also really help to be able to separate invisible units (DT, Ghosts, Lurkers etc.) maybe as a tunable factor. So that they can continue to push an advantage vs an opponet who is lacking detection. Right now in PVT if you have 5-6 goons + 2 DT vs a small T army and the goons are killed the whole army retreats. Rather than the DT's continuing to cause damage until a scan / other detected is noted.

Jay Scott on :

This is on my list too. As it stands, a dark templar does not retreat until at least one DT has been lost. There’s no understanding of enemy detection. A limitation is that BWAPI 4.1.2 doesn’t provide any way to find out about terran scans.

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.