Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Chess engine: Renegade 0.11.0


Author:Krisztian Peocz  
Rating CEDR=2672

Renegade is a chess engine written in C++ using Visual Studio 2019. It values readability and simplicity, and uses the UCI protocol to communicate, making it easy to connect it to chess frontends. Under construction since October 7, 2022 and released publicly on January 15, 2023.  

The project can be compiled using Visual Studio 2019 with C++20 features enabled. The engine makes heavy use of `popcnt` and `lzcnt` instructions, thus only processors from 2013 or so are supported, but the calls to these instructions are wrapped in a custom function, and replacing them with something more compatible is relatively straightforward. Currently only Windows binaries are compiled, but in the future I would like to make them for Linux as well.


You appreciate our work, buy us a coffee!

v.0.11.0:
Improved search
Added aspiration windows
Added static exchange evaluation (and related pruning techniques)
More aggressive late-move reductions
Added mate distance pruning
Check extensions are done at any depth, instead of only at depth 0
Removed non-gaining pruning (razoring + delta pruning)
Small update to null-move pruning formula
Improved speed (roughly 30% nps uplift before other features got added)
Optimized hash calculations (no longer using 13% of the processing time!)
No longer relying on fully calculated internal attack maps
Reduced branching in move generation
Improved evaluation
Rewritten weight structure, using the S(x, y) notation
More nuanced threat calculation
Bonus for pawns supported by other pawns
Pawn phalanx evaluation
Squares attacked by pawns no longer count towards piece mobility
Further tuned existing weights
Move ordering improvements
Captures with a negative SEE moved after quiet moves
Made transposition table entries more compact (16 bytes instead of 24)
Updated tuner
Accommodates the new weight structure
Quality of life improvements
Internal changes
Templated move generation
Added method for determining whether a square is attacked
Generally trying to use more of the modern C++ features
Added functions needed for SEE
Lots of clean ups
Updated time management for repeating time controls
Now it should use more time in the beginning of the game
Hopefully I can stop complaining about this in tournaments
Pretty output (unless uci command is received)
Node counts are incremented on make move (similarly to most engines)
Fixed missing staticEval >= beta condition for null-move pruning
Fixed search aborting if mate found when not using time constraints
Made everything a little less bad
Regression testing: (time control: 10s+0.1)

Score of Renegade 0.11.0 vs Renegade 0.10.0: 2010 - 240 - 550  [0.816] 2800
...      Renegade 0.11.0 playing White: 1144 - 60 - 196  [0.887] 1400
...      Renegade 0.11.0 playing Black: 866 - 180 - 354  [0.745] 1400
...      White vs Black: 1324 - 926 - 550  [0.571] 2800
Elo difference: 258.8 +/- 13.6, LOS: 100.0 %, DrawRatio: 19.6 %

Rating CEDR=2672 Author - Krisztian Peocz

Individual statistics: Renegade 0.10.0 - 124 games (+ 20,= 17,- 87), 23.0 %
Critter 1.6a                  :   4 (+  0,=  0,-  4),  0.0 %
Jinx 1.0                      :   1 (+  1,=  0,-  0), 100.0 %
Admete 1.5.0                  :   1 (+  1,=  0,-  0), 100.0 %
K2 0.99                       :   1 (+  0,=  1,-  0), 50.0 %
Novice 3.1                    :   1 (+  0,=  0,-  1),  0.0 %
Paulchen 332 0.1.1            :   1 (+  0,=  0,-  1),  0.0 %
Amoeba 3.4                    :   1 (+  0,=  0,-  1),  0.0 %
CT800 1.44                    :   1 (+  1,=  0,-  0), 100.0 %
Inanis 1.2.0                  :   1 (+  1,=  0,-  0), 100.0 %
Rapcschess 2022-12-08         :   1 (+  0,=  1,-  0), 50.0 %
Rebel 16.2                    :   2 (+  0,=  0,-  2),  0.0 %
Leorik 2.4                    :   2 (+  0,=  0,-  2),  0.0 %
Arasan 23.5                   :   6 (+  0,=  0,-  6),  0.0 %
Knightx 3.7b                  :   6 (+  0,=  3,-  3), 25.0 %
Mayhem 8.1                    :   6 (+  2,=  1,-  3), 41.7 %
Polaris 1.4.1                 :   6 (+  1,=  2,-  3), 33.3 %
Tenax 0.7.7                   :   6 (+  0,=  0,-  6),  0.0 %
Altair 2.0.0                  :   6 (+  0,=  2,-  4), 16.7 %
BrainLearn 23.1               :   4 (+  0,=  0,-  4),  0.0 %
Jangine 2023-03-31            :   6 (+  6,=  0,-  0), 100.0 %
Midnight 5.0                  :   6 (+  0,=  1,-  5),  8.3 %
MrBob 1.2.0                   :   6 (+  0,=  0,-  6),  0.0 %
Polyfish 20230410             :   4 (+  0,=  0,-  4),  0.0 %
RubiChess 20230410            :   6 (+  0,=  0,-  6),  0.0 %
AI 28.0                       :   4 (+  0,=  0,-  4),  0.0 %
ShashChess 31.1               :   4 (+  0,=  0,-  4),  0.0 %
Zangdar 2.14.06               :   6 (+  1,=  2,-  3), 33.3 %
Svart 3.1                     :   6 (+  1,=  0,-  5), 16.7 %
Willow 2.7                    :   6 (+  1,=  1,-  4), 25.0 %
Akimbo 0.2.0                  :   6 (+  4,=  2,-  0), 83.3 %
Clover 4.0                    :   4 (+  0,=  0,-  4),  0.0 %
Corchess 20230410             :   2 (+  0,=  0,-  2),  0.0 %
Queen 4.05                    :   1 (+  0,=  1,-  0), 50.0 %

github:https://github.com/pkrisz99/Renegade/releases/tag/v0.11.0

Comments