Rotor chess program

Author: Jan Brouwer

Rotor a command-line chess engine which implements the UCI protocol so it can be used with a separate chess graphical user interface program.
It is written in C++.


Rotor implements the following:
  • PVS search
  • 12x16 Mail-box move generator
  • Attack information of all squares is incrementally updated in every node
  • Quiescence search with check moves in the first ply, capture moves and check evasion moves in all quiescence plies
  • Killer and history move ordering
  • Transposition hash table
  • Null-move pruning
  • Late move reduction
  • Futility pruning
  • Check extension

 0.8 Modified transposition table
 Tuned mobility evaluation
 Changed null move reduction factor R to 3
 0.7a Castling bug corrected
 Port to OS X
 Continued refactoring of code
 Tuned pawn evaluation weights using CLOP
 0.6a Port to Android
 0.6 Major refactoring of code, several classes introduced
 Mate score handling in transposition table corrected
 "moves ..." after UCI command "position fen ..." now handled
 Futility pruning added
 Attack tables modified
 0.5 Command "go nodes" added, checked in all non-quiescence search nodes
 Evaluation parameters tuned
 Drawish endgame material imbalances added
 0.4 Mobility evaluation added
 King attack batteries added
 Quiescence search more selective
 Null-move reduction made adaptive
 0.3 Improved pawn evaluation
 Improved king safety evaluation
 Modified time management
 Late move reduction added
 0.2 Passed pawn evaluation added
 Transposition table size made configurable
 Tuning of evaluation weights
 0.1a Increased PV administration pool size
 0.1 First released version

Downloads for Windows 32 bit (use in combination with a GUI such as Arena)
Rotor 0.8
Downloads for OS X (use in combination with a GUI such as Stockfish)

Downloads for Android (use in combination with a GUI such as Chess for Android)
Rotor 0.7a