Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have trouble coming up with a system of assigning a rating to player's performance. Well, technically there is is a trivial rating system, but I don't like it because it would mean assigning negative scores, which I think most players will be discouraged by.

The problem is that I only know the ideal number of actions to get the desired result. The worst case is infinite number of actions, so there is no obvious scale. The trivial way I referred to above is to take score = (#optimal-moves - #players-moves), with ideal score being zero. However, psychologically people like big numbers. No one wants to win by getting a mark of 0. I wonder if there is a system that someone else has come up with before to solve this problem?

Essentially I wish to score the players based on:

  1. How close they've come to the ideal solution.
  2. Different challenges will have different optimal number of actions, so the scoring system needs to take that into account, e.g. Challenge 1 -> max 10 points, Challenge 2 -> max 20 points.
  3. I don't mind giving the players negative scores if they've performed exceptionally badly, I just don't want all scores to be <=0
share|improve this question

2 Answers 2

up vote 4 down vote accepted

Take the reciprocal of a growing value to get a value that shrinks instead, and vice versa. Multiply that up to get the large numbers you want.

score = 10 / (#players-moves - #optimal-moves + 1)

A perfect win scores 10. 1 excess move scores 5, 2 excess moves scores 3.33, etc.

To get progression that seems more linear you can multiply moves difference by some small factor. For example, using 10 / [(#players - #optimal) * 0.1) + 1], perfect win scores 10, 1 excess move scored 9.1, 2 excess moves 8.3, etc.

share|improve this answer
    
It would probably be helpful to fix your bracketing. That close parenthesis needs to move right 4 characters. –  Peter Taylor Nov 6 '11 at 15:58

Benchmarking might also help you.

Benchmarking people mind you, it helps if your know your mean, have various people play the game see what kind of score they get when playing the game, also chart their progress. (first time they play, second time, etc)

For example for me one of the lower benchmarks is the wife which I have to force to play, so I probably won't get a worse kind of player (unless minor), then I chart her progression and make sure there's some candy along the way even for the worse players.

A real gammers chart is very different, say your max score was 10, a bad player will start at 2 and progress up to say 6, there are a lot of steps and a continuos reason to progress, but if a gammers chart starts at 9, getting him up to 9.5 might not be so rewarding, so in this case I wouldn't use a linear scoring for example....

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.