The bot arena is a small program to test IGX bots. It plays a series of games
and collects the data you specify in a log file. Click here to download it. The bot arena is
run from the command line. Everything sent to
System.out or System.err is added to the log. This means you can add comments to
the log with commands like
Below is the list of available command line parameters, followed by a few examples.
The bots must be put before any other parameters.
| puts the bot with level a from the specified bot class on team b. If the second bracket is ommited for the nth bot, it is put on team (n-1) | |
| file=X | sends all the logged data to the file X |
| RTQthreshold=X | sets the threshold below which bots automatically become ready to quit. The value should be between 0.0 and 1.0, the default value is 0.3, as o the official online server |
| map=X | the arena will play on the map X, where X is the name of the file containing the map not its in-game name. Leave the suffix. The map file will be sought from the Java class path. If it cannot be found, the bot arena tries to find it in the igx/maps/ subfolder of the Java class path. map=BigX and map=igx/maps/BigX will both open the Big X map from the igx/maps/ folder, unless there is a second BigX map on the class path. The default map is Take 5. |
| games=X | makes the arena play X consecutive games |
| report=X | if this is set to 0 or below, the game state is never logged, otherwise the arena will log the map, the data of all planets and the current score table before the game begins, after it ends and every X turns. The default value is 1000000, causing the arena to print only the initial and the end state of a game (since no game will ever run until turn 1000000) |
| messages=X | determines which messages are logged. The default value is
2 0 none 1 only chat messages 2 chat messages and events 3 all messages except for fleet arrivals 4 all messages |
java igx.bots.BotArena igx.bots.MoonBot[0] igx.bots.NoviceBot[0] games=10 file=test.txt map=TheCube
The bot arena will play 10 games between
the level 0 MoonBot and the level 0 NoviceBot on the map The Cube, storing the
log in the file test.txt.
java igx.bots.BotArena igx.bots.MoonBot[0] igx.bots.NoviceBot[0][0] igx.bots.LucasBot[2] games=100 messages=0 report=0
The bot arena will
play 100 between the level 2 LucasBot and team 0, consisting of the level 0
MoonBot and the level 0 NoviceBot
the only output will be the log
header, the winner of each game and the log footer