Monarch is my chess engine. It is a standard chess engine in the sense that it uses well know algorithms to search for the best moves. The long-term aim is to produce an engine that plays interesting and absurdly aggressive chess.

All of Monarch’s code is written in ‘C’ and is 100% original – it’s not based on any other program. The basic design elements consist of:

  • Board is internally represented as an array (version 1.0 used bitboards and a pre-generated move table)
  • Piece square tables for the evaluation function
  • PVS search
  • Quiescent search with checks searched at the first ply (occasionally at deeper plies)
  • Hash tables with a depth replacement and always replace scheme
  • Move ordering based on hash table, Static Exchange Evaluation, killers and history statistics
  • Null move (R=3)
  • Enhanced Transposition Cutoff (ETC)
  • Internal Iterative Deepening (IID)

Use this link to download Monarch Chess 1.7

Note: you will need to download a graphical chess interface – Arena is free but I use either Fritz or Shredder.