Kepler is a from-scratch C++ chess engine built to study search and evaluation in a clean, modular codebase while still being fast enough to play real games over UCI.
Current strength sits around ~2000 Elo based on testing. The engine is in active development with steady gains.
Based on self-play testing · UCI protocol · active development
Game Viewer
Kepler vs Stockfish 2000
One of Kepler's games against Stockfish 2000 to show how the engine plays. Move through the game to see the engine's decisions.
Game Playback
Kepler vs Stockfish 2000
Under the hood
How it thinks.
Search Stack
Iterative deepening negamax with alpha-beta pruning, quiescence search, and a transposition table. Move ordering uses history and SEE to keep the tree tight.
Move Generation
Bitboards, attack tables, and full legal move generation. Perft tests keep movegen correct across every refactor and search depth change.
Evaluation
Classical terms for material, mobility, pawn structure, and king safety. NNUE support sits beside the classical eval and can be toggled at runtime.