D 2014-11-07T18:34:51.194
L tcl21contest
P 4b2fd080905e1a8fa5bf01f9e68232b2483c4f19
U andreas_kupries
W 2880
This year we will be "running" two distinct but related contests.
We will announce/show the results at the banquet.
The attached files are the basis for the contests.
Contest #1 -- "Risk" playing Bot
Create a robot to play a "Risk" like game using SampleBot.tcl as a starting point.
Robots will play a double round robin. Starting at "high noon" on
Wednesday. In each match a robot will be awarded points as follows:
* 0 points -- lost
* 1 point -- tie
* 2 points -- win
Winner on pure points.
Contest #2 -- Display of BotGame
Write a program to display the "log" of a game (you can modify the
RunGame.tcl to output whatever you want as a log) either via Tk or
HTML/JavaScript -- the "driver" has to be Tcl based. See the WorldMap
files.
Winner(s) to be judged by artistic merit (whatever that means).
To run:
tclsh8.6 RunGame.tcl gameName gameDir mapSpec bot_1_name bot_1_path
bot_2_name bot_2_path
Where:
gameName - name of the game
gameDir - directory game files are in
mapSpec - map specification file (i.e. WorldMap.tcl)
bot_1_name - name of bot #1
bot_1_path - command to launch bot #1
bot_2_name - name of bot #2
bot_2_path - command to launch bot #2
This is all based on
http://theaigames.com/competitions/warlight-ai-challenge
Now contains all the files we got from Gerald, with some changes, namely
* Fixed a few typos in the sample bot and in the engine
* Refactored the engine internally a bit
* Gave the engine a higher-level log written to stderr.
* An example of this log is in the repository
* The log should be Tcl-readable (lines of Tcl lists)
* This should be a good starting point for visualization/replay of a
game.
* Added two manager scripts, Shootout and Tournament.
* The shootout takes two bots, possibly the same and runs
them through a series of independent matches (50 by default)
and accumulates the results. This should allow you to judge
relative strength better.
* The tournament takes a directory of bots and runs them against
each other per the rules Gerald listed in his initial mail.
* Both scripts save the lower- and higher-level log in the logs/ subdir
of the world directory they operate in.
For reviewing things, and also as a source of game logs for
visualization.
* Call either script without arguments to see the usage information.
All in all having these infrastructure script should allow us to focus
on writing a bot, and not on writing helper scripts.
* Access without login, and anon access have standard permissions.
* So, everybody should be able to clone.
* Anon login can get zip/tar balls from a revision.
Z aac531b1c85475fff3ed11c4b4e1e307