Author: Dann Corbit
Date: 12:59:21 10/16/04
Go up one level in this thread
On October 16, 2004 at 15:16:35, F. Huber wrote: >On October 16, 2004 at 15:01:25, Dann Corbit wrote: > >>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. > > >Wow, I´m sure he is totally frustrated now! :-( If you start to climb K2 in your winter shorts without a backpack, you will find some dissapointment. It is important to understand that the mountain is a serious opponent. Reading those documents will take at least one week, if you do it properly. It will save you three years on your engine, at least. Will you trade 3 years for a week? >BTW, you forgot to mention that he must not be older than about 30 years - >otherwise he won´t live to see his engine working ... ;-) In one year, any competent programmer can get a working engine. You might get something crude running in one week if you are surprisingly fast, but it will be a piece of crap. If you are really good, your first engine could start as high as Leo's second division. It will take several years to write a world-beater. The effort spent on that engine will be many tens of thousands of dollars of programmer time. So you had better want to do it pretty badly.
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.