Update readme with proper formatting
All checks were successful
Python tests (make) / test (push) Successful in 10s
Python tests (make) / test (pull_request) Successful in 10s

This commit is contained in:
2025-08-15 12:17:13 -04:00
parent b1a39507c1
commit 5b15417e25

View File

@@ -1 +1,20 @@
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 approach (FEN → board → legal movegen → perft). Later, we will incorporate different algorithms and methods of evaluating chess positions to enable an AI player.
# Chess Engine in C — Project Goal
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.
## Approach
- **Correctness-first engine:** `FEN → board → legal movegen → PERFT`
## Future Work
- Incorporate algorithms and evaluation methods for chess positions to enable an **AI player**
- Build an API to facilitate chess games with the AI player over the web.
- Starting with a commandline client
- Later building a web based client
## Chess Engine Programming & Information
- **Chess Programming Wiki (CPW):** <https://www.chessprogramming.org/>
- **PERFT (definition & methodology):** <https://www.chessprogramming.org/Perft>
- **PERFT Results & test positions:** <https://www.chessprogramming.org/Perft_Results>
- **FEN reference:** <https://www.chessprogramming.org/Forsyth-Edwards_Notation>
- **Bitboards** <https://www.chessprogramming.org/Bitboards>