Creating a Chess Engine using Wikis and Blogs




Executive description

This blog will be a documentation of the creation of a chess engine created on a GitHub repository over a five week period. The resources needed to complete this project will be gathered from an exploration of Wikis and Blogs.


Large advancements in the creation of Chess AI have come from the blog and wiki community. Each week I will create part of a Chess Engine and discuss the relevant Wiki or Blog contributions. The narrative following the Blog and Wiki community will shadow the progress made in the Chess Engine. The completion of the project will provide a working Chess Engine and history of the respective Blog and Wiki contributions.

The blog will look at the early pre-blog and wiki contributions to engine development and concept starting with "The Turk" hoax through Alan Turing and his contemporaries. From here we will begin to examine early blog and wiki contributions to the theory and the more technical aspects as outlined in the weekly reports section below. The information gathered for these technological and historical ruminations will be gathered from chess wikis and blogs insofar as much as that are possible. Several excellent sources are available including a very well developed and maintained chess programming wiki.

The reader may follow along with the advancement of the chess engine in its GitHub repository. There will be a readme and project notes file kept up to date with the latest programming progress. A final working version of the chess engine will not be uploaded to the site until the project completion.

During this process, I hope to expand my knowledge of how wikis and blogs can shape intellectual fields. I hope to demonstrate that technical projects can be completed by accessing information found on blogs and wikis. And lastly, I expect to learn quite a bit myself about Computer Programming, and the culture of blogs and wikis.

Blog: Programming Information and Open-source Code: ekvale/ Email:

Weekly Reports

Week 1:
Getting a Graphic

A comprehensive look at the history of Chess programming and early attempts at an engine. The second post will be about GUI "Graphic User Interface" and how the program will communicate with the GUI. Both posts contain a link to the relevant wikis and blog posts.

Week 2:
Rules and Regulations

Implementation of the rules of chess into the program. How to teach a computer the rules? More links and discussion about the history and early attempts at rules and regulations.

Programming: Rules and Regulations
Programming the rules, making the program talk to the GUI

Week 3:
Search and Destroy

Discussing searches and evaluations. Beginning Search Tree, Path-Dependency, Move List, Roots, and Nodes.

First attempts at move evaluations, basic play.

Week 4:
Continuing the Search

Min-Max Tree Depth, Dealing with Transpositions and Repetitions, Further Branches... How far can we go?

Week 5:
Putting it all Together
Buttons, Piece Moving, Adding Removing Pieces, Putting all the Little things Together.

Week 6:
Giving Credit
Wrap up and Credit to StockFish, ChessProgramming Wiki, Blog and other resources I find along the way.

Showcasing some working games with annotations and thoughts.

Contract for Grade

I will be contracting for the full 250 points. To earn the grade I will meet the weekly milestones I have outlined in the narrative section. Progress reports will be updated in the weekly reports.
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki