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.