Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Life of a chess program

Author: William H Rogers

Date: 08:28:06 07/11/03

Go up one level in this thread


When I first wrote my chess program it was written in Radio Shack Basic for the
TRS-80 computers and most of the things that you mentioned were not even thought
of as yet.
First thing was to get it to play a legal game of chess with a simple eval.
Second was that because I did not know how to create opening books at that time
and there were to my knowledge not much info available at that time so I created
opening move logic within my eval subroutine. Later I discovered how to
implement books.
Once you incorporate Alpha-Beta subroutine then the PVS is just an improvement
to tha subroutine as is the Killer Move Tree although sometimes they are one and
the same.
Using the version of Basic that my program was written in, I could not make it
work with Winboard, Xboard or any other kind of program and because of that I
was not allowed to play in the last CCT games. They wanted fully automatic
programs.
Once you have done all of the above then you can start thinking about importing
FENS and others as well as thinking about making major changes to you program.
Of course if you are programming in "C" then you can start working on bit boards
and things like that which can make a program much faster.
The one thing to remember is that you want to play legal chess in the first
place, after that with the exceptions of other improvements most of you life
will be in trying to improve the EVALUATION subroutine as it is the HEART of any
chess program.
To try to implement to many things at once can only lead to mass confusion and
create more bugs than what you may want to live with. The most important
principle is to remember the KISS principle and once it is working then add all
the sugar coated extras.
Bill



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.