In a classic high score leaderboard, the player with the highest score is leading, followed by people with slightly lower scores. In short, higher is better.

But in a game I am working on, the player has to reach the objective by completing various puzzles. The fewer puzzles he needs to solve before reaching his objective, the better. This is somewhat similar to fewest moves possible.

So basically, the leaderboard would be reversed, the player with the lowest score puzzles needed would lead the board, followed by players who needed slightly more puzzles to reach the goal.

How would I design/build the leaderboard so players understand the principle of lower is better?

Edit: One more important detail: The leaderboard will not be global, but local for one user, so he can track his own progress/improvement. So the design should be clear even if there are no entries yet.

  • \$\begingroup\$ Are you making your own leaderboard or using GameCenter or something like that? \$\endgroup\$ Commented Jan 12, 2016 at 8:27
  • 31
    \$\begingroup\$ I don't understand why this is so complicated, and why things like platform matter very much, or whether a server is involved or whatever. Those are separable problems. This is a user interface design issue, and has one very good example in the real world - Golf. Just like most other leaderboards, names at the top are "winning". Just do a reverse sort on score... Your question about how to understand that lower is better will be obvious once you have more than one entry with a different score. If you only have one entry, there is ambiguity. \$\endgroup\$
    – Steve
    Commented Jan 12, 2016 at 13:28
  • 1
    \$\begingroup\$ If you want to avoid ambiguity at all times and your display is a grid with columns headings then one of the headings can read "Score (lower is better)" or "Puzzles Needed (lower is better)" \$\endgroup\$
    – MonkeyZeus
    Commented Jan 12, 2016 at 14:21
  • 3
    \$\begingroup\$ If you're looking for UI help then ux.stackexchange.com might be a good place to transfer this question. Just make sure to show what you've tried and explain why you don't like it :) \$\endgroup\$
    – MonkeyZeus
    Commented Jan 12, 2016 at 15:18
  • 3
    \$\begingroup\$ I don't think lower numbers at the top is particularly confusing - that's precisely how any leaderboard that ranks by time to finish a race is going to look, so your design doesn't need to be anything novel. Put the best scores at the top, no matter what "best" means numerically. \$\endgroup\$
    – Random832
    Commented Jan 12, 2016 at 17:43

4 Answers 4

  1. Order the entries top down, this is how all arcade games did it, so it's a de facto standard.
  2. Use multiple columns, first rank (1st, 2nd, 3rd, etc), then name, then any score related columns.
  3. If you want to, you can decouple number of puzzles from the actual score by calculating a score based on number of puzzles and time required to solve them, then list both the number of puzzles and the scores on the leaderboard.

"So the design should be clear even if there are no entries yet."

Local single player leaderboards/highscores often include dummy leaderboard entries. This also gives the player an incentive to play long enough to get first place, or even to play often enough so all the dummies get removed from the leaderboard.

  • 3
    \$\begingroup\$ Particularly with puzzles, you could have some style of Gold, Silver and Bronze 'scores' to be beaten, giving the player added incentive to re-play. \$\endgroup\$ Commented Jan 12, 2016 at 12:45
  • 3
    \$\begingroup\$ On the dummy local leaderboard entries, I always liked it when there was a "developer" score up there along with the "beginner" and "adept" scores.. It feels good to "beat a developer at his own game" ;) (Yes, I know just because they developed it doesn't mean they are good at playing it) \$\endgroup\$ Commented Jan 12, 2016 at 16:49
  • 1
    \$\begingroup\$ @SuperBiasedMan also, if the score has a minimum (which may calculated with an algorithm), giving a platinum score to the player would be great and would motivate him/her to complete all objectives with a platinum score. \$\endgroup\$ Commented Jan 12, 2016 at 21:23
  • 1
    \$\begingroup\$ But please, if you're adding dummy scores make them real. Don't add some unachievable score (or something you pass after 3 minutes of gameplay), it's more fun that way, makes you feel more like you're actually competing. \$\endgroup\$
    – Maurycy
    Commented Jan 13, 2016 at 0:35

Players expect higher scores to be better. You might be able to teach them otherwise, but it's easier to go with the flow.

Hence I suggest inverting your scoring system instead: think of your "lower-is-better" score as a fraction (e.g. 3 = 3/1) and invert it (e.g. 3/1 → 1/3). If you want integer scores, multiply or round the result as you like.

For example, assuming you went with inverted_score = floor(1/(score + 1) * 100):

3 becomes floor(1/(3+1) * 100) = 25
2 becomes floor(1/(2+1) * 100) = 33
0 becomes floor(1/(0+1) * 100) = 100

Then just have a traditional "higher-is-better" highscore table.

Inverting fractions has the advantage that your worst possible score can be arbitrarily large, but has the problem that the scoring is no longer linear:

inverted scoring as a chart

If you do know what the worst possible score is, it's simpler to just subtract scores from that, which preserves the linearity.

  • 4
    \$\begingroup\$ I disagree. The first example being racing games, where the lowest score (time) wins. Smash Bros, team with lowest score wins (deaths). A lot of platformers (eg. Meat Boy, Offspring Fling) have mechanics where you need to beat the part time to win. There are puzzle games which offer hint mechanics where you're later rated by the game on how many hints you used (can't remember any from the top of my head though). So I am pretty sure there are enough games which use it that average player will be able to very easily wrap their head around it. \$\endgroup\$
    – Maurycy
    Commented Jan 13, 2016 at 0:39

I think that you shoud name the Leaderboard something like "Number of puzzles needed", and if you want to show/track his own progress you can include average "puzzles needed"

Something like

**Number of puzzles needed**

Name                  Puzzles 


1- Player 1            6
2- Player 2            8

Average                7


Wherever you have the leaderboard simply have it say lowest scores at the top or even just say best scores with the lowest at the top. People can figure out that lowest is the best from there.

Please specify what language you are using so I can give you exact code/ syntax. But in most languages just set a variable that is a score and run it against the highscore which is a different variable.

Say something on the lines of

if(score <= highscore) {
     //make new score top
     document.getElementByID("Position 1").textContent = score;
     //make the old highscore equal to a new variable for second on the leaderboard
     score2 = highscore
     //make the new highscore variable equal to the new score
     highscore = score
     //put highscore in the second position
     document.getElementByID("Position 2").textContent = score 2;

and keep doing the process of moving down. Also remeber to make the same for the second, third positions and so on.

I am sure there is an easier way to do it but that was an easy way to make a small leaderboard in a javascript and html game.

Please specify a langauge if you want something better.

  • \$\begingroup\$ Thank you, the coding is not a problem, I am just concerned about the actual design. \$\endgroup\$ Commented Jan 12, 2016 at 8:43
  • \$\begingroup\$ Then you should really be fine to just say lowest scores. If you are actually worried then it is unnesecary. \$\endgroup\$
    – asrequired
    Commented Jan 12, 2016 at 8:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .