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!!




http://www.mediafire.com/file/sw5aw2thgpdi3k5/skiull-0.1-x64.zip
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

With popcnt enabled and without it

No 32-bits plan because I don't have 32-bits systems to test it


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++ and I think I'm a ~1500 ELO player


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", even adding bitboard move generator but not worked, I mean it did not improve, because Vice uses mailbox 120 array and combining it with bitboards makes it slower

The only thing that worked was the SqAttacked() bitboard version, added like ~600Knps, also added some search and eval features, it was stronger that Vice 1.0, like ~200/300 ELO, I knew that I could create a better and faster version, but I just delayed and delayed the project, till this year that I started the project


Tests



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...


Features



  • 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..