Home * Engines * Scorpio

a sophisticated open source chess engine by Daniel Shawul, written in C++ and compliant to the Chess Engine Communication Protocol with builds running under Windows and Linux. Scorpio participated at the CCT9, CCT11 and CCT12 online tournaments, and played the ICT 2007 over the board. It is base of Daniel's general game playing engine Nebiyu, able to play Chess variants, Checkers, Reversi, Go and Amazons [1]. Scorpio 2.7.9, released in December 2017, optionally features a Monte-Carlo Tree Search [2].
Scorpio [3]


Board Representation

Scorpio combines Bitboards with a 0x88 board representation, and the coordinate transformation in scanning bits along with the lookup of the De Bruijn multiplication. The "unique" 64-bit routine was generated with the help of the De Bruijn Sequence Generator passing Daniel's birth date [4] . Magic bitboard implementation by Pradu Kannan [5] . Thanks for the acknowledgment of both!

Distributed Search

Scorpio performs a distributed search [6] [7] around an iterative depth-first search framework [8] :
Scorpio uses a decentralized approach (p2p) where neither memory nor jobs are centralized. Each host could have multiple processors in which case shared memory search (centralized search with threads) will be used. One processor per node will be started by mpirun, then each process at each node will create enough threads to engage all its processors.


Scorpio's evaluation includes following features and techniques [9] :


see main article Scorpio Bitbases

Scorpio has its own endgame bitbase format, which might be probed by other programs via a shared library.

See also

Dedicated Namesake

Forum Posts

2005 ...

2010 ...

2015 ...

External Links

Chess Engine



  1. ^ Scorpio Chess and Nebiyu Alien
  2. ^ Scorpio 2.7.9 by Daniel Shawul, CCC, December 16, 2017
  3. ^ Scorpio symbol, Book of Hours, the Falstof Master, Bodleian Library, Oxford, Scorpio (astrology) from Wikipedia
  4. ^ Scorpio/scorpio.h at master · dshawul/Scorpio · GitHub
  5. ^ Scorpio/magics.cpp at master · dshawul/Scorpio · GitHub
  6. ^ Scorpio/parallel.cpp at master · dshawul/Scorpio · GitHub
  7. ^ asynchronous search by Daniel Shawul, CCC, April 6, 2010
  8. ^ Scorpio/search.cpp at master · dshawul/Scorpio · GitHub
  9. ^ Scorpio/eval.cpp at master · dshawul/Scorpio · GitHub

What links here?

Up one level