Chess Engine in C++
When I was in High School I wrote a Chess Engine, teaching myself how to code along the way, and making extensive use of the excellent Chess Programming Wiki. Aside from learning C++, I developed a pretty complex Chess Engine using start of the art (for 2016) techniques, most of which are still used in top engines like Stockfish today. Aside from the basic Alpha-beta search, some fancy chess specific techniques I made us of are:
- Capture based move ordering
- The killer move hueristic
- Null move pruning
- Futility pruning
- Late move reductions
- Quiescence search
- Magic bitboard move generation
- Zobrist Hashing based transposition table
- Principal Variation Search
For more details, checkout the github.