Floyd chess engine - download page
Name Last modified Size Description
Floyd is a simple, bare-bones, chess engine for study purposes. It
is designed for Windows, Linux and OSX and distributed under the
permissive, "2-clause" or "simplified", open source BSD license.
This page is the official distribution for executables. For sources see the link below.
All versions/ 20-Aug-2016 12:15 -
floyd0.9.zip 20-Aug-2016 12:11 422K Zip file with all executables and logo
floyd0.9.w64.exe 20-Aug-2016 11:17 332K Windows 64-bit (provided courtesy J.B. Buijs)
floyd0.9.osx.zip 19-Aug-2016 23:35 57K MacOSX Intel
floyd0.9.linux.arm32 19-Aug-2016 23:08 100K Linux ARM 32-bit (Raspberry Pi 1,2,3)
floyd0.9.linux.x86-64 19-Aug-2016 22:51 106K Linux x86-64
floyd0.9.w32.exe 19-Aug-2016 12:22 176K Windows 32-bit
LICENSE 30-Mar-2016 19:58 1.3K Distribution license for binaries and sources
floyd-logo.png 12-Oct-2015 21:24 18K 130x65 pixel logo for chess GUIs. With permission of Daniel Schweinert
Release notesGained approximately 180 elo at fast time controls
Better handling of zugzwang positions
Fixed illegal moves deep in PV (reported by Dirk-Jan D.)
Full solution for the "0readyok" problem: also don't split info lines
Able to abort search in Python module (e.g. by Ctrl-C)
Under the hood:
Added history counters for move ordering
Improved move ordering for killers
Improved null move pruning/reductions (aka verification)
Added delta pruning
Added hanging piece evaluation
Added basic futility pruning, razoring and stand pat pruning
Some minor evaluation weight tuning
Simplified UCI move printing
Eliminated spurious "Illegal move" in debug mode
Fix UCI hangup bug under PicoChess/python-chess (reported by Dirk-Jan D.)
No other changes, binary updated for RPi only.
Gained approximately 150 elo at fast time controls
More attractive playing style, mainly due to evaluation
Improved timecontrol for very fast games with zero increment
Under the hood:
Recapture extension and single reply extension
Saner evaluation for passers and king attacks
Added pawn/king table to keep speed roughly unchanged
3x improved precision of built-in benchmark
Removal of needless SAN parser
Strength increase of about 150 elo at fast time controls
Full UCI support: pondering, mate & node limited search, searchmoves
Slightly improved pawn and passer evaluation
Stopping of search after having established the shortest mate
Under the hood:
Some workarounds for pondering under cutechess-cli 0.8.0 beta
Implementation of "moves [ depth <ply> ]" command
Mate distance pruning
Simple cut node reductions
Simple lazy move generation in scout
Simple static exchange evaluation (SEE)
Faster evaluation tuning using multiprocessing and quadratic fitting
General code cleanup, such as the removal of needless SAN output code
Note for Arena 3.5 users: This Arena version suffers from a severe UCI bug which causes time forfeits when playing ponder-on games. This bug in Arena was also reported using many other engines and is still unsolved. Use Arena 3.0 if you want to use pondering.
Workaround Arena problem causing all system memory to be used (reported by Ruxy S.)
Workaround Cutechess GUI problem that prevented changing the hash size
Fix crash under Cutechess GUI when using 128 MB hash (reported by Antonio A.)
Fix some crashes in late end games
Fix hangup/crash in win64 version after ~30 moves under Shredder GUI (reported by Gabor S.)
Added basic reductions, giving some additional elo due to deeper search
Disable null move in late end games, for better end game handling and mate finding
Added support for Raspberry Pi 1 & 2
Include official 130x65 logo (thanks to Daniel Schweinert for permission to use his artwork in Floyd)
Many thanks to all listed above and special thanks to J.B. Buijs for the
win64 support and excellent debugging assistence for one of my worst bugs
Initial release. Support for Windows, Linux and Mac.
Very bare-bones chess engine with source and permissive license.
(Almost) full UCI support, except "go ponder", "go nodes" and "go mate"
Just PVS + transposition table + null move and a very simplistic eval.
Evaluation: No king safety. Some of the eval is done in floating point. No pawn table, no material table, no piece/square tables.
Search: No reductions, no killers, no history table, single-core only.
Everything is recalculated again and again in every node for simplicity.
Move generation is a far descendent of MSCP's. All other code is new.
Comes with built-in CPU benchmark. Type "bench" on the console interface.
Not super strong. Finished 18 out of 30 in the October 2015 HGM's monthly on-line blitz tourney.
Win64 exe courtesy J.B. Buijs.
Sources are available on https://github.com/kervinck/floyd.
Bug reports and improvement proposals are appreciated. You can contact the author at
When reporting a problem, please provide all of the following details:
Please don't omit any of these, even when
you think it is obvious or irrelevant. For you convenience, you can use
this pre-formatted mail form: Floyd problem report.
- your configuration (OS+version, GUI+version and Floyd version),
- what steps you have to take before you encounter the problem,
- what you observe when the problem happens (debug/log files are the best for this), and
- what you expected to happen instead.