Python Chess Engine: negamax, from the ground up
A from-scratch engine that runs on Lichess, with a book of Chessable openings.
Open to Summer 2027 SWE internships in Singapore
hello@tuxedolphin.com
2024 · shipped · solo · python · negamax · lichess · docker
A chess engine from the ground up, running live on Lichess behind a UCI adapter, with a 4,702-entry book of Chessable openings.
I wrote this chess engine from scratch: legal move generation, negamax search with alpha-beta pruning, a Zobrist transposition table, and quiescence search so it never stops evaluating mid-capture. Time management is the part I’m proudest of: a move’s budget is the clock remaining divided by 12, plus half the increment, with a hard ceiling the search checks at every node, so an overrun still falls back to the best move from the last depth it actually finished. It runs today in Docker on a VPS.
- book: 4,702 opening entries, Stockfish-audited
- search: negamax · alpha-beta · Zobrist TT · quiescence
try it · read the code
Back to Projects