Skip to content
a chess960 engine
Branch: master
Clone or download
Latest commit 2e9b185 May 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Add files via upload May 16, 2019
LICENSE Initial commit Apr 20, 2019
README.md Add files via upload May 23, 2019
Sapeli.c Sapeli 1.12 May 23, 2019
Sapeli.h typos May 13, 2019
data.h Sapeli 1.1 May 15, 2019
fdec.h Sapeli 1.12 May 23, 2019
logo.jpg 1.02 final Apr 25, 2019
makefdec.py 1.12 May 22, 2019
makefile 1.12 May 23, 2019
sapeli_tuner.json Sapeli 1.12 May 23, 2019
sapeli_tuner.py Sapeli 1.12 May 23, 2019
sloc.sh 1.03 May 10, 2019
versions.txt Sapeli 1.12 May 23, 2019

README.md

Sapeli

a chess960 engine

Background

A long time ago I wrote this program from scratch.

Goals were: Decent strength. Clean code. And no bugs.

Most of my time was spent writing magic bitboard move generator from scratch.

I thought I lost my old code. Luckily I found my backups and decided to publish Sapeli.

Right now I'm not adding more strength.

I'm only improving code quality and fixing possible bugs.

Take good care of my brainchild!

Style

C / Linux coding style.

No tricky expressions.

Keep it simple, stupid.

Tech used

  • C / gcc
  • Linux
  • polyglot
  • make
  • python
  • cutechess-cli
  • xboard
  • fairymax / stockfish ( testing against )

Features

Sapeli is simple, lightweigth and original.

Sapeli has:

  • Magic BitBoards, qsearch, mvv, pst...
  • UCI support + Sapeli Command Line Interface.
  • Eval hash + Good moves hash + Perft hash.
  • Test suite with 23,772,192,204 nodes.

Supported chess variants:

  • Chess960 ( Standard + Shuffle Chess )
  • King Of The Hill w/ 960 castling

Interface:

  • UCI
  • Sapeli Command Line Interface

UCI options:

  • UCI_Chess960: check / false
  • UCI_Kingofthehill: check / false
  • WhitePOV: check / false
  • AiLevel: 0 random 100 full AI

Installation

"make install". Install Sapeli in your computer.

Compile flags:

  • -DNDEBUG : No tests. Much faster builds!
  • -DABSOLUTE_SCORE : Sapeli reports only absolute scores. Default is relative.

Usage:

  1. Use makefile for builds. make build
  2. Run "sapeli -id". You should get nodes 119060324
  3. Ready to go Sapeli cli / cutechess-cli / xboard / whatever.

Results

  • tc=40/.1
    • Score of Sapeli 1.03 vs Fairy-Max 5.0b: 952 - 24 - 24 [0.964] 1000
    • Elo difference: 571.11 +/- 54.00
  • tc=40/.3
    • Score of Sapeli 1.03 vs Stockfish 8 64: 63 - 37 - 0 [0.630] 100
    • Elo difference: 92.46 +/- 71.62

Games

Builds

Here are some builds for different OS. Windows and MacOS mainly. Not built by me. So take care.

Credits

Snippets here and there.

Websites:

Thanks for helping Sapeli project!

  • tmokonen / talkchess.com | Builds
  • Spill_The_Tea / talkchess.com | Builds
  • tpoppins / talkchess.com | Builds + Relative score + WhitePOV uci options
  • Everybody else I have forgotten

License

Sapeli, a chess960 engine

Sapeli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Sapeli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

You can’t perform that action at this time.