/neocortex

a UCI chess engine

Primary LanguageC++MIT LicenseMIT

Neocortex

Build Status Coverage Status

A homemade C++ chess engine.

Play a game with me here!

NOTE: A Lichess account is required to challenge the bot.

architecture

  • Negamax alpha-beta search with iterative deepening
  • Lazy SMP parallel search
  • Transposition table with Zobrist hashing
  • Time control management
  • UCI support

methods

Many of the methods used in this engine are inspired by the extensive resources available at the Chess Programming Wiki:

  • Guard heuristic
  • Static exchange evaluation
  • Specialized quiescence/evasion movegen
  • History heuristic

dependencies

Neocortex builds on GCC 7.3+ or MSVC 2015+. To run the test suite GoogleTest must be available on the host.

building

Linux
Execute make in the project root to build in release mode.
Execute make debug to build in debug mode, and make test to build the test suite.

NOTE: Building the test suite requires GoogleTest to be available on the host.

Windows
Open neocortex.vcxproj in Visual Studio 2015 or newer. Build the solution in either Debug or Release mode.