Skip to content

LelleSwe/chess_engine_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The better chess engine (than the one made 2 years ago)

NOTE: Only works on Linux! To patch, change src/search.c to not use clock_gettime or CLOCK_MONOTONIC.

built on x86, no guarantee of it working on other systems :P (at least not with comparable performance)

Engine features:

  • PeSTO's evaluation function
  • Iterative deepening
  • Negamax with alpha-beta pruning
  • MVV-LVA move ordering
  • Transposition table (for cutoffs and move ordering)
  • Quiescence search

Game construction:

  • Bitboard-based board representation
  • Hyperbola quintessence for sliding pieces
  • Pseudolegal move generation
  • make-unmake
  • Zobrist hashing

Building

make or make main compiles the main executable, which can then be run and interacted with using a UCI tool.

make test compiles main and unit tests binary, and runs unit tests, fastchess UCI test and Ethereal perft test suite. Might take a minute. make test will install following libraries (if missing) and run tests and compile main executable: run with "make install" to avoid compilation unity testing framework, includeable like #include "lib/unity.h" (https://github.com/ThrowTheSwitch/Unity) fastchess located in ./fastchess folder (https://github.com/Disservin/fastchess)

About

back for revenge 😈

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages