Files
chess/README.md
2025-08-10 14:48:55 -04:00

1 line
741 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The goal of this project is to build a clean, fast chess engine in C that starts from a FEN string and produces fully legal moves, verified via PERFT for correctness and speed. It uses a bitboard architecture with precomputed attack caches (pawns, knights, king; sliders later) and a small, well-structured codebase thats easy to extend. The emphasis is on correctness-first (FEN → board → legal movegen → perft), performance through cache-friendly data and simple hot paths, and portability with minimal dependencies. A lightweight Python test suite (via ctypes) checks known attack patterns and guardrails, and the design leaves room to add sliders, make/unmake, search (alphabeta), and a UCI interface as follow-on milestones.