This isn’t super important to the upcoming tournament, but I thought I’d point out something I noticed in case the devs who have thought about this mystery in the past are interested.
Last year and this year, people have commented on the fact that the game runner sometimes points out, after a match, that there were timeouts on certain rounds. This would raise a “requires attention” on the player portal last year, but since the bots’ moves were accepted despite the timeout being marked, no one really worried about it except to check that it wasn’t a problem. Everyone got on with their coding.
This evening I was testing something and turned the max-runtime-ms in game-runner-config.json up to a few minutes. I played a game between bots that respond in tenths of a second. One some rounds (but not all - no idea why these rounds and not others), both bots would run and output their answers to stdout (viewable in the console).
But the game engine would hang up for the amount of time specified in max-runtime-ms!
Then, the moves would be accepted and the game would continue as normal.
I suspect this is happening all the time, but people don’t notice because the moves are accepted, the normal timeout is only one second, and with everything being written to the console a second’s delay is not significant, or they think the delay is in their bots.
I don’t know why it’s happening and haven’t even looked at the game runner code yet (maybe after I’ve handed in my entry for the round) but I thought it might help the devs if they are interested in tracking down the bug in the game runner that causes this.
To reproduce: set max-timeout-ms to a value high enough that you’ll notice (eg. 60000), run two fast bots against each other, and watch the long pauses in the console.