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) absimaldata 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) braich Brian Sheppard (SapphireBrand) Bryan Cross (crossbr) Bujun Guo (noobpwnftw) Chris Cain (ceebo) Dan Schmidt Daniel Dugovic (ddugovic) Dariusz Orzechowski David Zar Daylen Yang (daylen) DiscanX Eelco de Groot ElbertoOne erbsenzaehler Ernesto Gatti Fabian Beuke (madnight) Fabian Fichter (ianfab) fanon Fauzi Akram Dabat (FauziAkram) Felix Wittmann gamander gguliash Gian-Carlo Pascutto (gcp) Gontran Lemaire (gonlem) Goodkov Vasiliy Aleksandrovich (goodkov) Gregor Cramer GuardianRM Günther Demetz (pb00067, pb00068) Guy Vreuls (gvreuls) Henri Wiechers Hiraoka Takuya (HiraokaTakuya) homoSapiensSapiens 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 jundery Justin Blanchard Kelly Wilson Ken Takusagawa kinderchocolate Kiran Panditrao (Krgp) Kojirion Leonardo Ljubičić (GM) Leonid Pechenik (lp--) Linus Arver loco-loco 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) pellanda Ralph Stößer (Ralph Stoesser) Raminder Singh renouve Reuven Peleg Richard Lloyd Rodrigo Exterckötter Tjäder Ron Britvich (Britvich) Ronald de Man (syzygy1) Ryan Schmitt Ryan Takker Sergei Antonov (saproj) sf-x shane31 Steinar Gunderson (sesse) Stefan Geschwentner (locutus2) Stefano Cardanobile (Stefano80) Stéphane Nicolet (snicolet) Thanar2 thaspel 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 - www.zipproth.de) . 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 e.g., 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:
https://stockfishchess.org/get-involved/ 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 (https://github.com/scallybag) . 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: https://groups.google.com/forum/#!forum/picochess
Finally, a very huge thank you and note of appreciation to Lucas Monge (https://lucaschess.pythonanywhere.com) , John Stanback (http://john.stanback.net) and Dann Corbit (http://rebel13.nl/misc/ebf/dann%20corbit.html) 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.