/latrunculi

UCI Chess Engine written in C++

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Latrunculi

UCI chess engine, written in Modern C++ tested with gtest

  • Move Generation

    • Bitboard board representation
    • Board state vectors for making/unmaking moves
    • Correctness tested with gtest/perft
  • Search

    • Principal variation search
    • Best collected from refutation table
    • Transposition table (hash table)
    • Pruning (Null move pruning, late move reduction)
    • Move ordering (Hash/killer moves, history heuristic, mvv-lva)
  • Evaluation

    • Tapered material + piece sq values
    • Passed, doubled, tripled, isolated pawns
    • Open files, undeveloped/outpost minor pieces
    • Bishop pair, connected rooks, etc
    • Piece tropism/mobility, king safety