by cowtippervirus » Thu Jan 05, 2012 2:22 am
The AI challenge game engine for ants was awesome. However, the biggest thing it lacked in this last contest was player timing feedback. It was nice to be able to access bot input, but some (most?) of the bots weren't perfectly deterministic due to timing cutoffs. It would be nice to have access to debugging information to get a sense of the server's capabilities, to see where your code is spending it's time, to see how much timing variation the server has, and to trace down bugs that may not appear locally.
My proposal:
Define a unique name (i.e. Bot.debug) for a debug file. As part of the upload process, delete this file (to ensure bandwidth isn't wasted if it isn't generated on the server). At the end of every game, if this file exists in the bot's directory, email it to the bot's owner. Emailing is the easiest way I can think of to manage this content - you don't have to store it on the server, you don't have to add extra web pages, etc. The email also helps enforce file size limits (don't email it if it's more than a few MB) and puts the storage and most of the bandwidth costs on the users (you don't pay for long-term storage, and you only send the data once). Obviously, the extra file write delay means less time for the bot, so I imagine most people would not leave debugging versions of their bot on the server all the time.