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 JA | 10.5/24 | -3 | 24 Partii |
Halogen 13.10.0 | 3/24 | -18 | 24 Partii |
Saturn 1.3 JA | 11/20 | +2 | 20 Partii |
Clover 8.2.1 | 2/15 | -11 | 15 Partii |
Tomcat 1.0 JA | 13/14 | +12 | 14 Partii |
Critter 1.6a | 5.5/10 | +1 | 10 Partii |
Arcanum 2.6 | 3/10 | -4 | 10 Partii |
JudaS ++ 1.02 | 2/10 | -6 | 10 Partii |
Uralochka 3.42 dev14 | 2/10 | -6 | 10 Partii |
Obsidian dev-16.14 | 2/10 | -6 | 10 Partii |
PlentyChess 6.0.2 | 2/10 | -6 | 10 Partii |
CorChess 20250702 | 2/10 | -6 | 10 Partii |
Artemis 17.3TR sl | 1.5/10 | -7 | 10 Partii |
Artemis 17.2TR sl | 1/10 | -8 | 10 Partii |
Stockfish 20250702 Ivec | 1/10 | -8 | 10 Partii |
Yuliirma 5.0 | 1/10 | -8 | 10 Partii |
Stockfish 14.1 | 0.5/10 | -9 | 10 Partii |
Kookaburra 3.10 | 0.5/10 | -9 | 10 Partii |
Yuliana 7.0 | 0/10 | -10 | 10 Partii |
Adeon 1.2.1 | 8/8 | +8 | 8 Partii |
Jinx 1.0 JA | 7.5/8 | +7 | 8 Partii |
Comments
Post a Comment