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

JustBot 0.4.0 - new version chess engine

 

JustBot is my first attempt at creating a UCI chess engine with magic bitboards without any agentic or LLM assisted coding.
Author: Hassan Fakih  Rating Chess Engines Diary CEDR=3218

JustBot 0.4.0 what's new?

Now supports Chess 960! (Shredder FENs only)

Results Against Previous Version
STC:

Elo   | 236.68 +- 9.88 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=32MB
Games | N: 3066 W: 1877 L: 61 D: 1128
Penta | [0, 16, 239, 724, 554]
LTC:

Elo   | 198.75 +- 14.90 (95%)
Conf  | 60.0+0.60s Threads=1 Hash=128MB
Games | N: 1008 W: 530 L: 9 D: 469
Penta | [0, 2, 110, 261, 131]
4T STC:

Elo   | 221.07 +- 16.08 (95%)
Conf  | 8.0+0.08s Threads=4 Hash=128MB
Games | N: 1010 W: 587 L: 19 D: 404
Penta | [1, 2, 86, 260, 156]
4T LTC:

Elo   | 207.28 +- 22.14 (95%)
Conf  | 60.0+0.60s Threads=4 Hash=512MB
Games | N: 520 W: 286 L: 8 D: 226
Penta | [0, 1, 56, 127, 76]
What's Changed
Re-Trained NNUE with Additional Games from Latest Datagen by @HasanFakih21 in #75
Singular Extensions by @HasanFakih21 in #76
Add Excluded Guard by @HasanFakih21 in #77
History Pruning by @HasanFakih21 in #78
First Tune Attempt by @HasanFakih21 in #79
Added More LMR Terms by @HasanFakih21 in #80
Negative Extensions by @HasanFakih21 in #81
Update NMP by @HasanFakih21 in #82
Correction Histories (Pawn and Non-Pawn) by @HasanFakih21 in #83
Check for Timeouts After NMP Search by @HasanFakih21 in #84
Added Razoring by @HasanFakih21 in #85
Update Singular Extension Guards by @HasanFakih21 in #86
Add Score Less Than or Equal to Alpha or Cut-node Guard for TT Cutoffs by @HasanFakih21 in #87
Added Horizontal Mirroring to NNUE by @HasanFakih21 in #88
Restructured Network by @HasanFakih21 in #89
Update Repetition Detection by @HasanFakih21 in #90
Double Extensions by @HasanFakih21 in #91
Re-Trained NNUE with Additional Games by @HasanFakih21 in #92
Added 3 Input Buckets by @HasanFakih21 in #93
Lerp RFP Returned Score by @HasanFakih21 in #94
NNUE Fused Updates by @HasanFakih21 in #95
NNUE Lazy Updates by @HasanFakih21 in #96
Added Node Scaling to Time Management by @HasanFakih21 in #97
Update Bench Command by @HasanFakih21 in #98
Removed Check Extensions by @HasanFakih21 in #99
Added History to LMR by @HasanFakih21 in #100
Finny Tables and Some SIMD Intrinsics by @HasanFakih21 in #101
Added Optimizations to the NNUE Output Function by @HasanFakih21 in #102
Reuse Evaluation in Excluded Search by @HasanFakih21 in #103
Added Support For Go Movetime by @HasanFakih21 in #104
Newly Trained Net with Size 768 HL by @HasanFakih21 in #105
Updated LMP Formula by @HasanFakih21 in #106
Added Support For Chess960 by @HasanFakih21 in #107
Scale Soft Time Bound Based on Number of Moves by @HasanFakih21 in #108
Don't Let Worker Threads Timeout/Only Main Thread Stops Worker Threads by @HasanFakih21 in #109
Direct Check Guard in Qsearch LMP by @HasanFakih21 in #110


Comments