18

Basically I have seen that people write a lot of chess algorithms, and ask questions in this forum, which I fumble to answer appropriately. I see the code, but unable to make out whether it is correct or not?

I am myself a software professional, but I am unfamiliar with chess algorithms, or coding-related stuff. Could you please help me to suggest where I can learn these things, or I will get the explanations ?

PhishMaster
  • 32,477
  • 4
  • 105
  • 177
Seth Projnabrata
  • 2,003
  • 8
  • 13

3 Answers3

11

How you would approach the problem:

  • Check out chessprogramming.wikispaces.com. This'll be your reference site.
  • Create an account at talkchess.com. All the best engine developers are there. If there's an engine question that you can't find an answer there, you won't find it anywhere else.
  • Check out the TSCP engine source code. TSCP is a simpler but working implementation chess engine. Easier to read than Stockfish.
  • Do something. Try to write a chess board generator. Check the reference sites above. Study how TSCP does it.
  • Compare your PERF results with https://chessprogramming.wikispaces.com/Perft
  • Write a simple position evaluation with materials only. Copy the PST table from TSCP or the chessprogramming site.
  • Write a simple nega-max and alpha-beta search.
  • Read about UCI protocol
  • Add transposition table
  • Add simple null-move pruning
SmallChess
  • 22,476
  • 2
  • 45
  • 82
  • TSCP is where I started, I would also add that there is a nice site for writting a progam in 99 steps here: http://aghaznawi.comuf.com/computer%20chess/winglet/ – nak3c Apr 06 '17 at 19:07
0

If you want to check a very simple chess engine written in C (even simpler than TCSP) and beginners oriented you can take a look at Secondchess:

https://github.com/emdio/secondchess

emdio
  • 2,094
  • 13
  • 22
0

Here are some of my favorite references:

  • Bruce Moreland's Site - Clear descriptions of basic chess programming ideas. It doesn't get into the nitty-gritty, but it's a great reference for understanding the high-level ideas.

  • ICE Chess Blog - Someone documenting his journey to creating an engine from scratch. It's good for details if you can find the blog post you're looking for.

  • Chess Programming Wiki - Basically an encyclopedia of chess programming. IMO the explanations aren't suitable for beginners, but it covers basically everything under the sun.

  • Chess Algorithms - A book on chess algorithms written for beginners. DISCLAIMER: I am the author. I hope this does not break any rules regarding self-promotion, especially given that 1. this exactly answers the question 2. it is available for free and 3. I have given my other favorite references.

Noah Caplinger
  • 628
  • 3
  • 10