stellar

Stellar - UCI Chess engine written in C++20
git clone git://git.dimitrijedobrota.com/stellar.git
Log | Files | Refs | README | LICENSE

README.md (2254B)


      1 # Stellar
      2 
      3 UCI bitboard chess engine written in C++20
      4 
      5 
      6 ## Description
      7 
      8 The goal of the project is experimentation. I want to see how far I can push
      9 the engine to play better while learning various techniques of optimization.
     10 
     11 To see the games played or play a game on your own checkout the profile on
     12 [lichess](https://lichess.org/@/StellarBOT), bullet, blitz and rapid challenges, ranked or casual, are accepted.
     13 
     14 Check out the games carried out by [CCLR](http://computerchess.org.uk/ccrl/404/)
     15 for up to date rating against other engines.
     16 
     17 
     18 ## Getting Started
     19 
     20 ### Dependencies
     21 
     22 - Linux
     23     * CMake 3.25.2 or latter
     24     * Compiler with C++20 support (tested: clang 16.0.5, gcc 13.2.0)
     25 
     26 - Windows
     27     * Visual Studio (tested: Community 2022 17.9.2)
     28 
     29 
     30 ### Installing
     31 
     32 * Clone the repo
     33 * Make a build folder and cd into it
     34 * Run `cmake -DCMAKE_BUILD_TYPE=Release <path to cloned repo>`
     35 
     36 
     37 ### Executing program
     38 
     39 * Run the engine by running: `./bin/engine`
     40 
     41 * The engine accepts commands on the standard input and produces results to the standard output
     42 * To communicate with the engine use UCI command. Reference for UCI protocol can be found [here](http://download.shredderchess.com/div/uci.zip)
     43 
     44 
     45 ## Help
     46 
     47 * To see the options for additional tools run one of the following commands form the build directory:
     48 	```
     49 	./bin/perft -h
     50 	```
     51 * Changes to the move generation can be tested with `ctest` on a predefined set of positions
     52 
     53 
     54 ## Version History
     55 
     56 - 1.4
     57     * Better time management
     58     * Pawn hash table
     59 
     60 - 1.3
     61     * Build engine on Windows using Visual Studio
     62     * Improve compilation time
     63 
     64 - 1.2
     65     * Improved evaluation using interpolation
     66     * Incremental sorting
     67     * Fix timeouts
     68 
     69 - 1.1
     70     * Add Arena
     71 
     72 - 1.0
     73     * Initial Release
     74 
     75 ## License
     76 
     77 This project is licensed under the MIT License - see the LICENSE.md file for details
     78 
     79 
     80 ## Acknowledgments
     81 
     82 Big thanks to [Gabor Szots](https://github.com/SzotsGabor) from CCRL testing
     83 group, for taking an interest in this project by allowing Stellar to compete
     84 with other engines.
     85 
     86 Inspiration, code snippets, etc.
     87 * [Chess Programming Wiki](https://www.chessprogramming.org/)
     88 * [Code Monkey King](https://github.com/maksimKorzh)
     89 * [Lichess-Bot](https://github.com/lichess-bot-devs/lichess-bot)
     90