Deep Becky - UCI chess engine
Author: Diogo de Oliveira Almeida
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)
- compact packed move format (
- Better robustness and interoperability:
setFEN()now validates and returnsbool- 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
Post a Comment