Update Programming Tips
[xonotic/xonotic.wiki.git] / dynamic-handicap.md
1 This mutator changes the handicap of players based on difference of their score to the mean score. Linear handicap value is calculated using the following formula:
2
3         linear_handicap = |(score - mean) * g_dynamic_handicap_scale| ^ g_dynamic_handicap_exponent
4
5 After that the sign is restored and final handicap if calculated using this formula:
6
7         if (linear_handicap >= 0)
8         {
9                 handicap = linear_handicap + 1;
10         }
11         else
12         {
13                 handicap = 1 / (|linear_handicap| + 1);
14         }
15
16 ## Server settings
17
18         g_dynamic_handicap 0 "Whether to enable dynamic handicap."
19         g_dynamic_handicap_scale 0.2 "The scale of the handicap. Larger values mean more penalties for strong players and more buffs for weak players."
20         g_dynamic_handicap_exponent 1 "The exponent used to calculate handicap. 1 means linear scale. Values more than 1 mean stronger non-linear handicap. Values less than 1 mean weaker non-linear handicap"
21         g_dynamic_handicap_min 0 "The minimum value of the handicap."
22         g_dynamic_handicap_max 0 "The maximum value of the handicap."