Wednesday, January 20, 2010

How it began

I play Chess as well as a variant game called Antichess on the Free Internet Chess Server (FICS) quite frequently. Along with humans, there are quite a few engines which play on FICS. Ever since I started playing there in 2006, I was amused by these engines and sometimes fantasized of pitching my own against these other engines as well as human players. But I never got around to working on one for a very long time...

In May 2009, things changed. I do not know what exactly initiated me but it could have just been a way to kill boredom. I started reading some stuff on the web and one fine day decided to begin coding my own Antichess engine from scratch. In particular, I chose Antichess because I loved this variant and also it seemed there were too many normal Chess playing engines out there. The initial development took quite some time as I worked on it during weekends very sparsely over the next few months. Finally in September/October, the last remaining nuts and bolts were fixed into place and a very basic program that could barely play by the rules of the game emerged.

For the next month or so, I had to push myself harder to get it to play some decent antichess, something that could beat me often enough. This required addition of many optimization techniques, refinement of existing algos and of course, tonnes of bug fixes. Subsequently, I named my engine Nakshatra (meaning Star in Sanskrit). Around same time, I started working on extending the engine to play even Chess. But more importantly, I hooked Nakshatra v0.0 to FICS and got it playing against other engines and humans! Though I expected the engine's rating to go up to 1900, to my surprise it even surpassed 2000 after few days of play and drifted in the range of 1900-2050.

Now, after two major improvements, Nakshatra v0.2 has attained a top rating of 2140 and playing much stronger than ever before. In this blog, I will be posting about Nakshatra's progress as well as things I have learned over the past few months in relation to Chess, Chess engines, Chess programming and much more. Keep watching this space for some fun stuff.

5 comments:

  1. well done! I'm looking forward to playing it more :).

    ReplyDelete
  2. Awesome man! I still remember your phone directory and the other game you developed back then :)

    All the best dude!

    ReplyDelete
  3. Thanks guys.

    @denarius sorry. Please reveal yourself. Your blog doesn't have your name and I only have a guess as to who you are (as you are in NCSU) :)

    ReplyDelete
  4. Hey man.. You got it right :) I'm from Bhadravathi.

    ReplyDelete