Tweak piece values for drop variants
authorFabian Fichter <ianfab@users.noreply.github.com>
Tue, 26 Nov 2019 19:06:05 +0000 (20:06 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Tue, 26 Nov 2019 19:06:05 +0000 (20:06 +0100)
as well as for racing kings.

crazyhouse STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 4655 W: 2339 L: 2172 D: 144
http://www.variantfishtest.org:6543/tests/view/5ddaff406e23db1ffe4a27c1

crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3075 W: 1550 L: 1407 D: 118
http://www.variantfishtest.org:6543/tests/view/5ddb15636e23db1ffe4a27c8

racingkings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3311 W: 1177 L: 1057 D: 1077
http://www.variantfishtest.org:6543/tests/view/5ddaff586e23db1ffe4a27c4

racingkings LTC
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 824 W: 284 L: 239 D: 301
http://www.variantfishtest.org:6543/tests/view/5ddba21c6e23db1ffe4a27d4

src/psqt.cpp

index 83c8de3..cf8dfba 100644 (file)
@@ -145,8 +145,8 @@ void init(const Variant* v) {
 
       // For drop variants, halve the piece values
       if (v->capturesToHand || !v->checking)
-          score = make_score(mg_value(score) * int(MidgameLimit / 2) / (MidgameLimit + mg_value(score)),
-                             eg_value(score) * int(MidgameLimit / 2) / (MidgameLimit + eg_value(score)));
+          score = make_score(mg_value(score) * int(EndgameLimit) / (2 * EndgameLimit + mg_value(score)),
+                             eg_value(score) * int(EndgameLimit) / (2 * EndgameLimit + eg_value(score)));
 
       // For antichess variants, use negative piece values
       if (   v->extinctionValue == VALUE_MATE