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.