June 16, 2025
I actually might just be the goat, this is the largest green wave we've seen in a while
- Use optimized move picking in qsearch instead of std::stable_sort
(which is slow) (4.5 Elo)
- Optimize capture generation for qsearch (6 Elo)
- Optimize NNUE inference with Finny-like tables (15 Elo)
- Only store upper 32 bits of hash (5.7 Elo)
- Fail-firm beta adjustment when failing high (16.6 Elo)
- Simplify Finny NNUE inference (1 Elo)
- Modify time allocation (8.3 Elo)
Try a completely new pruning method (cut net) that gained +15 Elo (WTF!!!!!)
Might PR this idea into Stockfish and see if it can also gain from this
Continuing on with general QoL fixes in PZChessBot since the search is pretty much complete :)
- Add MultiPV support
- Test 3-PV vs 1-PV @ fixed depth=10 (+57 Elo)
ValAmi - have you ever wanted someone to roast you while you play Valorant? No? Well, I don't care. ValAmi is an AI that will watch you play Valorant and provide you with "constructive" feedback! You don't need to worry about Valorant Anti-Cheat (Vanguard) catching onto this - it's (basically) just a screen recording software, so it will be fine with it.
Added pretty console output! It looks really great IMO
Write a few more blogs on other chess engine content and philosophy content
position
command (+65 Elo!!!!!)score > alpha
condition is metnone of these passed :(
Deploy the site onto Cloudflare pages (for now)
Also bought a proper domain, currently waiting for DNS records to propagate before the page is moved onto the domain
Add a few more pages, most notably an about me page
Write more fun extra blogs!
Continuing rewrite:
- Implemented check extensions (50 ELO)
- Implemented proper time management (30 ELO)
Testing:
- Futility Pruning
- QSearch Futility Pruning
- Capture History Heuristic
Write blogs on:
- Aspiration windows
- PV Search
- RFP & NMP
- SEE
- FP
- Time management
- Extensions
To answer @nosrep, I'm rewriting the search because I wrote the bulk of the foundation for the search back when I didn't really know much about chess engines. As a result, my search code is, honestly, extremely messy and difficult to deal with. So, I'm trying to clean it up (along with fixing a few bugs and adding some small microoptimizations)! Also, when I wrote the base search, I didn't know how to properly test code either, so I just made changes and hoped they made the engine stronger. Now, by testing all my changes, I can be sure that my engine is actually stronger, and also I can document my progress and write blog posts on it!
Personal site for blogs and possibly hosting other random stuff
Start working on self-gen data for self-training network
Tried a variety of small improvements that didn't work :(
nnue_eval()
(~7 ELO)Finalized some stuff for the v2.0 release! Not too sure if I will continue work (since most of it will be with NNUE stuff and that's really :( and also because engine dev is getting really dry)
IMPORTANT: Reload the page if you get any error like "engine did not load" World top 100 chess engine, shooting for higher! Approximate CCRL rating: 3450 Also check out the lichess account: https://lichess.org/@/PZChessBot PZChessBot is UCI compliant and also human compliant! When downloading binaries, run `help` to get a list of commands. This is a project I started a long time ago, but only recently picked back up. Starting from scratch, it quickly reached 2000 Elo in under a month. Then, I trained a neural network to do the positional evaluations to raise it to 3000 Elo. From then on, small tweaks and re-trains of the neural network have gradually piled up, placing it at a current rating of approximately 3400 Elo.
This was widely regarded as a great move by everyone.