1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 11:39:15 +00:00

Simplify skill level and reduce ELO

This patch has two positive effects:

- Retire a hackish formula and leave
  just a natural, simple and plain one.

- Reduce strenght at very low level, but
  don't impact medium/high levels.

Actually even at level 0, SF is still too
strong for many beginners (this was reported
many times for instance on Droidfish user
comments on Google Play).

Test on fishtest shows that ELO drop is around
170 ELO at level 0 (good!), 130 ELO at level 1
and smoothly reduces (as expected) until level
10 where the drop is just of 8 ELO.

No functional change.
This commit is contained in:
Marco Costalba 2015-01-25 19:22:43 +01:00
parent 8aa8608c2a
commit ce0a95c2c0

View file

@ -1393,10 +1393,6 @@ moves_loop: // When in check and at SpNode search starts from here
{ {
int score = RootMoves[i].score; int score = RootMoves[i].score;
// Don't allow crazy blunders even at very low skills
if (i > 0 && RootMoves[i - 1].score > score + 2 * PawnValueMg)
break;
// This is our magic formula // This is our magic formula
score += ( weakness * int(RootMoves[0].score - score) score += ( weakness * int(RootMoves[0].score - score)
+ variance * (rng.rand<unsigned>() % weakness)) / 128; + variance * (rng.rand<unsigned>() % weakness)) / 128;