Adjutant I

by zenquaker

For a long time I’ve been working on a project to define Chess variants in XML. I did two rounds of coming up with a schema for Chess variants, and then decided that I really needed an application that used the XML to inform the schema design process. That led to me spending much of the past year working on Adjutant.

The original idea for Adjutant was to have a database program for Chess variants, so that I could keep track of my correspondence Chess variant games that I play online. For the purpose of developing an application to inform the schema for my Chess Variant Markup Language (CVML), to make something totally bare bones. So rather than a database application, I just wrote a program that could understand a Chess variant game. It would just be able to set up the game, take moves you entered, check them for legality, make them if legal, and determine if the game was over.

I did that. I posted about it on the Internet, and there was no interest.

Recently there was some interest, both in the original database application and in the possibility of a web site that collects different Chess variants. For the former I thought there was a program that could handle database functionality, but it turns out it only allows the playing of games and has no real features for tracking them. For the latter, there already is an extensive web site for Chess variants, but it does not appear to be supported any more (it is not possible for new contributors to add new content). I like both of these ideas, but I am not really fluent in web programming, so I am going to concentrate on the database application for now.

For now I am going to use this blog for updates on my work, in the hope that interest continues. There’s a lot of work to be done, and my current plan is to:

  1. Convert the program from Python 2.7 to Python 3.2.
  2. Clean up the code and especially the documentation. Part of this will be developing a schema for CVML.
  3. Develop a GUI for the program. Probably in PyGame.
  4. Add functionality for a few of the more popular Chess variants (I’m thinking Chess960, Crazy House, and maybe one other).
  5. Add functionality for tracking games.

I’m also going to look into web programming again, but that’s going to have to be back burner relative to the database application.