Skip to content

Facón 1.0 - Óxido

Choose a tag to compare

@CMCanavessi CMCanavessi released this 05 Mar 12:02
· 9 commits to main since this release

Changelog

All notable changes to Facón will be documented here.


[1.0] "Óxido" — 2026-03-05

Initial public release.

Engine

  • Bitboard board representation with redundant piece array for O(1) square queries
  • Magic bitboards for sliding piece attack generation (rooks, bishops, queens)
  • Zobrist hashing with incremental updates on make/unmake
  • Full make/unmake move stack supporting any game length
  • Draw detection: threefold repetition and 50-move rule

Move Generation

  • Complete pseudo-legal move generation for all piece types
  • Separate capture-only generator for quiescence search
  • Handles all special moves: castling, en passant, promotions (all four pieces)

Search

  • Negamax alpha-beta with iterative deepening
  • Quiescence search at leaf nodes
  • Transposition table (Zobrist hash, 16 MB default, configurable via UCI)
  • Move ordering: TT move first, then MVV-LVA for captures, then quiet moves
  • Time management with Fischer clock support and movetime override

Evaluation

  • Material count (P=100, N=320, B=330, R=500, Q=900)
  • Piece-square tables for all piece types
  • King safety interpolated between middlegame and endgame tables based on remaining material

UCI

  • Full UCI protocol support
  • Supported commands: uci, isready, ucinewgame, position, go, stop, setoption, quit
  • Supported options: Hash (transposition table size in MB)
  • Debug command: d (display current board)

Build

  • CMake build system
  • Linux native build (GCC/Clang, C++17)
  • Windows cross-compilation via MinGW-w64
  • Statically linked Windows binary (no DLL dependencies)