Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Programing problem

Author: James Robertson

Date: 00:58:07 10/27/99

Go up one level in this thread


Nicolas,

When I first started writing my chess program, I had never read any books, had
no internet connection, no nothing. I had no programming training, no people to
guide me; basically, all I had was the QBasic interpreter that came with MSDOS
and my own brain. So, my first program searched a tree of exactly W^D.

After I wrote my program (it could search two plies in 3 minutes on my 486, and
'handled' captures by just extending a ply if the last move was a capture), I
found a book by (I think) Monty Newborn. It contained the first computer chess
stuff I ever read, and I remember sitting on my couch working out trees with a
pencil and paper for about three hours trying to figure out why the 'alpha-beta'
algorithm worked. Eventually, it did work, and my program searched 3 plies in
three minutes. :)

A few months later I bought myself a C++ compiler, and learned C++ from scratch.
Another while later my family got an internet connection and a whole new chess
world opened up, one that I have been thrilled with and wouldn't give up for
anything.

The whole point of this is, I took a chess program step by step; I would
encourage you to do the same. Write a search algorithm (maybe not even
recursive; my first wasn't) that just searches W^D trees. If you can do it
without looking at anybody else's code, all the better. Chess programming is
like math; you have to 'do all the homework problems', and you're guaranteed a
good grade. Add the alpha-beta algorithm next. I added it to my QBasic program
before I had seen the source to any other program, so it was a completely
original implementation; while clumsy, it ensured I understood what was
happening completely. It took me days of work and about 50 emails to Tom
Kerrigan to figure out how a quiescence search works. But since I did take the
time to learn how it works, I can debug my code when something goes wrong. :)

Good luck, and keep at it! Aren't you 15? I was 15 when I first started chess
programming. (2 years ago!! Man, time flies.)

James




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.