Game features

  • Play the against computer opponent.
  • 16 preset difficultly levels, or specify custom settings using combinations of Move Time, Maximum Search Depth, and Pondering.
  • Graphical chess board.
  • Helpful high-lighting of legal chess moves, when clicking on a piece.
  • Real-time chess clocks.
  • Move history displayed.
  • Undo/Redo moves.
  • Load/Save chess games during play.
  • Replay your saved games.
  • Paste FEN positions from the clipboard.
  • See real-time computer thinking.
  • See post-analysis tree of all moves considered by computer.
  • Stalemate and three-move-repetition detection.
  • Flip board to play from black or white’s perspective.

Chess engine features

  • WinBoard compatible.
  • Alpha-Beta search with Pricipal-variation (PVS).
  • Quiescience Search.
  • Iterative Deepening.
  • Hashtable (transition table) using Zobrist Keys. (Separate King-Pawn & In-Check hashtables).
  • Adaptive Null-Nove Forward Pruning.
  • 0x88 board representation.
  • Move ordering using Hash table, MVV/LVA, SEE, 2-slot Killer-Move, History Heuristic.
  • Search Extensions (Check Evasion, Single response, Pawn push to 7th rank, Re-capture of same-value piece).
  • Quiescence Search (Re-Capture, Pawn-promotion, Enprise piece, pieces attacked by pieces of lower value).
  • Pondering (thinking during opponent’s time).
  • “n moves in x minutes” Move time-allocation algorithm.
  • Opening book containing over 1300 varied opening positions.

Programming features

A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.