It's been a while since BBC chess engine development has started (since Aug 22, 2020 it's almost 2 month ago!) and today I'm happy to introduce the
FINAL ULTIMATE RELEASE of BBC chess engine!
For those of you who is not aware the idea behind creating this engine was following: create a relatively strong chess engine involving modern search tecniques that would be stronger than TSCP and VICE and would be implemented THE SIMPLEST WAY EVER POSSIBLE so EVEN NOOB LIKE ME would be able to understand HOW MODERN CHESS ENGINES WORK and replicate the working version on his own. Now let's have a quick look of what was done within these last 2 months.
SUMMARY:
1. 95 video YouTube series on how to create a bitboard chess engine (from blank file to embedding Stockfish NNUE!)
2. 12 video Youtube series on how to create a website to play versus UCI chess engine ONLINE!
3. 8 video Youtube series on how to embed Stockfish NNUE to whatever chess engine (using NNUE probe library by Daniel Shawul)
4. BONUS VIDEO on how to embed Stockfish NNUE to legendary VICE chess engine by Richard Albert aka Bluefever Software
BBC 1.4 + Stockfish NNUE FINAL RELEASE:
https://github.com/maksimKorzh/bbc/releases/tag/1.4
SOURCE CODE:
https://github.com/maksimKorzh/bbc
FEATURES:
- own online GUI
- bitboard board representation
- pre-calculated attack tables
- magic bitboards for sliding pieces
- encoding moves as integers
- copy/make approach for making moves
- negamax search with alpha beta pruning
- PV/killer/history move ordering
- iterative deepening
- PVS (Principle Variation Search)
- LMR (Late Move Reduction)
- NMP (Null Move Pruning)
- razoring
- evaluation pruning / static null move pruning
- Transposition table (up to 128MB)
- PURE Stockfish NNUE evaluation + 50 move rule penalty
- UCI protocol
This project would never be completed
without the help of Talk Chess forum
community members who has been helping me
during the development process significantly
I would like to thank to:
- HaraldLuessen & Pedro Castro Elgarresta for neverending hints and technical support
- Sven Schüle for explaining how mating scores works in TT (in great details!)
- Jay Warendorff for testing development versions of BBC
- Marcel Vanthoor for teaching me linear algebra and general inspirations
- Ronald Friederich for providing PeSTO evaluation tables and sharing his ideas
- Gabor Szots and Silvian R. from CCRL for testing & rating BBC
- Chris Rea for testing and fixing bugs
- Brendan J. Norman for creating logo for BBC
- Daniel Shawul for providing NNUE probe library
motivating me to keep the development!
STRENGTH & TESTING:
According to latest tests by Silvian R. BBC 1.4 + Stockfish NNUE should be around 2750 Elo
http://talkchess.com/forum3/viewtopic.php?f=6&t=75536
Without NNUE and with handcrafted eval that I've dropped completely the biggest CCRL rating was 2096
Which means that Stockfish NNUE itself gave 600+ Elo points...
CCRL TESTING REQUEST:
Not for myself but for my YouTube subscribers please rate the FINAL VERSION