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





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



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


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




4 comments:

  1. Hi many thanks for this engine. I have been playing with it last few days and it is very stable and plays some interesting chess. I have always had an interest in the weaker engines and find them interesting. I have played it against a couple of other weaker engines and watched the games (eg. ROCE 0.0390 which is very stable and about 1900 elo - from here: http://www.rocechess.ch/rocee.html). It did not win any games against ROCE but came very close few games and lost in the endgame. Based on my observation I would say the elo of Skiull is more like about 1650 than 1500. Just my view :-)

    ReplyDelete
  2. Thank you!! I only tested it against Pigeon 1.5.0 that is ~1700 in the CCRL, I should test it with others engines but many of these engines does not works well, they are buggy

    ReplyDelete
  3. Right now I don't plan to release the source, maybe in the future

    ReplyDelete

The comment will be reviewed before it's published, too much spam here

Comments with emails will not be published!!