Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess Programmers: Please Share Your Experience!!!

Author: Andrew Williams

Date: 03:47:32 09/05/00

Go up one level in this thread


On September 05, 2000 at 05:28:44, Alex Sockolar wrote:

>I want to develop a chess application, and got a couple of questions for you
>guys.
>
>1. How much is important the design of such application (do we need a design at
>all)?

I didn't do any formal design for my program, other than looking at various
data structures for supporting move generation, evaluation etc. If you're
really keen on making a very fast program, you should do some thinking before
you get started.

>2. When you wrote your first chess program, have you started from a scratch, or
>used another source code as a guidance?

I wrote my first program in 1992 (Turbo Pascal). I started a new program as
a means of learning Java in 1996 (this one actually worked properly). I started
PostModernist using this Java program as a basis in 1997.

>3. According to your experience, how much time does it take for an average
>programmer (say, 3rd year com. science student) to develop a very simple chess
>program with Win32 GUI interface in Visual C++?

I'd treat the program and the interface as two separate things. A good
3rd year student should get a program that plays legally in a week or
two. To start with, why not interface it to winboard, which does everything
you are likely to need? Furthermore, winboard allows access to the internet
chess servers, which are a *lot* of fun.

>4. Can anybody recommend me the good programming chess books?

The only one I had when I started was Levy's book on how to write a chess
program. This was certainly useful, but it lacks detail. Ernst Heinz has
a good book out, "Scalable Search in Computer Chess", but I think it might
be pretty advanced for a beginner. Having said that, I think that is the
*only* chess programming book still in print. I would recommend getting it,
even if you don't need it immediately.

In this day and age, the Internet can be a big help. Have a look at the
Computer Chess Resource Centre link at the top of the CCC message index page.
Try Paul Verhelst's page under Computer Chess Links --> Programming Methods
and Studies. That's a good
starting point.

>5. What is the most important\difficult aspect of chess application?

Computer chess is highly addictive. It's too late for us, but you should
save yourself while you still can.

(Serious answer: Move ordering).

>6. What is the recommended algorithm (full depth search or alpha-beta prunning)?
>

Alpha-beta is tough to understand (but see Paul Verhelst's page). I would
recommend trying to get a simple implementation of that working, before
moving on to (say) Aspiration Searching. I don't want to start an argument,
so I won't go into your choices after you've got aspiration searching working!

>Hope that a lot of people will benefit from your answers (not only me)
>
>Thanks a lot.

Andrew



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.