Light Blue
First attempt at a UCI-Compatible Chess Engine Built in Golang
Current Version Upgrades
Basic Requirements
- DFS
- Alpha-Beta Pruning
- Time Management
- UCI Protocol
S-Tier Upgrades
- Piece Square Tables
- Quiescence Search
- Transposition/Hash Tables
A-Tier Upgrades
- Iterative Deepening
- Move Picking
- Principal-Variation + Null-Window Search
- Aspiration Window
- Null Move Pruning
- Openings
- Tablebases
B-Tier Upgrades
- Lazy SMP (Parallelize Engine using Golang)
- Check Extension
- Static Move Pruning
- Razoring
- Extended Futility Pruning
- Internal Iterative Deepening
- Late Move Pruning
- Late Move Reduction
- Singular Extensions
C-Tier Upgrades
Challenged by Will Depue (0hq).
Check out his Tutorial and Starter Code for Javascript and his Engine in Golang.
Resources
Chessprogramming wiki is the chess engine dev's Library of Alexandria. Definitely go check it out.
This thesis covers some of the topics well, especially Lazy SMP.
Libraries
Chess package for Go: https://github.com/Sidhant-Roymoulik/chess