Title Page
Preface
About this book
About Rustic
Downloads
Prerequisites
1.
Introduction
❱
1.1.
Concept
1.2.
Design
1.3.
Roadmap
2.
Board Representation
❱
2.1.
Introduction
2.2.
Bitboards
2.3.
Piece List
2.4.
Zobrist Hashing
2.5.
Game State
2.6.
Game History
2.7.
Board struct
3.
Board Functionality
❱
3.1.
Introduction
3.2.
Handling FEN-strings
3.3.
Piece movement
3.4.
Detecting the bishop pair
3.5.
Detecting cannot force mate
3.6.
Detecting draws by FIDE rules
4.
The Move Generator
❱
4.1.
Introduction
5.
Search
❱
5.1.
Introduction
5.2.
Move Ordering
❱
5.2.1.
The reason
5.2.2.
How it works
5.2.3.
MVV_LVA
5.2.4.
Killer moves heuristic
5.2.5.
TT-move ordering
6.
Evaluation
❱
6.1.
Understanding evaluation
6.2.
Material counting
6.3.
Piece-Square Tables
6.4.
The evaluation function
6.5.
Tapering the evaluation
7.
Communication
❱
7.1.
Introduction
7.2.
Comparison
7.3.
How it works
7.4.
Design
7.5.
Implementing IComm
7.6.
Implementing commands
8.
Engine
❱
8.1.
Introduction
9.
Progress
❱
9.1.
Playing Strength
9.2.
SPRT testing
9.3.
SPRT results
9.4.
Changelog
10.
Appendix
❱
10.1.
The binary system
10.2.
Bitwise operations
On idiomatic Rust
Building Rustic
FAQ
About me
Further study
Credits
Light
Rust
Coal
Navy
Ayu
Creating the Rustic chess engine
Introduction
This page hasn't been written yet.