The main idea of the following stuff is to balance each multiplayers modes (contest, multi, opti…) in terms of rewards.
Contest (solo, opti and multi)
A contest allows you to win CP based on the following formula : N^((N-C+1)/N) * 2.
N number of players with a score > 0, C rank of the player.
BUT only the 3 best scores are kept. So if you have participated in 5 contests and your points are 1000, 500, 800, 600, 200, you totalize 1000+800+600 = 2400 CP * 2 for contests.
This is fairer for newcomers as they can beat the best old players by scoring high in the next contests.
The multiplayer games points are calculated in almost the same way as the contests but with these differences :
- all multiplayer games are taken into account (and not only the 3 best scores)
- a maximum cap of 5000 CP can be earned from a multi (in case there are 10000 players for a multi, you can only gain 5000 for it for if you rank in first place). So if you are first in 4 multi games (whoa!) with more than 5000 players, you gain 5000 *4 = 20k points.
- if the cap is reached, the formula is still distributed across all the players and not only the first 5000. The formula is : min(N,5000 )^((N-C+1)/N).
Optimization (code size)
Code size puzzles points are calculated in almost the same way as the multiplayer games but with these differences:
- there is a leaderboard per language and the CP gain is per language - so you can no longer win CP on the mixed leaderboard (but it can always be consulted to look for the best language for the puzzle).
- any given submission gives a maximum of 200CP.
- the formula is : 200^((N-C+1)/N).
- only the 5 best scores for a given puzzle are kept. So, the cap to each puzzle is 1000, by being first in 5 languages.
Optimizations (performance like Mars Lander)
These are calculated like multiplayer games with a cap of 1000 CP and not per language like code size puzzles.
Clash of Code
These are calculated like multiplayer games with a cap of 5000 CP. The formula is : min(N,5000)^((N-C+1)/N)
Guru: top 100 players
Grand Master: top 500
Master: top 2,500
Mentor: top 5,000
Disciple: top 10,000
Craftsman: top 20,000