diff --git a/src/search.cpp b/src/search.cpp index c84ad24b..668fd095 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -206,10 +206,10 @@ void Search::think() { } } - if (Options["Contempt Factor"] && !Options["UCI_AnalyseMode"]) + if (!Options["UCI_AnalyseMode"]) { - int cf = Options["Contempt Factor"] * PawnValueMg / 100; // From centipawns - cf = cf * Material::game_phase(RootPos) / PHASE_MIDGAME; // Scale down with phase + // Dynamic draw value: try to avoid repetition draws at early midgame + int cf = std::max(70 - RootPos.game_ply(), 0); DrawValue[ RootColor] = VALUE_DRAW - Value(cf); DrawValue[~RootColor] = VALUE_DRAW + Value(cf); }