Boybawang wrote:Good list Ron!
Can you narrow your list based from the following criteria?
Keep in mind that its been years since I compiled that list, so my memory of the details has become hazy.
Boybawang wrote:
1. C or C++
The best place to get this information is on my Chess Engine List
http://www.computer-chess.org/doku.php? ... ngine_listAny engine with available code will have a comment such as: "C source", "C++ source", "Java source", etc.
Boybawang wrote:2. Simple enough as entry to chess programming but must have at least bitboard and transposition table.
Bitboards are not simple and their use is not easily understood by a beginner. You may be better off starting with a mailbox approach instead. Many of the engines listed have transposition tables. When I started I looked at the code to several engines and, when I found code that looked like my own code, I learned more from that engine than any other.
Boybawang wrote:3. Uses correct programming approach for chess to make it ready for adding more advanced features like multi-threading.
If I remember right, only Viper (in C++) is somewhat simple and has multi-threaded capabilities. This is a non-trivial addition to any chess program, no matter how well-written. Implementing a multi-threaded search often necessitates rewriting some of the code.
Boybawang wrote:4. Fairly commented.
It seems that chess programmers rarely comment their code. Crafty has some block comments and Beowulf as well. I don't remember any others with comments, but I hope I'm wrong about that. The best explanations of chess algorithms are found at the Chess Programming Wiki
http://chessprogramming.wikispaces.com/Boybawang wrote:
thanks for the help
You're welcome! Good luck!
Ron