Home * Engines * GullChess

GullChess, (Gull)
an UCI compliant open source engine in the public domain by Vadim Demichev [1], inspired by ideas and code from other open source engines, notably from Ivanhoe of the Ippolit family of programs, and from Strelka, whose authors are suspected of reverse engineering Rybka, to examine and use her ideas. Ron Murawski's Computer-Chess Wiki mentions GullChess as Ivanhoe derivative [2]. The further socialization of concrete implementations with disputed origin in the public domain, as already started with Ippolit, remains a highly controversial topic.
Scheveningen Gulls [3]


GullChess applies magic bitboards to determine sliding piece attacks, a material table indexing scheme with disjoint light and dark bishops, PVS with aspiration windows, and a parallel search based on processes. Version 1.2 is written in compact and neat C++ code and consists of only one single source file. It features generic function templates in recursive search routines as well in various functions called by search, i.e. for move generation, with side to move and hash-move exclusion for singular extensions as boolean template parameters, delegating conditions on these to compile-time.

Releases & Forks

Gull 2.1

Gull 2.1, released in June 2013, has evaluation weights optimized with the use of automated tuning (source code included). Gull's 2.1 evaluation is no longer almost identical to that of Ivanhoe. Further, it features some minor search, time management and SMP efficiency enhancements [4].

Gull 2.8 beta

Gull 2.8 beta, released in January 2014 and competing TCEC Season 6, comes with minor search tweaks but a full evaluation rewrite, being back an original engine [5]. A BMI2 build provides a small speedup on Haswell architecture due to the replacement of magic bitboards by PEXT bitboards.

Gull 3

Gull 3, released April 17, 2014, with further optimization of evaluation weights and a rewritten SMP search, features nonlinear king shelter evaluation and more endgame knowledge. Basil Falcinelli implemented a Linux port [6] and Syzygy Bases support, introducing Fathom [7], while Michael Byrne worked on a Mac OS port [8] dubbed Hawkeye [9], Tom Hyer introduced his Gull 3 derivative Roc [10], and Norman Schmidt SeaGull also based on Gull 3 [11].


LazyGull is a free UCI chess engine under the MIT License derived from Gull 3 by Basil Falcinelli [12]. LazyGull features Syzygy Bases support via Fathom, Lazy SMP, and PDEP bitboards for modern x86-64 CPUs, and is portable to Windows, Linux and MacOSX [13].

See also

Forum Posts

2010 ...

2015 ...

External Links

Source Code Repositories




  1. ^ Chess engine from Wikiepdia
  2. ^ Chess Engine List from Ron Murawski's Computer-Chess Wiki
  3. ^ Gulls at the beach of Scheveningen Kurhaus, Photo by Gerd Isenberg, December 26, 2015
  4. ^ Re: gull chess by ThinkingALot, OpenChess Forum, June 17, 2013 (Gull 2.1)
  5. ^ Gull 2.8 beta.zip/Gull 2.8 beta/readme.txt
  6. ^ Gull 3 (Linux port) released by Basil Falcinelli, CCC, October 28, 2015
  7. ^ Gull 3 Linux+Syzygy and Fathom released by Basil Falcinelli, CCC, November 20, 2015
  8. ^ Gull 3 x64 Mac Results by Michael B, CCC, October 30, 2015
  9. ^ Hawkeye 1.01 by Michael B, CCC, July 05, 2016
  10. ^ GitHub - TomHyer/Roc: C++ chess engine derived from Gull 3
  11. ^ GitHub - FireFather/seagull: chess engine based on Gull 3 by Norman Schmidt
  12. ^ GitHub - basil00/Gull: Gull chess (Linux/Mac port) - The LazyGull Chess Engine
  13. ^ Gull/README.md at master · basil00/Gull · GitHub
  14. ^ hyer / SonsOfTheBird / source / Slizzard — Bitbucket
  15. ^ Future of Gull by Tom Hyer, CCC, August 23, 2016
  16. ^ Gull Lake (Michigan) from Wikipedia

What links here?

Up one Level