Saturday, July 31, 2010

a new project

I have toyed with the thought of programming a chess engine for some time, and this weekend I finally managed to get started:

My initial set of requirements are:
  • understanding of the following rules:
    • movement of each piece (pawn, bishop, knight, rock, queen, king)
    • pawn promotion
    • check/mate/draw (e.g. stalemate) detection
  • support of the Universal Chess Interface (UCI), so hiyace can be integrated in chess front-ends like WinBoard, XBoard, Fritz, etc.
  • portable, object-oriented design
Further enhancements may include
I plan to release Windows and Linux binaries, with an Android application and possibly the source following later.