20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# 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/](https://www.chessprogramming.org/)
|
|
- **PERFT (definition & methodology):** [https://www.chessprogramming.org/Perft](https://www.chessprogramming.org/Perft)
|
|
- **PERFT results & test positions:** [https://www.chessprogramming.org/Perft_Results](https://www.chessprogramming.org/Perft_Results)
|
|
- **FEN reference:** [https://www.chessprogramming.org/Forsyth-Edwards_Notation](https://www.chessprogramming.org/Forsyth-Edwards_Notation)
|
|
- **Bitboards:** [https://www.chessprogramming.org/Bitboards](https://www.chessprogramming.org/Bitboards) |