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



Oxide 2.0.0 - new version chess engine


Oxide is a chess Engine written in Rust, UCI compliant, focused on legibility whilst mantaining efficiency.
Author: Miguel Ángel De la Vega Rodríguez

Oxide 2.0.0 what's new?:

This release includes PV display, various search and evaluation improvements, and several bug fixes. Unlike previous versions, which were the result of intense daily development (programming + reading + testing), this will likely be the last release for a while. I plan to spend some time on other projects (maybe even a Transformer + MCTS engine).

Improvements
Fix repetition detection, which was not detecting due to a missing self.
Upload full PV display.
Visibility refactors + remove unnecessary conditionals.
Standarize perft tests for single threaded output as well as len for each move not each level.
Improve History table (Gravity formula + refactor [decay removed])
Upload Capture History Table
Fix Aspiration Window decrement in depth which was causing engine stalls in rare occasions.
General parameters tuning via weather factory.
Refactor NNUE update_multi() for AVX2 usage.
Fix perft test which contained a typo.

Tried but not included (yet)
Tried correction history, continuation history, singular extensions, SEE pruning, Extended futility pruning and late move pruning.
All these techniques were tried, some did not work very well, some were probably bad implemented and this along with the net are left for future improvement.
For the net I want to try something like (768x8 -> 2048)x2 -> 1 or even multi layers.
Also I have in mind adding support for Chess960 ~ FRC.

Acknowledgements
As always, special thanks to the Engine Programming Discord for their constant feedback, to all the testers for their valuable work, to wiki writers, which have been really helpful for the gravity formula, to jw1912, for the bullet trainer, documentation and examples, and to all open-source engine authors, whose work helps fill in the gaps when understanding gets tricky.
Also, a big thanks to edu, who from the very beginning has guided me through this beautiful world and helped me find the right resources. (I'm also looking forward to seeing his engine with NNUE :))

Engine tests (author):

STC ( V2.0.0 vs V1.4.0) (10 + 0.1)
Elo: 71.21 +/- 13.10, nElo: 148.46 +/- 26.55
LOS: 100.00 %, DrawRatio: 55.32 %, PairsRatio: 8.19
Games: 658, Wins: 161, Losses: 28, Draws: 469, Points: 395.5 (60.11 %)
Ptnml(0-2): [0, 16, 182, 113, 18], WL/DD Ratio: 0.07
LLR: 2.95 (100.3%) (-2.94, 2.94) [0.00, 5.00]

LTC ( V2.0.0 vs V1.4.0) (60 + 1)
Elo: 70 +/- 10
LOS: 100.00 %, DrawRatio: 76.87 %
Games: 666, Wins: 143, Losses: 11, Draws: 512
LLR: 2.96 (100.5%) (-2.94, 2.94) [0.00, 5.00]

Oxide 1.4.0 vs other engines:

Zahak 10.0 JA10.5/24-324 Partii
Halogen 13.10.03/24-1824 Partii
Saturn 1.3 JA11/20+220 Partii
Clover 8.2.12/15-1115 Partii
Tomcat 1.0 JA13/14+1214 Partii
Critter 1.6a5.5/10+110 Partii
Arcanum 2.63/10-410 Partii
JudaS ++ 1.022/10-610 Partii
Uralochka 3.42 dev142/10-610 Partii
Obsidian dev-16.142/10-610 Partii
PlentyChess 6.0.22/10-610 Partii
CorChess 202507022/10-610 Partii
Artemis 17.3TR sl1.5/10-710 Partii
Artemis 17.2TR sl1/10-810 Partii
Stockfish 20250702 Ivec1/10-810 Partii
Yuliirma 5.01/10-810 Partii
Stockfish 14.10.5/10-910 Partii
Kookaburra 3.100.5/10-910 Partii
Yuliana 7.00/10-1010 Partii
Adeon 1.2.18/8+88 Partii
Jinx 1.0 JA7.5/8+78 Partii


Comments