Development of My Chess Engine

This blog is a product of a rather rash decision in mid 2008 to program my own Chess Game. is dedicated to documenting the development of that Chess Game and the field of Computer Chess in general.

This project will have many goals of which the first one is already complete.  My original intention was to create a chess game that was capable of consistently winning against me.  As of the date of this post I believe I have achieved that goal.  That is not all that exciting since I am not a very good chess player; however it is a milestone that I am happy to have achieved.   

My Chess Game will probably not become one of the top computer chess engines in the world.  I probably will not have that much talent or time to achieve that.  There are many free and open source engines that are so far ahead of me that it is unlikely that I will ever catch up.   The main goal of this project is to learn, create and most importantly have fun.

Chess Bin Engine Page Content

Recently I uploaded the source code to the Chess Bin engine to GitHub. It has been converted to .NET core and new version of .NET that is available on multiple platforms. I may from time to time update this version as new features in .NET core become available.

Blog Content:


Project Goals

Choice of Programming Language

Chess Engine Features

Board Representation and Movement

Chess Piece Representation

Chess Board Square

Chess Board Representation

Chess Piece Moves

Chess Piece Valid Moves

Move Content

Chess Engine

Starting the Chess Engine

Piece Square Table

Chess Board Evaluation

Search for Mate

Move Searching and Alpha Beta

Move Searching and Alpha Beta Part 2

Quiescence Search and Extensions

Completing the Chess Engine

Forsyth–Edwards Notation

Performance Optimization Advice

Quiescence Search and Extensions

Performance Reconstruction Phase Three

Transposition Table and Zobrist Hashing


If you would like to see the working product of this website:

Download Chess Bin Chess