Blogs

My Chess Engine's First Complete Game

skotz
| 0

So, I'm a programmer. Add that to being a chess player and of course you get someone who dreams of creating his own chess engine. Below is (what I believe to be) my chess engine's first complete game. I have it playing itself at a search depth of only 2, so as you'll notice it doesn't make the best of moves. I also haven't taught it to avoid draws...

By the way, all the annotations came from my engine too. It's basically what the engine was thinking when it made the move. On some moves I added my own commentary.

It's written in C#, which isn't the most efficient language for a chess engine; however, I know it so well that I can focus on the logic and not the syntax. It uses the UCI protocol and understands castling, en-passent capturing, and promoting. Iterative deepening and the alpha-beta minimax algorithm were used in the best move searching, and the evaluation function currently evaluates (at a minimum level) pawn structure, mobility, center control, development, king safety, and of course material.

Just recently I had it play itself again (because I was going to improve it) and it played this terrible game when looking only one move (two half moves) deep. Enjoy, and know that I understand the program needs help--and lots of it.