Project

Kepler Chess Engine

Kepler is my from scratch C++17 chess engine. It is built to study search and evaluation in a clean, modular codebase while still being fast enough to play real games over UCI.

The current strength is about 2038 Elo based on testing. The engine is still in progress and the focus is on steady gains.

Strength

~2038 Elo

current testing

Status

In progress

active development

Interface

UCI

GUI ready

Core

C++17

bitboards and TT

Negamax searchQuiescenceNNUESelfplay dataPerft tests
Kepler vs Stockfish 2000Game Playback

Game viewer

One of Kepler's games against Stockfish 2000, to show how the engine plays.

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 are used to keep movegen correct during changes.

Evaluation

Classical terms for material, mobility, pawn structure, and king safety. NNUE support sits beside the classical eval and can be toggled at runtime.