Skip to content

@MichaelB7 MichaelB7 released this Oct 14, 2018 · 449 commits to master since this release

McCain is now the official name, replacing McBrain, in honor of the late Senator and the great American and the former POW from Arizona, John S. McCain.

Note: This was the final source used in this release.

McCain, a UCI chess playing engine derived from Stockfish and Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung Author)
Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad (Stockfish Authors)
Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad (Stockfish Authors)
Copyright (C) 2017-2018 Michael Byrne, Marco Costalba, Joona Kiiski, Gary Linscott, Stéphane Nicolet, Tord Romstad (McCƒain Authors)

McCain is based on the strongest engine in the world, Stockfish. This version of McCain is unique. All the changes of the differences from development Stockfish are identified in the source with ifdef's and the source of the changes attributed to the original author as I best as I was able to detect from Github. In addition some of Joe Ellis' code for the SF derivative matefinder is also included along with zugzwang code from Gunther Demetz. With the ifdef's in the source, it is possible to build dev-Stockfish , McCain and McCain + Matefinder code by just modifying a few lines of the makefile. In addition all of the other added features , cerebellum book ( (code and book file by Thomas Zipproth), Play by ELO and keyboard are also identified with ifdef's. With the exe's , you will find some Windows version complied by me , in addition to John and Lucas. The ones I have complied required cygwin1.dll which is included in the zip file. It best to create a path under the advanced systems menu for Windows for this file so that windows will always find it no matter where you place it. The Windows exe's I compiled were performed on Macs using Bootcamp (iMac bmi2) or Parallels ( Mac Pro modern and all others) under Windows 10.

Also, a note of great appreciation to all of those who contribute to Stockfish:

List of authors for Stockfish, updated 9/3/2018

Tord Romstad (romstad)
Marco Costalba (mcostalba)
Joona Kiiski (zamar)
Gary Linscott (glinscott)
Stéphane Nicolet  (current maintainer)

Ajith Chandy Jose (ajithcj)
Alain Savard (Rocky640)
Alexander Kure
Ali AlZhrani (Cooffe)
Andrew Grant (AndyGrant)
Andrey Neporada (nepal)
Andy Duplain
Aram Tumanian (atumanian)
Arjun Temurnikar
Auguste Pop
Balint Pfliegel
Ben Koshy (BKSpurgeon)
Bill Henry (VoyagerOne)
Brian Sheppard (SapphireBrand)
Bryan Cross (crossbr)
Bujun Guo (noobpwnftw)
Chris Cain (ceebo)
Dan Schmidt
Daniel Dugovic (ddugovic)
Dariusz Orzechowski
David Zar
Daylen Yang (daylen)
Eelco de Groot
Ernesto Gatti
Fabian Beuke (madnight)
Fabian Fichter (ianfab)
Fauzi Akram Dabat (FauziAkram)
Felix Wittmann
Gian-Carlo Pascutto (gcp)
Gontran Lemaire (gonlem)
Goodkov Vasiliy Aleksandrovich (goodkov)
Gregor Cramer
Günther Demetz (pb00067, pb00068)
Guy Vreuls (gvreuls)
Henri Wiechers
Hiraoka Takuya (HiraokaTakuya)
Hongzhi Cheng
Ivan Ivec (IIvec)
Jacques B. (Timshel)
Jan Ondruš (hxim)
Jarrod Torriero (DU-jdto)
Jean-Francois Romang (jromang)
Jerry Donald Watson (jerrydonaldwatson)
Jonathan Calovski (Mysseno)
Joost VandeVondele (vondele)
Jörg Oster (joergoster)
Joseph Ellis (jhellis3)
Joseph R. Prostko
Justin Blanchard
Kelly Wilson
Ken Takusagawa
Kiran Panditrao (Krgp)
Leonardo Ljubičić (GM)
Leonid Pechenik (lp--)
Linus Arver
Luca Brivio (lucabrivio)
Lucas Braesch (lucasart)
Lyudmil Antonov (lantonov)
Matthew Lai (matthewlai)
Matthew Sullivan
Mark Tenzer (31m059)
Michael Byrne (MichaelB7)
Michael Stembera (mstembera)
Michael Chaly (Vizvezdenec)
Michel Van den Bergh (vdbergh)
Miguel Lahoz (miguel-l)
Mikael Bäckman (mbootsector)
Mike Whiteley (protonspring)
Miroslav Fontán (Hexik)
Moez Jellouli (MJZ1977)
Mohammed Li (tthsqe12)
Nathan Rugg (nmrugg)
Nicklas Persson (NicklasPersson)
Niklas Fiekas (niklasf)
Ondrej Mosnáček (WOnder93)
Oskar Werkelin Ahlin
Pablo Vazquez
Pascal Romaret
Pasquale Pigazzini (ppigazzini)
Patrick Jansen (mibere)
Ralph Stößer (Ralph Stoesser)
Raminder Singh
Reuven Peleg
Richard Lloyd
Rodrigo Exterckötter Tjäder
Ron Britvich (Britvich)
Ronald de Man (syzygy1)
Ryan Schmitt
Ryan Takker
Sergei Antonov (saproj)
Steinar Gunderson (sesse)
Stefan Geschwentner (locutus2)
Stefano Cardanobile (Stefano80)
Stéphane Nicolet (snicolet)
Tom Vijlbrief (tomtor)
Torsten Franz (torfranz)
Uri Blass (uriblass)
Vince Negri

McCain v10 is an alternative chess engines for the chess connoisseur who appreciates using top chess engines for analysis. It is based on current -dev Stockfish (9+), hence it will play mostly like Stockfish v9+ most of the time. There are certain positions that McCain will provide analysis that is often overlooked by other engines.

McCain also works with the Cerebellum book by Thomas Zipproth (Brainfish Author - . It also includes the standard McCain UCI options, including Limit Strength (Elo) (use Threads set to 1!) , Brute Force , No Null, Fast Play, Tactical and variety play. All of the keyboard shortcut commands, remain, eliminating the need to always perform the UCI setoption name value command from the keyboard as long as the option name does not contain spaces.

McCain is about 40+ Elo better than McBrain v9 and includes support for 7 man syzygy endgame table bases.

Some shortcut commands:

b   = bench
g   = go
i   = infinite
p f = position fen
sd  = search depth
sm = searchmoves
q   = quit
?   = stop ( to stop  A search)
new option set or s = set, see example below

set threads xx = setoption name threads value xx
set hash xxx = setoption name hash value xx
g d 5  = go depth 5
g i = go infinite
g movetime 10000 sm g1f3 - searches only move g1f3 for 10 seconds 

Please note that ALL of the strength and usability of McCain is due to the Stockfish team. The Stockfish team is amazing and they work very hard and are very creative in keeping Stockfish the number 1 engine in the world and all their work is done pro bono for you. So if you have extra CPU cycles sitting around the home or business , please consider donating your spare CPU time: It is very easy , you can be on any type of OS, Windows/macOS/Linux and they have scripts that will run the process for you behind the scenes, once setup, simply logon to fishtest and leave your computer on.

McCain will be competitive with any engine at time control of 60 seconds and 2 seconds increment or longer. But the main focus of McCain is for deep analysis in long games, such as those played in correspondence games.

Future releases will be in alignment with the official Stockfish releases generally, however this will be subject to ELO gains or features added by the SF team as determine by me.

McCain has been adopted for DGT-Pi electronic chessboard. Please reach out to Al "Scally" Cooper for more information ( . The setting files that Al distributes have numerous fun and weaker engine settings to play against. Al frequently posts on this site if you want to reach out to him:!forum/picochess

Finally, a very huge thank you and note of appreciation to Lucas Monge ( , John Stanback ( and Dann Corbit ( for their work in compiling the different flavors of exe's presented below for Windows and Linux Operating Systems. Hopefully, you find one that works for you.

Assets 7
You can’t perform that action at this time.