top of page

Fire 8.NN.MC.3

  • 08/11/2021

  • uci option nnueEvalFile (name and path of NNUE evaluation file)

  • uci option MinimumTime (minimumtime for a move)

  • uci option MoveOverhead (time buffer for each move)

  • bench now utilizes 3 chess960 (FRC) positions for additional PGO compile optimizations

  • redundant code removed

  • ReSharper C++ code optimizations

  • Chess960 (Fischer Random Chess) castling bug fix

  • open source https://github.com/FireFather/fire-NN

 

Fire 8.NN.MC.2

 

Fire 8.NN.MC.1

 

Fire 8.NN.MC

 

Fire 8.NN.1

 

Fire 8.NN

​

Fire 8.N

  • 05/22/2021

  • uci option EngineMode choose classic, NNUE (default), or random.

  • reads engine.conf on startup for search, eval, pawn, and material parameters

  • NNUE support

  • open source https://github.com/FireFather/fire

 

No NNUE:

​

Fire 8.2

  • 02/15/2022

 

Fire 8.11

  • 04/27/2021

  • this is a feature-only release with no improvement in strength

  • UCI option SearchType (choose alphabeta or random)

  • random implemented w/ C++11 uniform_real_distribution & mersenne_twister_engine

  • NDEBUG asserts tested and tweaked

  • void position::init() zobrist now gets random seed using std::chrono::system_clock

  • open source https://github.com/FireFather/fire

​

Fire 8.1

  • 04/16/2021

  • eval changes

  • further code optimization via Clang, Re-Sharper, and VS Code Analysis

  • more detailed output for Bench, Perft, and Divide functions

  • tuner additions & enhancements

  • UCI option SyzygyProbeLimit

  • asychronous cout (acout) class using std::unique_lock<std::mutex>

  • open source https://github.com/FireFather/fire

  • GPL licensed

​

Fire 8

  • 02/23/2021

  • source code upgraded to C++17

  • code highly optimized using Clang, Re-Sharper, and VS Code Analysis

  • all compiler warnings now resolved up to and including Level 4

  • Linux support

  • high precision benchmark utility

  • fast command-line and UCI dialog perft & divide functions

  • time-stamped (bench & perft) log files

  • smaller & highly tuned evaluation (significant strength & speed increase)

  • increased search depth

​

Fire 8 beta

  • 05/24/2020

  • private test version for participation in TCEC and CCC

 

Fire 7.1

  1. 05/27/2018

  2. significant maintenance release which addresses multiple critical issues:

  3. - losses on time in Arena GUI

  4. - loss of communication to GUI while pondering

  5. - multi-threading crashes with 'unknown exception' error

  6. - freezing/unpredictable behavior due to buffer under/over runs

  7. It is highly recommended to upgrade any previous Fire 7 binaries to this release
     

Fire 7

  • 05/21/2018

  • SMP reworked

  • evaluation improvements

  • search improvements

  • change in the way nodes are counted

  • 30-40 Elo stronger than Fire 6.2 (TCEC 11)

​

Fire 6.1

  • 09/23/2017

  • maintenance release which fixes a bug concerning the display of PVs

  • no other changes, and no increase in playing strength

 

Fire 6

  • 09/22/2017

  • significant parameter tuning

  • pawn play improvements

  • positional evaluation improvements

  • small improvement in search

  • modest increase in playing strength

​

Fire 5

  • 11/14/2016

  • improved search

  • several new eval clauses

  • pst, eval, and search parameters fine tuned via SPSA

  • improved endgame play

  • UCI contempt parameter added

  • Syszygy 50-move rule UCI parameter added

  • chess960 support added

  • large increase in playing strength

​

Fire 4

  • 12/6/2014

  • new search

  • new and improved eval

  • humanistic analysis

  • extensive search, pst, and eval parameter tuning

  • improved material table initialization and phase calculation

  • common endgame eval routines

  • thread local storage SMP up to 64 threads

  • support for Syzygy endgame tablebases

  • significant increase in playing strength

 

Fire 3.0

  • 12/13/2013

  • significant strength increase

  • options removed

  • code optimizations

  • speed increase

  • eval terms added

  • search improved (reductions and extensions)

  • 'bench' utility improved

 

Fire 2.2 xTreme

  • 7/06/2011

  • open-source

  • magic bitboards

  • true SMP parallel search

  • configurable pawn hash

  • ponder

  • searchmoves

  • multiPV

  • benchmark utilities

  • multi positional gain (for each CPU/core/thread)

  • multi history (for each CPU/core/thread)

  • robbobase support (up to 6 piece endings)

  • 70+ UCI/fire.cfg options

  • random configuration generation

  • optional timestamped I/O log file


Fire 2.1 xTreme

  • 6/27/2011

  • open-source

  • maintenance release

  • MultiPV fixed...


Fire 2.0 xTreme

  • 6/26/2011

  • open-source

  • supports up to 64 cores/threads

  • occasional crash fixed

  • code improvements, bitwise optimizations

  • SEE piece/capture values are no longer constant entities

  • fire.cfg incorrect default value for Prune_Pawn fixed:   Prune_pawn = 160

  • Fire now recognizes whether or not the system supports hardware popcount and/or large pages, and self-configures itself accordingly

  • some code cleanup, formatting, and re-organization

  • more complete Log implementation

  • UCI clear hash button added

 

Fire 2.0 xTreme beta

  • 6/24/2011

  • open-source

  • Optional configuration file creation options:

  • Simply type:

  • 'default'  (generates a fire.cfg w/ default parameters)

  • or:

  • 'random'  (generates a fire.cfg w/ random parameters)

  • 'rand_eval'  (generates a fire.cfg w/ random evaluation parameters)

  • 'rand_material'  (generates a fire.cfg w/ random material value parameters)

  • 'rand_prune'  (generates a fire.cfg w/ random search prune parameters)

  • 'rand_search'  (generates a fire.cfg w/ random search parameters)

  • 'rand_time'  (generates a fire.cfg w/ random time management parameters)

  • at the console prompt to generate a unique fire.cfg file.

 

Fire 1.5 xTreme

  • 5/31/2011

  • open-source

  • Triplebases (TBHit) fixed

  • Historic Piece Values can now be changed 'on-the-fly

  • Ahmed default piece values implemented:

  • 100, 320, 335, 515, 1000

  • Top Min Depth min/max values inversion

  • option Draw Weight added

  • 5 TM options added:

  • AbsoluteFactor

  • BattleFactor

  • EasyFactor

  • EasyFactorPonder

  • NormalFactor

  • TM algorithms from 1.4 beta

  • SMP up to 16 cores


Fire 1.4 xTreme beta 2

  • 5/29/2011

  • open-source

  • Historic Piece Value bug fixed

  • Aspiration Window option added

  • Min Trans Move Depth option added

  • Positional Weight added

  • Static Weight->PST Weight

  • Time Management from Fire 1.32

  • some code cleanup


Fire 1.4 xTreme beta

  • 5/28/2011

  • open-source

  • extreme user configurability:

  • all system, search, eval, and material parameters available via an external config file or GUI UCI option dialog box

  • support for 6-piece Robbobases

  • ELO increase

  • random fire.cfg generation

  • 21 historic piece value sets


Fire 1.32

  • 5/26/2011

  • open-source

  • maintenance release one year after original release

  • fixes UCI and fire.cfg piece value change issue

  • (thx to Matt Weaver for identifying this)

  • knight = 320

  • bishop = 330

  • queen = 980

  • tr and col changed to rank and file for improved source code readability/consistency

  • the above changes are mainly functional and likely do not affect overall strength (ELO)


Fire 1.31

  • 5/30/2010

  • open-source

  • maintenance release

  • with Fire 1.2 and 1.3, Totalbases and Triplebases can be configured to autoload on engine startup only via the fire.cfg file, so i've added 2 new UCI options, and associated code, which enables configuration of 'autoloading of Robbobases' via UCI GUIs:

  • Autoload Totalbases

  • Autoload Triplebases

  • id name and id author are now placed outside of 'if          

  • (CfgFound)' statement in static void uci()

  • this was causing Fire 1.3 to not load in Fritz and CB

  • Hash size wasn't being read properly if using fire.cfg

  • this has now been fixed


Fire 1.3

  • 5/28/2010

  • open-source

  • new/faster bitboard LSB/MSB routines

  • mutually exclusive fire.cfg/UCI GUI options 

  • phase-scaled piece values improved 

  • QSearch fix/improvement 

  • MaxThreads = 256

  • several new/improved eval routines 

  • phase multiplier fix 

  • code cleanup 

  • speed improvement

  • MultiPV now automatically disabled in 'game' mode

  • several small bugfixes

  • UCI options added: 

  • Lazy Eval 1 

  • Lazy Eval 2 

  • UCI_EngineAbout 

  • AspirationWindow 

  • Split At CN 

  • Split At EN 

  • ANSplitDepth 

  • ENSplitDepth 

  • PVSplitDepth 

  • Contempt 

  • Material Weight 

  • Positional Weight 

  • UseRobboBases 

  • Low Depth PVs 

  • Time Info 

  • Verbose UCI 

  • UCI_EngineAbout

  • UCI options removed: 

  • NMR Smooth Scaling 

  • Extra Info


Fire 1.3 Thuringen

  • not publicly released

  • participated in 2010 Thuringen (Germany) tournament


Fire 1.2

  • 3/5/2010

  • SMP improvements/changes

  • major RobboTripleBase bug fix

  • support for new RobboTriple/Total Blocked (Z) bases added

  • improved hash functions

  • UCI options added: UCI_AnalyseMode, CPU Load Info, Current Move, Depth Info, Hash Full Info, TB Hits Info, Time Info

  • UCI options removed: Analysis Mode, Extra Info, Multi History, Multi Positional Gain

  • NMR Smooth Scaling renamed NMR Scaling

  • (Null Move Reduction Scaling) 


Firebird 1.1

  • 2/15/2010

  • support for RobboTripleBases and RobboTotalBases added

  • reads Fire.cfg parameters file on startup

  • writes (optional) time-stamped I/O log file

  • NMR Smooth Scaling now 'off' by default


Firebird 1.01 (maintenance release)

  • 2/3/2010

  • bug fix:

  • major changes to SMP (to prevent occasional exception error/timeout)

  • changes to NMR Smooth Scaling

  • Null Move verification default = true

  • verification reduction default = 7

  • GetNumberOfConsoleInputEvents ->_kbhit


Firebird 1.0

  • 2/3/2010

  • several minor bugs fixed:

  • no longer occasionally displays score of 0.01

  • no longer drops a thread after ~16 hours in analysis mode

  • engine now initializes at 128 Mb hash

  • movelists enlarged to accommodate really long games

  • pawn hash set to 32 Mb by default

  • improved time management

  • new UCI options:

  • Get FEN

  • Analysis (Fritz) Mode

  • Move on Ponderhit (Never, Sometimes, Always)

  • NMR Smooth Scaling (Null Move Reduction Smooth Scaling)

  • Pawn Value

  • Knight Value

  • Bishop Value

  • Rook Value

  • Queen Value

  • Bishop Pair Value

  • Null Move Verification

  • Verification Reduction

  • Move on Ponderhit

  • Extra Info

  • UCI options removed:

  • MultiCentiPawnPV

  • RandomCount

  • RandomBits

  • Enhanced Time Management

  • CPU Load implemented

  • ETM has been improved and is now used by default

  • new and improved SMP routines

  • MultiPV now works in 'game' mode as well as 'Analysis' mode

 

Firebird 1.0 beta

  • 1/5/2010

  • bitboards

  • true SMP parallel search

  • configurable pawn hash

  • analysis mode

  • ponder

  • searchmoves

  • multiPV (in beta)

  • multiCentiPawnPV

  • Hyatt Hash

  • perft, benchmark, and drawboard utilites

  • (ex: type 'perft 6' or 'benchmark' at the console prompt)

  • validate functions (debug)

  • multi pos gain (for each CPU/core/thread)

  • multi history (for each CPU/core/thread)

  • most recent improvements:

  • native Windows SMP threads/multiprocessing

  • code cleanup and formatting

  • Max Threads UCI option

  • get_sys_info function:

  • queries Windows for # CPUs,

  • sets appropriate # threads

  • searchmoves

  • pondering improved

  • several bugfixes

  • SMP code vastly improved

  • auto CPU (Max Thread) detect/config

  • UCI Max Thread configuration option

  • improved prefetch routine

  • improved bitscan routines

  • mersenne twist random number generator

  • sparse one POPCNT

bottom of page