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



Deep Becky 1.1 - new version chess engine


Deep Becky - UCI chess engine
Author: Diogo de Oliveira Almeida

Deep Becky was born from a simple question: "Can AI create a functional UCI chess engine from scratch?"
Development began around July 2025 using conversations with ChatGPT to create the C++ code. The AI wrote 100% of the code while I provided guidance, testing, feedback, and strategic decisions about next steps.
The path was quite challenging - copying code from chat conversations to Notepad, attempting to compile, facing countless compilation errors, and when it finally compiled, dealing with recognition issues in Fritz. After many attempts and corrections, going through engines that weren't recognized, didn't make moves, or made illegal moves, I finally achieved functional code that respects all chess rules.

Deep Becky 1.1 what's new?

Deep Becky 1.1 is an upgrade over version 1.0 focused on practical search quality and stronger draw handling.

Highlights

  • Robust draw handling in search:
    • threefold repetition
    • 50-move rule
    • insufficient material
  • Repetition-cycle detection (hasGameCycle) and contempt (+/-20 cp) to avoid unnecessary draws when better.
  • New staged move ordering with MovePicker:
    • TT move
    • good captures (SEE >= 0)
    • killers
    • quiets by history
    • bad captures
  • Added SEE (Static Exchange Evaluation) and integrated it into move ordering and quiescence filtering.
  • Improved transposition table behavior with generation-aware replacement (TTGeneration) and safer probing near 50-move territory.
  • Internal speed-oriented refactor:
    • compact packed move format (squares + flags)
    • fixed-size move buffers (MAX_MOVES) in hot paths
    • fixed undo stack (undoStack)
  • Better robustness and interoperability:
    • setFEN() now validates and returns bool
    • UCI commands parsed case-insensitively
    • mate scores reported as score mate N
    • legal fallback move if no valid TT best move is available at the end of search
  • Makefile target name updated to deepbecky-v1.1-windows-x64.exe.

Result

Version 1.1 improves practical game behavior, especially in drawish positions, by combining stronger draw detection, anti-draw bias when appropriate, and better move ordering/search stability.



Comments