Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Designing Chess Programs

Author: Sven Reichard

Date: 09:42:16 06/24/02

Go up one level in this thread


The short answer: I just sit down and code.

The long answer: Many Chess programs use standard algorithms and data structures
that are well known and published. So my "design phase" consisted of reading
lots of papers and a few books, and a couple of failed attempts. Then, after
reading a bit on OO programming, I wrote a prototype in SmallTalk; basically
just move generation, material evaluation, and minimax search. It worked, at a
speed of about 300 nodes per second :) Porting it to C++ gave a speed-up of
about 30.
I try to keep things orthogonal, so a change in one place ideally doesn't affect
any other place. Then the usual work cycle looks as follows: I'm unhappy with
something, and I think how I can change it. Usually it can be changed without
problems. If something else has to be changed first, I change it first, making
sure that it still does what it's supposed to do. In the end, I check that the
changes really improve the program, otherwise I discard them.
In this way the design evolves in ways that I never could have predicted at the
drawing board.

Sven.



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.