archive by month
Skip to content

the 4 cooperating bugs

Yesterday I pointed out a game versus CUBOT where Steamhammer failed to finish off the enemy and had to win on points when the game timed out. It was due to 4 bugs, and I listed the bugs. Today I want to expand a little: The bugs were all necessary for the bad result. If any one of the bugs were not there, Steamhammer would have destroyed the last building, the enemy extractor, and finished the game on its own.

These are important bugs, because it is important to kill CUBOT fast so it stops spamming how much it needs gas.

1. The extractor was considered inaccessible by ground, so ground units did not try to attack it. The tactical targeting does not send a squad to attack a target that the squad can’t reach. Steamhammer decides ground accessibility like this: If the map were empty, could a unit walk to the position? You can’t walk on a geyser, so the check is incorrect in that case.

If ground units happen to wander close enough to the extractor, they will attack it anyway. The micro targeting takes over. The can’t-reach-a-refinery bug is a known problem, and I never fixed it because, until this game, Steamhammer’s other behaviors had always been robust enough to eventually find and kill any leftover refinery buildings.

2. The Ground squad knows there’s an enemy building left but believes it can’t reach the building, so its job is to explore the map for other enemies. It decided to check the enemy’s mineral-only expansion. Unfortunately, the shortest path there is blocked by a mineral block, and Steamhammer does not know how to path around the block or remove the block. So the Ground squad could make no progress.

3. The Recon squad cannot get jammed in the same way, because if it fails to reach one target, it times out and switches to another. It should eventually check everywhere and kill the extractor. But in this game, a single zergling froze in place at the top of the enemy upramp, and the other zerglings of the Ground squad were positioned so that they could not pass it to reach the downramp that they could not pass because of the mineral block. Stuck units are less common, I think, but still happen. The Ground squad was effectively frozen into a position where it blocked the Recon squad from ever reaching the enemy extractor.

4. Mutalisks don’t care about ground reachability. Despite all the above problems, Steamhammer still would have finished the game on its own if it had continued normally, teching up to mutalisks. But a never-before-seen bug froze production, and Steamhammer stopped making units altogether. I think I’ve diagnosed the bug, and I will fix it.

None of the 4 bugs is critical on its own. They had to cooperate closely, even to the point of freezing one zergling in the right position and placing others around it carefully so they could not move forward or back. Maybe instead of fixing the bugs, I should find the coordinating committee and disband it.

Trackbacks

No Trackbacks

Comments

Dilyan on :

Good luck, everyone! Tour starts in 40 hours!

Barcode on :

"it is important to kill CUBOT fast so it stops spamming how much it needs gas"
Hahaha, apparently it got disabled soon after exactly for this reason

Dilyan on :

I really hope they remove old weak bots that does nothing but prolonging games to 90 min when they play each other, which is only way they can score a win...

MarcoDBAA on :

CUBOT is new. No idea if the bot works or not however.

Anyway, I always liked, that there are some weaker bots. Does not mean that the games are always bad.

I would have kept Travis Shelton for example of the bots that were removed lately (it was my first voted test bot for new entries often, level 1 in a game if you want, easy but sometimes fun). I would have agreed with disabling most of the other ones (not counting author extras like Randomhammer here of course that were disabled for SSCAIT), that were disabled lately because of weak play or bugs, however.

You just need weaker bots to give new authors something to beat. People shouldn´t feel that they have to use an existing base bot.

There are some bots, that are good enough, but clones, like Andrej Kurdiumov (more or less UAlbertaBot). These could be disabled. Disabling is ok for sure, but Elo shouldn´t be the reason. Not the deciding one at least.

Since I can not watch the stream anymore (only watch Open BW) I do not vote (makes no sense then), but people already get the games they want to watch, if they care enough. It really was bad, when there was no voting. I remember...

Joseph Huang on :

You could always test locally vs weak bots, having them on ladder doesn't help much imo.

Jay Scott on :

For my part, I am happy to keep a bot like Travis Shelton around. It is weak, but its play is interesting when it does manage to stay alive. Next year, will it be the turn of Roman Danielis to be turned off?

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.