Though the Tournament of Sevens coding challenge took much longer to get off the ground than expected, I’ve taken steps to sort out the bot bugginess and the contest is now roaring ahead. The first week included 16 viable competitors, out of 19 entries.
One obstacle in getting this going was from Eclipse projects. The problem with them is that their source files end up in different places and the IDE is a bit fiddly building and deploying the class files. For Java entries, I much prefer a bunch of Java source files that I can build from the command line. Also, just a reminder, if you do submit Java, please ensure that the package names are removed or blacked out.
For an entry to be considered viable, it must pass a four problem test and choose its card in no longer than one second. Once the test was developed, I ran each bot against it and reported any faults to the bots writers, who fixed them and resubmitted.
This viability test was added to find “problem” bots before they’re in the middle of the tournament. Each game takes about 20 seconds to run, so finding a defective bot later on is a real pain. The one second rule came from a bot that spent 30 seconds per turn working out its move. In processing terms, that’s a very long time. In a four-player game, each bot can play up to 13 cards, so that kind of slow processing really adds up. Spending six and a half minutes per game for one player’s turns just isn’t acceptable.
Here are the results after the first week:
- 13-Rick Matter (Java) Played = 4 and Won = 4
- 10-Stephen Burris (C#) Played = 4 and Won = 2
- 3-Larry Smith (Java) Played = 4 and Won = 1
- 4-Ivan Meyer (C#) Played = 4 and Won = 1
- 5-Lubo Antonov (C#) Played = 4 and Won = 1
- 7-Delbert Aud (Java) Played = 4 and Won = 1
- 8-Charles J Daniels (C++) Played = 4 and Won = 1
- 9-Teresa Carrigan (Java) Played = 4 and Won = 1
- 11-Lonesha Akaaba (Java) Played = 4 and Won = 1
- 16-Olin Gallet (Java) Played = 4 and Won = 1
- 19-Heithoff (Java) Played = 4 and Won = 1
- 2-Sandeep Desai (C#) Played = 4 and Won = 0
- 6-James Wilson (C#) Played = 4 and Won = 0
- 14-Michael Gould (Java) Played = 4 and Won = 0
- 17-Jay Nagel (Java) Played = 4 and Won = 0
- 18-Kallol Mandal (C#) Played = 4 and Won = 0
Congrats to Rick Matter for a solid performance. However, after doing all that testing, I wouldn’t put too much faith in these scores just yet. I saw at least one bot that didn’t win any of the rounds here, yet scored four out of four on another run.
This week, the contest was four rounds long, with each round consisting of four four-player games. Before each round, the bots were sorted by their scores, and pinned against equivalently performing bots. (The four highest scorers played one-another, and the next highest scorers played each other, and so on).
I’ve put detailed results of the first round, including game run logs, into a Dropbox folder. (You don’t need to install Dropbox, it’s just a link that lets you download the result files.) One of the files, playlist.txt, lists the bots in each contest. The two numbers are the games played and games won. The other file is a zip file holding the text game processing logs. There’s one file for each round. For each game played, it shows the cards in each player’s hand and what got played. There will be a zip file of logs added to the Dropbox each time the games are run.
Additionally, I’ve increased the frequency the games are being run to twice per week to make up for some of the lost time.
Remember, there’s still time to enter. I’ll be running the contest until mid-March. You can see the details of the contest here. It also occurs to me that Python entries should be allowed. I have version 2.7 installed, if anyone would like to submit one.