Procyon World Ranking FAQ

What does the Procyon World Ranking system do?

The Procyon World Ranking system records every game that is played in-world, and attempts to rank each player according to ability. By checking your ranking, you can see how good you are, compared to everyone else in Second Life. The ranking system works in the background, independently of specific tournaments. Everyone who owns a Premier Line Procyon game also has a scoreboard which can display the current World Rankings. The scoreboards are all networked into the Procyon server, and the top-ranked players have their names displayed.

How can I find out my ranking? What other players are closely ranked to me?

Each game has a page here with the current, complete player rankings. Here’s a link to each one:

Can’t StopDanger ZoneEn GardeFrootcake — Take it Easy

How is my ranking score generated?

The Procyon server takes every game that has been played for the past two weeks, and feeds them into an algorithm that’s based on Google’s PageRank. The algorithm takes into account how many games you played, who you played against, and how well you performed in each game. Every player gets a ranking score, and the higher your ranking score, the higher your rank.

Why are you using this complicated system?

The Procyon ranking system evolved over a period of several months as I tried to find a good way to rank players. This system has been in place for over a year now and I think it works pretty well. The qualities that I like in this system are:
  • It’s fair. It identifies skilled players correctly. If you’re good at the game, your name will go to the top of the ranking
  • It’s flexible. You don’t have to participate in a tournament or play at a specific time to improve your rank. You can play against anyone, anytime.
  • It’s difficult to “game.” For any ranking system, some people will try to find holes in it. It’s hard to find a method that will let you “cheat” and get a high ranking without playing well.
  • It works for multiplayer as well as two-player games.
  • It encourages the spread of the game. You don’t lose points for playing new players, and in fact can gain quite a lot.

How does Google’s PageRank work, and how is it like the Procyon Ranking?

When you do a search on Google, they use an algorithm called PageRank to determine the order of your search results. There’s an excellent article in Wikipedia on how Google PageRank works.

I based the Procyon ranking on the same algorithm. In general:
  • A page gets a higher rank in the Google results when there are a lot of links to it from other pages that also have high rankings.
  • A player gets a higher rank in the Procyon ranking when he has beaten a lot of other players who also have high rankings.

I don’t want a lot of math. What do I need to do to make my score go up?

In general, you get points for beating a lot of different players, and for beating players who are highly ranked. So, you should play a wide range of people (not just the same person over and over), and you should play people who have high scores in the rankings.

I didn’t do anything but my score went down!

There are two reasons your score can go down by itself. First, the ranking algorithm only considers games played in the past two weeks. If you stop playing completely, your score will slowly drift down to zero over the next two weeks. Also, if you had a really good day and beat a bunch of people all in the same day, two weeks later as that day “falls out of the window” your score will go down.

Second, the algorithm takes into account the strength of the players you beat, retroactively. Say for example you beat the #1 player and got a lot of points for it. But then that player who used to be #1 started playing poorly, and a lot of other people beat him too. As the other player’s score drops, yours will too, because he’s not such a good player any more, so it won’t give you as many points for having beaten him.

I didn’t do anything but my score went up!

The retroactive strength calculation can work in your favor. Say you beat a newbie who’s never played before. You won’t get a lot of points for that win right away. But then imagine if the newbie is a natural at the game, and goes on a tear, beating everyone in sight. Suddenly your win against him is much more impressive, so the system will give you more points. As the newbie’s score goes up, so will your own.

I just beat someone but my score didn’t go up!

Each player only has so many points to give away. If you play the same person over and over, you get fewer and fewer points for each win. To make your score go up, you have to prove that you can beat a wide range of players.

What are the details behind how the ranking scores are generated?

The ranking algorithm is based on Google’s PageRank, except that where Google ranks pages based on links between them, the Procyon player rank ranks players based on scores of games between the players.

First, the algorithm takes a list of every game played in the past two weeks. Every time a new game is played, it’s added to the list and a new ranking is computed for everyone. Once a day, the list is culled. Any game older than two weeks is taken off the list, and the ranking scores are recomputed.

Every player in the list of games becomes a node in a graph. Every game constructs an edge in the graph between each player in the game. The value of the edge is the difference in scores between the two players. Each game has a slightly different weighting for how it calculates the edge strength. The winner of the game gets a bonus in addition to his score.

Then, each player is given some initial points. The points flow through the graph. If you beat someone, you get points from them through the edge connecting you. If someone beat you, you send them points. This process is iterated many times until the process converges (ie, nobody’s points are changing very much). The final point total is run through a logarithmic scale, and the end result is a ranking score for each player.

Why won’t the game tell me my new rank right after I play?

It takes a while to run the algorithm and recalculate everyone’s score. To prevent the server from getting too loaded, it will sometimes skip doing the calculation. Don’t worry, your game is still recorded, and it will contribute to your ranking score the next time it gets calculated (which is probably in a couple minutes).

Why do you only track scores for the past two weeks?

Performing this ranking calculation is fairly intensive. Using games from only the past two weeks cuts down on processing time a lot. When Google calculates their PageRank, they have literally thousands of CPUs doing the calculation in parallel. I have just one server on a VPS account.

Also, using a two-week sliding window keeps the high scores fluid. It prevents a situation where someone could get a dominating score and then stop playing and sit on top of the rankings forever. To keep your name up there, you have to play at least once every two weeks.