Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: can anyone help me!!!

Author: Dann Corbit

Date: 12:01:25 10/16/04

Go up one level in this thread


On October 16, 2004 at 07:19:07, noetse dearmas wrote:

>hi, i would like to create my own chess engine, a simple one but i don't know
>how to begin. Can anyone please help me. thanks

First read some relevant papers.  It will save you a couple of years.
The paper "Some Aspects of Chess Programming" from this site:
http://www.republika.pl/nesik/
Is very complete.

This is another very good one for beginners:
http://brick.bitpit.net/~blik/

After you read those papers, your head will be swimming.  So go here:
http://www.chessbrain.net/beowulf/theory.html
And read that discussion.

Then go here:
http://www.seanet.com/~brucemo/topics/topics.htm
And read that discussion.

Then go here:
http://www.gamedev.net/reference/programming/features/chess1/
And read that discussion.

Then go here:
http://members.home.nl/matador/chess840.htm
And read that discussion.

Then go here:
http://www.cis.uab.edu/hyatt/pubs.html
And read that discussion.

Now that you have read those, you will be ready to read those two papers again.
This time, you will understand a lot more.

Now, the next thing to do is to NOT write a chess program.
Start with tic-tac-toe.
Understand how things like alpha-beta work, and what an evaluation function
does, etc.

Then, read some chess programs by other people.  In my opinion, it is a very bad
idea to start with another program and transform it into your own.  It is a very
messy thing to do, and most simple programs are really rather bad examples.
TSCP uses global variables all over the place, and does not use a hash table
(which is fundamentally very important).  And do not try to modify someone
else's complicated program like Crafty or Amy to try to learn how chess programs
work.  Those are very complicated programs and it will take you years even to
understand how all of the parts work together.  There are also legal
entanglements if you take someone else's code and modify it quite a bit and now
want to call it your own program.  I strongly recommend avoiding this road all
together.

Instead, start with the most basic fundamental ideas and get simple working
models of your own.  When you are done, you will be much happier, because you
will understand how each and every piece works, how they fit together, and you
will be able to make changes and corrections with ease.

After your first chess engine is done and debugged, you will probably want to do
a complete rewrite.  That project will be even more fun than the first.

It is a very large achievement to create any working chess program.




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.