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.