Skip to content

After watching The Queen's Gambit on Netflix I got interested in chess. I played a bit against computer programs and it made me curious about writing my own chess engine. This repository and a series of small videos I upload to Youtube after each milestone are documenting my progress.

License

Notifications You must be signed in to change notification settings

lithander/MinimalChessEngine

Repository files navigation

MinimalChessEngine

This repository tracks the journey of writing my first chess engine. It's written in C# and contains 3 projects:

  1. a command-line based GUI (MinimalChessBoard)
  2. an UCI chess engine (MinimalChessEngine)
  3. a library implementing chess logic and algorithms used by the other two applications (MinimalChess)

Motivation

My focus is on creating a minimal engine with just enough features and optimizations to become a reasonably strong player. I try to keep the codebase small and human readable.

Hopefully it provides me and other interested layman with an opportunity to learn how a chess engine operates and how critical components like move generation or tree search can be implemented correctly.

Documentation

My development process is also documented by a series of small videos I upload to Youtube after each achieved milestone:

  1. Making of MinimalChessEngine - Episode 1: Hello World
  2. Making of MinimalChessEngine - Episode 2: Let's Play
  3. Making of MinimalChessEngine - Episode 3: Move Generation

About

After watching The Queen's Gambit on Netflix I got interested in chess. I played a bit against computer programs and it made me curious about writing my own chess engine. This repository and a series of small videos I upload to Youtube after each milestone are documenting my progress.

Topics

Resources

License

Stars

Watchers

Forks

Languages