STC Total: 33204 W: 8519 L: 18498 D: 6187 Elo: 0; pool of 20 engines, average rating 2793, TC=4"+0.1, Little Blitzer testing framework
Aggressive reductions: highly attacking playing style (estimated gain +40)
Code cleaning, optimizations and simplifications (+25)
Syzygy online function updated: when the position is draw, instead of playing a random move now drawing ones are analyzed shortly (+0)
Specific endgame functions for more positions (+10)
Evaluation tuning (+15)
Non functional changes:
Winboard mode dropped
Bigger chessboard and new "eighties" piece design: playing on the terminal is much easier
Eval board dropped
Improvements in thinking output
New positions in bench command
Help command shows also compile time
Current hash sizes are shown with board command
Ini file, to avoid using UCI options and to configure some other parameters
Hash default is now 128 MB
New dynamic scores function; 0.6.3 scores were quite crazy and out of control
Command line actions:
b[ench]: runs the benchamrk
go <seconds> [fen]: analyzes the given position; default is start position
p[erft] <depth> [fen]: runs perft for the given position; default is start position
v[iew] <fen>: shows a given position; default is start position
r[andom] <# of positions>: generates random realistic fen positions
STC Total: 6000 W: 2502 L: 2446 D: 1052 Elo: +121; pool of 20 engines, average rating 2793, TC=4"+0.1, Little Blitzer testing framework
STC Total: 20000 W: 10653 L: 5199 D:4148 Elo: +120; selfplay vs Protej 0.6.3, TC=4"+0.1, Little Blitzer testing framework
LTC Total: 5036 W: 1914 L: 1813 D: 1309 Elo (BRUCE): 2863; pool of 22 engines, TC=1'+1", cutechess-cli testing framework
Protej 0.6.2 (setoption MoveOverhead = 0)
STC Total: 4000 W: 1220 L: 1984 D: 796 Elo: 0; pool of 40 engines, average rating 2651, TC=4"+0.1, switch from cutechess-cli to Banksia GUI testing framework
Various code optimizations. More assembler functions to improve speed. Material imbalance values tuned.
STC Total: 4000 W: 1433 L: 1713 D: 854 Elo: +46; LTC (BRUCE) scaled: +43
Internal Iterative Deepening added.
STC Total: 4000 W: 1506 L: 1677 D: 817 Elo: +9; LTC (BRUCE) scaled: +8
Protej 0.6.3-devLMR => Protej 0.6.3
LMR table revised and tuned.
STC Total: 4000 W: 1618 L: 1529 D: 853 Elo: +23; LTC (BRUCE) scaled: +21
MoveOverhead default is now 0. Debug: if testsuite had no fails, Protej crashed.
LTC Total: 3614 W: 1387 L: 1253 D: 974 Elo (BRUCE): 2784; pool of 229 engines, TC=1'+1"
STC Total: 4000 W: 1096 L: 2120 D: 784 Elo: 0; pool of 40 engines, average rating 2651, TC=4"+0.1
Various code optimizations. MoveOverhead UCI option added, to play extra-fast ultrabullet games avoiding time losses in very slow systems.
STC Total: 4000 W: 1116 L: 2137 D: 747 Elo: 0; LTC (BRUCE) scaled: 0
History pruning and LMR integrated and tuned.
STC Total: 4000 W: 1210 L: 2051 D: 739 Elo: +17; LTC (BRUCE) scaled: +44
Some material imbalances are now recognized; starting point, probably it should be extended to see an improvement.
STC Total: 4000 W: 1194 L: 2045 D: 761 Elo: -1; LTC (BRUCE) scaled: -3
Debug: due to a wrong hash variable, pawn hash wasn't used.
STC Total: 4000 W: 1266 L: 1965 D: 769 Elo: +14; LTC (BRUCE) scaled: +36
SEE values tuned.
STC Total: 4000 W: 1285 L: 1923 D: 792 Elo: +5; LTC (BRUCE) scaled: +13
Penalty for a bishop of the same color as its side's blocked pawns; despite the correct idea the code has to be improved.
STC Total: 4000 W: 1233 L: 1968 D: 799 Elo: -9; LTC (BRUCE) scaled: -23
Protej 0.6.2-devSNG => Protej 0.6.2
Single reply is now searched for a very limited time; there's a positive impact on short time control games.
STC Total: 4000 W: 1285 L: 1908 D: 807 Elo: +10; LTC (BRUCE) scaled: +26
If search finds a mate in 2 moves then it stops immediately. Online Syzygy tables probed at root position; relevant UCI options added. Debug: trying to play a move when no moves are possible caused a crash; UCI commands are now case insensitive.
LTC Total: 10537 W: 4063 L: 3654 D: 2820 Elo (BRUCE): 2711; pool of 238 engines, TC=1'+1"
|0.6.1-ll||2022.01.11||Low latency version: input poll time reviewed; now ultrabullet games can be played (tested at 1"+0.1 with 1 time loss in 1,000 games). Go nodes not limited to 1 million multiples anymore, thanks to an idea from Jay Honnold.||2618|
|0.6.1||2021.12.25||Passed pawns evaluation. LMR tuned. Material evaluation refined. More optimizations. Console mode: added single piece scores board to eval command. Debug: setboard or position fen with an empty string caused a crash.|
|0.6.0||2021.11.25||Massive line by line code cleaning and optimization; no more crashes or stalls. Time control highly improved, no more time losses. Move generator improved with magic bitboards for sliders; perft is now very fast. Search improved, better history management, thinking output highly improved. Better evaluation. Console mode: adjusted codepage to work in more systems; better graphics, big board and figurines always enabled; new commands (bench, eval, kiwi, unmake) and integration with UCI commands; perft suite and test suite now run in an automated way. UCI mode: added go nodes, removed ponder management, go infinite may be invoked with just go. WinBoard mode: added memory, undo and ? (move now) commands.||2550|
|0.5.9||2021.08.05||First 64 bit version. Search slightly tuned and historic crash bug fixed. Material and mobility evaluation revised. The book has been temporarily removed.||2383|
|0.5.8c||2014.06.30||Bugs in evaluation and in quiescence search found and fixed. Hash size is now adjustable from 16 to 512 MB, default 256. Statistical piece/square move table removed. Wrong "mate in" value was displayed in XBoard mode. Tuned most parameters. Stop (move now) command has been implemented.||2275|
|0.5.8c||2014.06.12||Bugs fixed in version 0.5.8.c released on 2014.06.30: some overflows cause crashes.|
|0.5.8b||2014.06.06||Bug fixed in version 0.5.8c: EP flag wrongly updated in making/unmaking null moves, causing bad play in ignoring opponents' EP recaptures.|
|0.5.8a||2014.06.02||Bug fixed in version 0.5.8b: UCI mode isn't working in some GUIs.|
|0.5.8||2014.06.01||Bugs fixed in version 0.5.8a: book is disabled and hash used is wrongly displayed.|
|0.5.7||2010.01.18||Added UCI mode. Hash size is now adjustable from 1 to 256 MB, default 128. Emergency book removed. For debugging and tuning purposes, evaluation suite command added. Move order improved, also using a statistical piece/square move table.||2057|
|0.5.6a||2007.02.20||Hash 64 MB fixed. Eval fixed. This version works only when the book is available.||1952|
|0.5.5cct||2007.02.17||New deep eval. New book format, 4 times more compact. This version works only when the book is available.||1775|
|0.5.5||2007.02.13||Small improvements and optimizations.||1848|
|0.5.4a||2007.02.05||Many code optimizations. Time management: now the engine tries to optimize the allotted time for the whole game. Quiescence search now ignores losing captures, thanks to a fast SEE implementation. Move generator has been highly optimized, with distinct check evasions, captures/queen promotions and normal moves generation; fast Perft and Divide commands added. Piece-square evaluation improved. Aspiration search, zero window and basic search extensions and reductions. A compact opening book is now included (2.6 MB zipped); embedded emergency opening book, automatically selected if no book is found. Syntax and legality check for Setboard command. SAN moves representation with better PV display. SAN input accepted and checked. Detailed search statistics. Console mode with color display and many debugging commands. Testsuite command with detailed results. Engine logo has been slightly changed.||1739|
|0.5.4||2007.02.03||Bugs fixed in version 0.5.4a: on some GUIs, the engine fails to play as Black; WinBoard I/O management should be completely rewritten. WinBoard crushes if the book isn't found. PV move numbers displayed are wrong. A forced move isn't played immediately. Castling is displayed with the wrong symbol (0-0 instead of O-O), with Arena GUI not recognizing the move; reported by Tony Mokonen, Carlos Pagador and Hans Eriksson. Black's kingside castling wrongly alters the vertical rotated bitboard, causing mistakes in generation of moves where a1 is the destination square; discovered by myself after thousands of tests. |
|0.5.3||2006.06.14||7-ply alpha-beta search and null moves (R=3).||1242|
|0.5.2||2006.06.13||Added 5-ply alpha-beta full search.||1221|
|0.5.1b||2006.06.11||Added a 2-ply full search to test piece-square table and makemove/unmakemove routines.||1035|
|0.5.1||2006.06.11||Bug fixed in version 0.5.1b: unmakemove in one game out of 200 crashes.|
|0.5.0||2006.06.10||The engine has been completely rewritten, in Delphi and ASM, and now is based on rotated bitboards. This first release just plays a random move (captures and castling first) to test movegen, makemove and WinBoard communication routines.||N/A|
|0.4.4||2004.07.23||3-ply alphabeta search plus 3-ply quiescent search.||1228|
|0.4.3||2004.07.19||Replaced 3-ply minimax search with 4-ply alphabeta search.||N/A|
|0.4.2||2004.07.13||Added piece-square evaluation.||1169|
|0.4.1||2004.07.11||Added 3-ply minimax search, with material only evaluation.||1073|
|0.3.2||2004.07.05||Added an opening book, with about 3 millions positions. Size: 23 MB, disk space needed: 130 MB. Without the book, this version is identical to 0.2.2. The book is no longer available.||826|
|0.3.1||2004.07.05||Bugs fixed in version 0.3.2: always the best move is played from the book; thinking isn't displayed in WinBoard.|
|0.2.2||2004.07.03||Sorts the legal moves and plays a gaussian-random one. Released to test the move ordering.||839|
|0.2.1||2004.07.02||Bugs fixed in version 0.2.2: taking a Rook on its original square doesn't clear the castle-allowed flag; the WinBoard command "computer" isn't recognized.|
|0.1.1||2004.06.30||Plays a random move. Released to test the move generator. Engine written in Free Pascal.||710|
|* BRUCE bullet ratings for Protej 0.6.2 and higher as of 2023-01-29, BRUCE bullet ratings 2021 for Protej 0.5.4a and higher as of 2022.06.10; old (2010-2014) private 1'+1" tournaments Elo estimates up to Protej 0.5.3|