|
|
Tron server with Elo ratings
The
Google AI Challenge 2010
was hosted by the
Computer Science Club of the University of Waterloo
during February 2010 and ended February 26th 2010.
Results
of the final tournament
were published March 1st 2010.
Congratulations to all participants, especially to the winner
Andy Sloane (a1k0n), and to the contest organizers for hosting such a
captivating contest!
This year's task was to write a program that would play
games of Tron against other participants' programs.
Participants wrote programs in a variety of
programming languages and uploaded their source code to the
contest server, which compiled the programs and ran the binaries
against each other.
Due to the popularity of the contest, the contest server was
becoming a limited resource. Near the end of the contest, each
program was getting its first 20-30 games quickly, but further
games were rarely played.
Moreover, the contest server, at the time, didn't calculate Elo ratings,
and matching of players was purely random.
The maps being played were small, so games wouldn't take too long.
This created some frustration, especially
among the participants with good preliminary rankings. They
wanted to play more games, and play more against stronger
opponents, on maps that represented the final tournament.
That's when the idea was born for participants to play directly
against each other. Since the contest was still on-going, participants
didn't want to share their source code with others, yet.
You can connect your unmodified bot to this server using
tcptron.c.
This engine will connect to the server over TCP/IP to fetch maps
and send moves. You will be running your bot yourself, and neither
your source code nor executable ever leave your machine.
The server code is open source, too.
Matching of players is based on Elo points, you'll play against the
available opponent with the Elo points closest to yours.
Maps are chosen randomly from a pool which
consists of all maps from the
most recent starter package, plus some new maps suggested in the
forums. We can play 50x50 maps without burdening any server!
Timing rules are slightly relaxed, due to network latency. You're still
expected to produce a reply as per the official rules.
Your machine's speed may affect the ranking. If your machine is
significantly faster or slower than the official tournament server,
consider the effect.
See Bayesian-Elo
for details about the ratings below.
Output is produced with command sequence: readpgn, mm,
advantage 0, exactdist, ratings.
Updated once a minute.
This server is run by Daniel Hartmeier (dhartmei), contact
daniel@benzedrine.ch
if you have questions.
Here's the source code of dhartmei's tronbot
(rank 80 in the final tournament screenshot, C++).
Here's the gallery with some games
visualised as animated GIFs.
More reading:
- a1kon's Google AI Challenge post-mortem (rank 1, C++)
- ademar's MyTronBot.cs (C#)
- analyst74's Google AI Challenge (rank 52, C#)
- corey.abshire's tronbot (Python)
- cwbowron's Tron Bot Nuts & Bolts - Full Source (C++)
- dmj111's tronbot (rank 37, Python)
- ebrahim's tronbot (rank 7, C++)
- ExperimentGarden's Google AI Challenge - Final Java Tron Bot (rank 196, Java)
- grogers' grogers-tron-ai (rank 11, C++)
- henrikno's tronbot (rank 21, Python, C++)
- iouri_'s tronbot (rank 24, C++)
- Janzert's Tron Bots, Information Page (rank 5, C++)
- jaspervdj's My Haskell TronBot for the Google AI Challenge (rank 62, Haskell)
- jmcarthur's tronbot (rank 105, Haskell)
- kduleba's tronbot (rank 3, C++)
- lefant's tronbot-google ai challenge (rank 134, Haskell)
- luv2run's tronbot (rank 78, Lua)
- Maxime81's MyTronBot.cc (rank 41, C++)
- positron's tronbot (rank 32, Lisp)
- sasp777's TronUCT (rank 109, C#)
- thieba's myTronBot (rank 113, Java)
- ... more in the forums' Source Code Thread
|