Ranking calculations update

As I see it, we could have one of these solutions (independently of a special contest leaderboard per year):

  1. Go for Marchete’s option of a global leaderboard. Each category counting for a fixed amount of points and with drift corrections.

  2. Split the leaderboard per category. One for multis, one for optims… Just like the CoC leaderboard. That’s a bit what we have today when we sort the current leaderboard by “coding points category”. With no default leaderboard or perhaps just the contest one.

I tend to prefer the 2nd option because the first option doesn’t feel fair to newcomers (in the sense that it will take them forever to reach the top). At the same time, the 2nd option could make long-time CodinGamers feel bad.


1 Like

In the 2nd option, we don’t have global leaderboard anymore ? So what we will have in our profile page ? Could we choose what rank is displayed ? (between the differents leaderboards)

I don’t see how the 2nd option is more fair for newcomers. Reaching the top on multis is still very hard if you have to do all the puzzles. Reaching the top in optims is slight easier but not easy at all.

Personally I don’t like the idea of more leaderboards. A global ranking is global, it should include everything that’s worth points. We already have levels vs points, I don’t feel we need another thing on top of that.

What about the following mix of all solutions above:

  • compute a multiplayer game rank by taking in account the 5 best scores on multi games with the formula (BASE * min(N/500,1))^((N-C+1)/N)
  • compute an optimization rank by taking in account the 5 best scores on opti games (same formula)
  • same for codegolf
  • clash of code ranking remains as it
  • a contest ranking is computed taking in account the 3 best scores (season, reset each year, etc can be discussed)
  • a global rank taking in account each of these rankings with a ratio (for example 30% of the score is for contest, 30% for multiplayer games, 20% CoC, 10% opti, 10% codegolf)

When a codingamer starts to play one type of the game, the specific ranking is displayed on its home page. So if they play CoC and multiplayer games, they can track both CoC and multi rank on the home page.

The global ranking and all these rankings are available in the leaderboard section.

1 Like

If you want to add a global leaderboard with Bof5 and some ratio per section, it’s good. Many players will be happy with that approach.

I rather prefer a separate ranking for each section
(Like “sort by” in global leaderboard but more visible) instead of Best of 5 multis.
I see Bof5 as flawed from the start, it will reflect who got 3 good challenge bots and reuse them on multi (+ points from -3vel CSB and another one). Almost like doubling challenge points. Top challengers will be packed in like ±30 points with lots of rank oscillations.

You could make the general leaderboard display the seasonal results by default, current year. This could then take into account multis for the ongoing year and ignore the rest.
Then an option to switch to the all-time results could be made available.

You could add even more options for recent results, break it down into: previous month, previous 3 months, previous 6 months, 1 year, all-time.

Splitting everything by category doesn’t change much as you already have that option. Folks that only care about clash can bookmark the clash leaderboard. Probably you could add an option to what category each user wants to default to.

I think the goal of the leaderboard is to show who are the main coders (“best”?) on the platform and overall it does it pretty well (in my opinion).
There is just something that haven’t been discussed here before and that I want to mention. I think the base formula should reward more the best rankings. Currently, on a 1000-player multi, getting from #10 to #1 awards 60 points, which is less than going from #120 to #100 (65 points). (with formula min(5000,N)^((N-C+1)/N). On CSB, #10 to #1 only gives 9 points. I think there is a discrepancy between the difficulty and the reward.

One way to emphasize on best ranks would be to stop using linear exponent. For example, BASE^( (N-C+1)/N)^2) (with BASE=1000) would award 120 points from #10 to #1, equivalent to #150 to #100 (123 points), which seems fairer to me.

In addition to the current debate, an almighty AI during a contest would award less points in the multi if it is not improved (because losing some ranks would have more impact).
The main issue is that it would flatten middle ranks and ignore low ranks, so a factor 2 is probably too big but I would like to see some thoughts in this direction.


As a relatively new player, you might think I want score to be determined by few multis and only the last few contests, but that’s not really the case. There is one thing I like about the current system that I want to keep: Many multiplayers to play and get codingpoints on. In my opinion, the leaderboard isn’t just about showing who is the most skillful player or who invested the most time. It is also meant to give a sense of progression while you play. If only the top 5 multis will count, your progression will probably end fairly soon.

I am in favor of many multi’s counting for leaderboard, but normalized within a reasonable range. The best 20 is fine, or even the best 15. But 5 is way too few. You will miss out on many great bot games because you will mostly be motivated to improve your 5 best multis. It will turn into a micro-optimization fest which is a lot less fun.

About the contests and multis: They do need to have a lower minimum for the best scores. 500 is fine. I’m glad most people agree on that.

Basically I prefer Marchete option B with best challenges in last 12 months. I really would prefer if we keep a global leaderboard and not just a leaderboard per category.


Maybe it’s OK to score just enough multis to be challenging and have a sense of progression, and doable in a reasonable span.
Maybe 15 or even 10. MSmits is a “rookie” that excels both in challenges and multis (2nd in CSB in just 1 week…) so I think it has the best point of view of a challenging newcomer.

You can make a survey (5/10/15/20) but that can be problematic as some players doesn’t even multi. 5 is too low. 10 is reasonable.

With option B and Best of 10/15 you don’t have drifts, so you just need to assign some percentage to each category.
The new formula fixes the playercount score bias, it’s stable for the future, won’t drift, it’s challenging and doable for newcomers, and community multis and low played games won’t affect the rankings.
But for God’s sake, don’t give 20% to Clash of Code, better 10% or 5%.

P.d. If you can, at least make some badges/achievements for completing/participating in more multis. Like at least reach bronze. This is for encouraging to at least try each multiplayer, there are nice multis underplayed.

1 Like

what I understand here is that the XP given to pass leagues doesn’t matter much for a feeling of progression in multis?

1 Like

I totally forgot XP. But XP comes from many sources, it doesn’t guide you to anything specific.

It may be enough, yes.

I’m not sure that many people care about XP. I think that for people the XP is just something like seniority.

Reaching legend to get the XP is “easy” (on some games it is, for others it is still a few days of work).
The real struggle starts aound top10 or top20 usually, getting harder for every further rank. XP doesn’t cover that part.
And we don’t even have an XP leaderboard, so why bother about it?

Maybe it’s time to have a leaderboard for XP actually. :slight_smile:

That being said, I am a little puzzled about what XP really means nowadays. I see three main sources of XP:

  • solving puzzles in the “practice” section,
  • getting promoted to high leagues (contest + multi),
  • publishing or voting in the “contribution” section.

Personally, I would prefer to have only the first source, so that XP becomes the score for the “practice” section like CP is the score for the “compete” section.

I am not a big fan of XP from promotions during a contest, since newcomers will never be able to get it (but if the goal of XP is indeed to measure seniority as Magus suggests, then it’s okay).

And I think that the reward of 15XP for a “helpful vote” has led to a situation where votes are sometimes not so helpful. I would rather have (nothing at all or) something like 15XP for a “helpful contribution”, that is a constructive comment or an improvement of the statement that is upvoted by the creator of the contribution.

Finally, I also think that it is very important to reward activity in the “contribution” section and in the creation of community contests. But it may be achieved with something different from XP.


As for Clash of Code, I agree with Magus, just remove the CP for it. In the current situation, CP from CoC seems too cheap, and that is the main reason why I (among others) don’t play CoC anymore. :frowning:

1 Like

There’s a 4th source of XP. If you create a Community Contest, you earn 2500xp.

I totally agree with this.
On the other hand, I think that too many players have no points at all.
A mix of Azkellas formula with a linear term :
0.8*(BASEmin(N/500, 1)) ^(((N-C+1)/N)^2) + 0.2(BASEmin(N/500, 1)(N-C)/N)
gives the blue line (N=3000, BASE=1000) :
orange line plots BASE*min(N/500, 1)) ^((N-C+1)/N)
maybe too complicated


I’d like to know if there are plans to implement this for this new year, or it’s aimed in a more distant future.
I think in the end many of us agree in the main subjects.
Best of N it’s a good approach that doesn’t drift, and it can be applied to all categories.
Multi can be even best of 10 with the main page rework (with quest maps, and achievements that encourages participating in multis).

1 Like

To be honest, I’m not sure. We agree on the new game formula but it seems to me that we haven’t reached a satisfactory level concerning

  • CoC points.
  • multi best of X plan
    I think the home rework can help to decide this stuff. I’l try to keep things moving.