Help creating a ranking system

  • Context: Undergrad 
  • Thread starter Thread starter narf0708
  • Start date Start date
  • Tags Tags
    Ranking System
Click For Summary
SUMMARY

The forum discussion focuses on creating a ranking system for a multiplayer game, inspired by the Elo rating system. The system aims to track players' skill levels based on their performance in games with 2 to 31 players, where 2,000 points are distributed per game. Key features include rewarding survival, adjusting ratings based on wins and losses, and providing bonuses for top placements. The user seeks assistance in developing a mathematical algorithm that incorporates these elements effectively.

PREREQUISITES
  • Understanding of Elo rating system principles
  • Basic knowledge of game theory and player dynamics
  • Familiarity with statistical concepts such as averages and deviations
  • Experience with algorithm design and implementation
NEXT STEPS
  • Research advanced ranking algorithms, specifically variations of the Elo system
  • Explore game theory concepts related to player elimination and scoring
  • Learn about statistical methods for calculating player ratings and performance metrics
  • Investigate database design for storing game history and player ratings
USEFUL FOR

Game developers, mathematicians, and anyone interested in designing competitive ranking systems for multiplayer games.

narf0708
Messages
3
Reaction score
0
I've recently been wishing to create a ranking system for a game that several friends and I play, a ranking system that will keep track of our relative skill levels over the course of many games, sort of like a tournament, but with more freedom, more akin to an Elo type system. However, I've found that my mathematical skills are a bit too weak to create something satisfying by myself, so I would appreciate some help in the matter.

To describe the relevant parts of the game:
-Each game can have between 2 and 31 players. 10 players is the most common amount though.
-There are a total of 2,000 points in each game that are distributed to players based on how well they are doing. These points get reset and recalculated every day/iteration of the game until someone wins.
-When a player reaches 1,000 points, he/she wins and ends the game.
-The game can end before someone reaches 1,000 points if there are only three players left in the game and all three agree to end the game as it is, in which case the person with the most points wins.
-Most players have 0 points at the end of the game due to other players taking their points and eliminating them entirely.

Ideally, the system should have all(or at least most) of the following properties:
-It should be easier to increase one's ranting for wins than to decrease one's rating for losses. (due to how most of the players are eliminated and have a score of 0 at the end)
-Higher player ratings should increase more slowly, and decrease more readily.
-Lower player ratings should increase more readily, and decrease more slowly.
-Survival to the end(shown by non-zero point values at the end of the game) should be rewarded, even if the player didn't win.
-There should be a bonus for getting in 1st, 2nd, or 3rd, with the greatest bonus to the person in first and lowest to person in third.
-There should be little to no reward for playing a greater number of games.

Unless I'm missing something, the algorithm should have the following inputs, knowns, and outputs:
Inputs: Game number, name of each player along with their associated score at the end of the game.
Knowns: There will be a database built consisting of all the past games, players, and ratings which can be referenced.
Outputs: An ordered list consisting of each player's name and new rating.

I've tried a few simple things, but none of the simple things are able to encompass everything the ranking system needs to be able to do. When I try to do anything more advanced(namely trying to account for all of the players' scores, the number of competing players, the average, range, and/or deviation of all the players' ratings), I get stuck due to my own limitations of creativity and mathematical knowledge.
 
Physics news on Phys.org
Have you tried something like class rank as used by many high schools in determining who will be valedictorian? It's usually based on grades and course difficulty.
 
Had thought that class rankings were determined by averages(with weighting for certain classes), which is both the first thing I tried and too simple for this. For one, someone who consistently wins without getting to the 1,000 points because of agreement with the other players could be ranked lower than someone who doesn't win as often, but wins by passing the 1,000 point mark.
While averaging works excellently for having the valedictorian be the person who has had the highest cumulative grade, it doesn't work for determining the current skill level.
 
Last edited:

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 9 ·
Replies
9
Views
5K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
8K