Future Work Logo

Questions or Comments?




  • Simontacchi v1.4 released to public. Features UCI support! Simontacchi will now run in the Fritz, Shredder, and many other GUIs! Please let me know if any problems arise with the new UCI functionality.

Simontacchi is an attempt by Mike Maxim (USA) to forge a new Winboard/UCI chess engine to compete with the top commercial and amateur programs currently available. Simontacchi is a very tactically oriented engine, it will not sacrifice material for better position, although it will find deep combinations which will yield material advantage. Simontacchi has been playing on the Internet Chess Club for about 3 months and is currently rated ~2400 blitz.

The entire Simontacchi package is divided into two parts: the engine and the controller. The engine is the actual code that comes up with moves. It implements the search routine and all the features listed below. It is not responsible for things like clock management, pondering, or basic protocol requirements.

Simontacchi is completely open source. The Simontacchi area on SourceForge can be traveled to by clicking on the SourceForge banner on the left pane. Go there to post bugs/feature requests and discuss the engine.

Engine Features:

  • Aspiration Principle Variation Search (an optimized version of the traditional alpha-beta algorithm)
  • Iterative Deepening
  • Rotated Bitboard based move generation and evaluation
  • Transposition Tables
    • Always-Replace Main Table
    • Pawn Evaluation Table
    • Evaluation Cache
  • Null-move forward pruning
  • History and Killer Heuristics
  • Lazy Evaluation
  • Futility Pruning, Razoring
  • Quiescence Search guided by the MVV/LVA heuristic with futility pruning
  • Repetition Detection 
  • Search Extensions (Check, Single Move, Recapture, Passed Pawn push (not yet implemented))
  • Static Evaluation
    • Pawn Structure
    • King Safety
    • King Attack
    • Piece Placement
    • Castling Bonus
    • Queen management in the opening

The control portion of Simontacchi is what implements the protocol communicating with the main engine. There are two controllers, the WinboardController and the UCIController. The WinboardController is the layer that sits between the main engine and the Winboard protocol and is in effect in console mode as well. Below is a list of what this means.

WinboardController Features:

  • Pondering Support (puts engine into infinite thought on ponder move)
  • Clock Management
  • Analysis Mode
  • Book
    • Book Creation - The utility built in to Simontacchi that allows a user to build their own custom book.
    • Book View - Allows a user to view the book moves at the current position.
  • Full implementation of the Winboard protocol.

The UCIController interfaces Simontacchi to UCI compatible GUIs. There are still some aspects of the UCI protocol not yet implemented, but for the most part everything is there.

Special thanks go out to Tim Mann (Winboard), Bob Hyatt (Crafty), Bruce Moreland (Programming Site), Leo Dijksman, Thomas Mayer, SourceForge, and the entire Winboard community!