Skip to content

MKJM2/lishex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lishex (codename 1F98A)

A UCI chess-engine built in C++.

Features

How to

Lishex does not come with its own grapical user interface (GUI). Instead, it implements the UCI protocol making it compatible with most popular chess GUIs such as:

To compile the engine to an x86_64 Linux binary, simply run

make

Then, to run the engine on the command-line run

make run 

or

./lishex

To compile in debug mode

make debug=yes

To generate project documentation with doxygen run

doxygen

in the project root.

TODOs

  • More search extensions: extending search depth in specific subtrees to combat the horizon effect
  • LazySMP for parallel searching on multiple threads
  • More sophisticated king safety (including queen distance, tropism)
  • Endgame tablebase probing
  • Extension limiting
  • Smarter time control logic, estimated time to finish search
  • Chess960 (Fisher Random Chess) support
  • NNUE

Acknowledgments

I'd like to thank BlueFeverSoft (Vice), Tom Kerrigan (TCSP), Sebastian Lague, PGG106 (Alexandria), Richard Delorme (Dumb engine), Bruce Moreland, Code Monkey King (Bitboard Chess Engine), Peter Österlund (Texel), kz04px (4ku), Jay Honnold (Berserk), the Stockfish and GNU Chess developers, as well as the entire Chess Programming community for help and inspiration. I have made every effort to include proper links to articles & other sources of inspiration in the source code. However, if by any chance I have unintentionally omitted acknowledging someone's work or utilized code without due credit, I sincerely apologize. Please do not hesitate to contact me with any concerns, suggestions, or ideas, and I will gladly address them promptly.