From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Gull

Scheveningen Gulls [1]

Gull, (GullChess)
an UCI compliant open source engine in the public domain by ThinkingALot [2], 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 [3]. The further socialization of concrete implementations with disputed origin in the public domain, as already started with Ippolit, remains a highly controversial topic.


Gull 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, and Norman Schmidt SeaGull also based on Gull 3 [10].


LazyGull is a free UCI chess engine under the MIT License derived from Gull 3 by Basil Falcinelli [11]. 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 [12].

See also

Forum Posts

2010 ...

Re: gull chess by ThinkingALot, OpenChess Forum, June 13, 2010 » Gaviota
Re: gull chess by ThinkingALot, OpenChess Forum, June 17, 2013 (Gull 2.1)
Re: gull chess by ThinkingALot, OpenChess Forum, January 26, 2014 (Gull 2.8 beta & Gull 2.9 alpha)

2015 ...



External Links

Source Code Repositories



feat. Kosuke Mine, Mikio Masuda, John Scofield, Clint Houston, Motohiko Hino, James Mtume


Up one Level