Floyd chess engine - download page

Icon  Name                    Last modified      Size  Description
[DIR] 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 [IMG] floyd-logo.png 12-Oct-2015 21:24 18K 130x65 pixel logo for chess GUIs. With permission of Daniel Schweinert
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.

Release notes

Version 0.9

Main changes:
  • Gained 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

    Version 0.8.1

  • Fix UCI hangup bug under PicoChess/python-chess (reported by Dirk-Jan D.)
    No other changes, binary updated for RPi only.

    Version 0.8

    Main changes:
  • 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

    Version 0.7

    Main changes:
  • 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 killers
  • 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.

    Version 0.6

  • 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 --Marcel

    Version 0.5

  • 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.

    Source code

    Sources are available on https://github.com/kervinck/floyd.


    Bug reports and improvement proposals are appreciated. You can contact the author at marcelk@bitpit.net.
    When reporting a problem, please provide all of the following details:

    1. your configuration (OS+version, GUI+version and Floyd version),
    2. what steps you have to take before you encounter the problem,
    3. what you observe when the problem happens (debug/log files are the best for this), and
    4. what you expected to happen instead.
    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.