stellar

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

commit 0dc53eb006ea1ea7da949a6f096ee81f70ae22e7
parent 63d7568e62922c5488d19978f5236e10117e3b28
Author: Dimitrije Dobrota <mail@dimitrijedobrota.com>
Date:   Thu, 21 Sep 2023 18:22:35 +0000

Version 1.0

Diffstat:
MCMakeLists.txt | 2+-
ALICENSE.md | 21+++++++++++++++++++++
AREADME.md | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 78 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -3,7 +3,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project( Stellar - VERSION 0.0.35 + VERSION 1.0.0 DESCRIPTION "Chess engine written in C++" HOMEPAGE_URL https://git.dimitrijedobrota.com/stellar.git LANGUAGES CXX diff --git a/LICENSE.md b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Dimitrije Dobrota + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md @@ -0,0 +1,56 @@ + +# Stellar + +UCI bitboard chess engine written in C++20 + +## Description + +The goal of the project is experimentation. I want to see how far I can push the engine to play better while learning various techniques of optimization. + +To see the games played or play a game on your own checkout the profile on [lichess](https://lichess.org/@/StellarBOT), bullet, blitz and rapid challenges, ranked or casual, are accepted. + +## Getting Started + +### Dependencies + +* CMake 3.25.2 or latter +* Compiler with C++20 support + +### Installing + +* Clone the repo +* Make a build folder and cd into it +* Run `cmake -DCMAKE_BUILD_TYPE=Release <path to cloned repo>` + +### Executing program + +* Run the engine by running: `./bin/engine` + +* The engine accepts commands on the standard input and produces results to the standard output +* To communicate with the engine use UCI command. Reference for UCI protocol can be found [here](http://download.shredderchess.com/div/uci.zip) + +## Help + +* To see the options for additional tools run one of the following commands form the build directory: + ``` + ./bin/perft -h + ``` +* Changes to the move generation can be tested with `ctest` on a predefined set of positions + + +## Version History + +* 1.0 + * Initial Release + +## License + +This project is licensed under the MIT License - see the LICENSE.md file for details + +## Acknowledgments + +Inspiration, code snippets, etc. +* [Chess Programming Wiki](https://www.chessprogramming.org/) +* [Code Monkey King](https://github.com/maksimKorzh) +* [Lichess-Bot](https://github.com/lichess-bot-devs/lichess-bot) +