1. Title Page
  2. Preface
  3. About this book
  4. About Rustic
  5. Downloads
  6. Prerequisites
  7. Introduction
    1. Concept
    2. Design
    3. Roadmap
  8. Board Representation
    1. Introduction
    2. Bitboards
    3. Piece List
    4. Zobrist Hashing
    5. Game State
    6. Game History
    7. Board struct
    8. Initialization
  9. Board Functionality
    1. Introduction
    2. Support Functions
    3. Handling FEN-strings
    4. Moving Pieces
    5. Making and Unmaking moves
    6. Detecting the bishop pair
    7. Detecting cannot force mate
    8. Detecting draws by FIDE rules
  10. The Move Generator
    1. Introduction
  11. Search
    1. Introduction
    2. Move Ordering
      1. The reason
      2. How it works
      3. MVV_LVA
      4. Killer moves heuristic
      5. TT-move ordering
  12. Evaluation
    1. Understanding evaluation
    2. Material counting
    3. Piece-Square Tables
    4. The evaluation function
    5. Tapering the evaluation
  13. Communication
    1. Introduction
    2. Comparison
    3. How it works
    4. Design
    5. Implementing IComm
    6. Implementing commands
  14. Engine
    1. Introduction
  15. Progress
    1. Playing Strength
    2. SPRT testing
    3. SPRT results
    4. Changelog
  16. Appendix
    1. The binary system
    2. Bitwise operations
  17. On idiomatic Rust
  18. Building Rustic
  19. FAQ
  20. About me
  21. Further study
  22. Credits