play chess! write bots!
MICS, which stands for Mario's Internet Chess Server, is an open xml protocol (specified here) for online chess. It's quite simple to implement, and supports any interactions that would come up in a chess game. You can try it out with a barebones client implemented with More importantly, I wrote up a complete client and server (for download) that in my opinion constitute an excellent platform for AI development and competition.
The client and server are both implemented in Python. They use the chesstools game engine, and are fully integrated with the chesstools.AI bot framework. The server's network IO is a thin layer built on top of, and the client runs on The event engine is rel, because pyevent doesn't work with threads. The client interface is written with pygame and the opening book functionality is powered by the chesstools book module, which in turn relies on sqlalchemy. Also, psyco is recommended.
So now you have this client and server. What do you do with them? Well, first you should try running the client with no arguments. This will connect you to my server, at which point you will be compelled to play several games. Once you have that out of your system, it's time to write your first AI. Here's how!