v1.6 Tons of bug releases
I was originally planning to implement SEE in v1.6 but I will postpone that to v1.7 considering how many bugs I found and how much has changed.
Changelog
- Fixed MAJOR tt indexing bug (it was essentially only using 2 slots...) <- Major Headache cause here
- Added draw detection before tt indexing to prevent 3FR draws in negamax
bestmove
is initialized to the first move (usually hash move) to prevent empty moves in ttitermove
is set tobestmove
at root ply to prevent returning no moves due to some wacky interactions with pondering at low time- Added red overlay (underlay?) when the king is in check
- Added time increment option
v1.6
- Now counts number of nodes visited
- UCI prints PV and moves until mate
- Implemented mate depth pruning
- Pondering uses PV to predict opponent's move instead of wasting time recalculating it. This also increases the accuracy of the opponent's move guess as the PV generally has results from a higher depth.
- It now checks for timeover every 2048 nodes instead of creating a new thread for time keeping (performance increase too?)
- It now spends more time thinking overall and uses the most time in the early-middle games
- Increased passed pawn bonus, especially when it's closer to promotion
- Move ordering with tt move (as opposed to using
itermove
)
Performance
v1.6
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥 v1.0
[355 / 27 / 18]
v1.6
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜🟥🟥🟥🟥 v1.5
[251 / 77 / 72]