archive by month
Skip to content

CIG 2018 - not only Overkill was broken

I’ve been watching CIG replays. There are way too many and I watched few, but I soon noticed that Overkill was not the only bot in the tournament with broken build orders due to some unknown incompatibility. Steamhammer is also affected in every game I checked, with symptoms similar to Overkill’s though apparently less severe. Strangely, UAlbertaBot (parent of both Overkill and Steamhammer) does not seem to be affected (though I did see one game where it opened 11-11 gate instead of 9-9 gate). Tyr also had build order problems in every game I checked, and it is unrelated code.

I checked a few other bots and did not see consistent problems as with Overkill, Steamhammer, and Tyr. For example, McRave fell into an early production freeze in one game, but it played normally in other games so that was likely a garden variety bug.

It explains some mysteries about Steamhammer’s performance, though it opens others.

It seems difficult to inventory all the participants and see which were affected by similar problems. For the weaker bots, we may have to read the source to tell whether build orders are working as intended.

Can anybody diagnose it? So far we only have speculation about the cause.

Trackbacks

No Trackbacks

Comments

Joseph Huang on :

Maybe they forced latcom off. Symptoms seem the same.

Jay Scott on :

The symptoms do match, at least pretty well. The affected bots do appear to want latency compensation on—I checked the source. The fly in the ointment is that UAlbertaBot and Microwave are not affected, at least not in games that I looked at, and they also want latency compensation.

MicroDK on :

Yes, that puzzles me as well... Microwave is intended to be run with latcom on. It is a long time since I tried to run my bot with latcom off and it did not play well at that time. Maybe they only ran the tournament with latcom off for certain bots... like it could be a setup error.

Jay Scott on :

I’m not willing to draw that conclusion without more evidence. I looked at a tiny sample of games, and we haven’t nailed down the cause for sure. But whatever the underlying cause, CIG does not look like a fair tournament.

Dan on :

For what it's worth, I've seen the odd Microwave/Steamhammer behavior you describe in one of my local testing setups, with no tournament module and on both LF3 and LF6. They work fine in SC-Docker but not-fine if running on my laptop with ChaosLauncher. Broken builds, confused/idle workers, and recognizably poorer play.

Quatari on :

Pasting some info from Discord...

ZZZKBot writes a boolean to its output file to record whether latency compensation is on or off from ZZZKBot's perspective (Broodwar->isLatComEnabled()). I checked all the output files for ZZZKBot and in all games, it is "1" (on). Of course, this is only evidence for ZZZKBot's perspective, not for the perspective of other bots. I don't think the organizers changed any of the logic relating to latency compensation, because they used StarcraftAITournamentManager, and if they changed it, they would have needed to change and recompile the TournamentModule.dll. I can't think of any reason why they would want to do that. The TournamentModule.dll in StarcraftAITournamentManager (for all BWAPI versions it supports, i.e. 4.2.0, 4.1.2, 4.1.0 Beta, 3.7.4) forces latency compensation to be on for DLL bots (i.e. DLL bots can't turn it off). I don't think it should, but it does. ZZZKBot is a DLL. However, TournamentManager.dll doesn't seem to enforce permissions like this for EXE/proxy/client bots, because I have noticed in the past that EXE/proxy/client bots are able to do things that the TournamentModule.dll should prevent them from doing, e.g. setLocalSpeed(42). I haven't debugged it to investigate, but I might - not sure when though.

FYI: Jay mentioned that Overkill, Steamhammer, McRave, Tyr might have had problems. Overkill, Steamhammer, McRave are DLLs. Tyr is a proxy bot.

Bruce on :

I tested Overkill locally on LF3 vs. LF6 and I think just the LF6 change can explain its performance. On the same starting location with the same build order, it starts out reasonably equivalent, but by 5:00 on LF6 it's 8 supply behind the LF3 version (18 vs. 26 supply).

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.