Saturday, October 22, 2016

Skiull 0.1 chess engine download

Well, today is the day... a modified version of Stockfish, is not a clone because I modified part of the code, you know, you can't create a chess engine from scratch, that's impossible!!! nah just kidding!!

Image from Google is NOT mine

Download link

Please don't mirror the download link, just send it to this page!!

I'm sure that this engine is not bug free!!
Any bug report will be appreciated!!

No 32-bits plan because I don't have 32-bits systems to test it
With popcnt enabled and without it
Files hosted on Mediafire

03/11/2016 Update!
Added macOS binaries

The zip file contains binaries for:

Operating system Compiled with
Windows MSVC 2013
GNU/Linux gcc 6.1.2
macOS gcc 4.2.1 LLVM 8.0.0

A little story

I discovered the chess engine world in ~2010, I'm self-taught programmer, I started programming in  ~2000, Visual Basic 6.0 ☻, then ASP, PHP, C#, C/C++, not much about C++

Since 2013 I started "programming" a chess engine, watching the youtube videos: Chess Engine In C a chess engine called Vice (Video Instructional Chess Engine) from BlueFeverSoft

After that I just modified the Vice to play "better", but never released


This is the very first version and it's weak, can't even win against Pigeon 1.5.0, so I think it's like ~1500 ELO
I have tested others weak engines but there were not 100% functional, the only one that worked fine was Pigeon developed by Stuart Riffle

Programming language

Skiull it's developed in C99 and it's almost a total rewrite, "almost" because shares little things from Vice that I will improve later...


  • Implements the UCI protocol that I also took from Vice with some minors improvements
  • Just a plain vanilla alphabeta search, no extensions, no reductions, no killers, no history moves... no nothing
  • No transposition table
  • Quiescence search, I don't qsearch when in check, I skip all moves that gives checks in qsearch, and recently discovered that suffers search explosion with this posistion: r4rk1/1ppqbpp1/2npbn1p/4p3/p1P1P3/3PBN2/PP1NBPPP/2RQ1RK1 w - - 0 1, as you can see it takes some time to show the pv and spent too much time in qsearch, look the qnodes and nodes
  • Very basic eval, just the PST from CPW and nothing more
  • Magic moves from Pradu Kannan (I'm trying to do one by myself)
  • Bitboard move generator, the one that is implemented in Sungorus or called Kindergarten bitboard (sorry I was confused with the term, it implements magic move generator)
  • MakeMove and UnmakeMove are exactly from Vice but with bitboards, I will try to improve this
  • The move encode are also from Sungorus:
    #define ENCODE_MT(mt, to, fr) ((mt) << 12 | (to) << 6 | (fr))
    I know I can improve this
  • In the pv only print the root move
  • Same time management as Vice

Non UCI standard commands

When you start Skiull, it will be in "console" mode you can type:

perftsuite [depth]

Default depth it's 6
The file: my_perftsuite.epd should be in the same directory as Skiull, you can download it from here

perftrookie [depth]

Default depth it's 6
The file: perft-random.epd, like 6000+ positions (Copyright (C) 2007, 2008 by Marcel van Kervinck, thanks Marcel) should be in the same directory as Skiull, you can download it from here

divide [depth] [fen]

Default depth it's 6
Default fen is startpos

 perft [depth] [fen]

Default depth it's 6
Default fen is startpos

Chess GUIs

Skiull is a console program, so I recommend to play with a chess GUI like

Where comes the name?

The name Skiull comes from putting together Skill and Skull, a skull with skills? maybe... but not like Ghost Rider... bad movie

Many thanks to..