During my final year exam at varsity, the chess bug bit me again. By now I've learned the
C++ language and had access to the Internet (where I discovered the
beauty of the Alpha-beta algorithm and better ways to represent a chess
board.) My hardware was also much better (a Pentium 120MHz) and I owned
a copy of C++ builder - something that would make it much easier to
write a GUI for my program.
My objective for
NagaSkaki (this is what I decided to call my chess program) was simple:
create a program that could play chess on the same level as me. I was
probably rated around 1600 elo, so I thought at least now I have an
attainable goal.
Because of all the research I did, things went much better this time. I still remember the
joy when NagaSkaki won his first game against a human (a few months
after I started programming.) It was probably after a year of on-off
programming that NagaSkaki reached its goal by beating me quite often.
Of course by that time I
wasn't all that interested in playing against NagaSkaki myself anymore,
I just wanted to make it as strong as possible! I organised matches
against all kinds of computer opponents and eagerly monitored its
progress. This seems to happen to most people that get addicted to
chess programming...
After releasing the first version on the Internet, people asked me if NagaSkaki can
interface to winboard. I've never heard of Winboard before, thus I
google'd it and realised that this thing would make my computer vs.
computer matches much easier. After implementing the winboard protocol
I was amazed at how many people were suddenly interested in downloading
it. I then realised that I'm not the only one who became more
interested in playing these machines against each other than playing
against them ourselves!
And that is how NagaSkaki came to live. Of course it takes a lot of time and effort to
create something that can play a decent game of chess. There were
months when I programmed every day till late at night (or early in the
morning), and then there were months (once even more than a year) when
I didn't do any programming at all. But every time you just find more
and more ways to improve your program.