

Show HN: An Android app to create ranking ladders for multiplayer games - gautamnarula
https://play.google.com/store/apps/details?id=com.Centaurii.app.RatingCalculator

======
gautamnarula
The algorithm I used app is a simple modification of the standard elo formula,
which I got from the US Chess Federation's rating estimator[1]. For two player
games, the app uses the standard elo formula. For games with more than two
players, it simply calculates the expected score as per a two player game and
then divides it by (num_players/2). For instance, a two player game with
player A and B rated 1200 would result in a expected score of .5 for each
player. In a four player game, the pair-wise expected score is calculated by
averaging the opponents' ratings and then using a standard elo calculation.
This is then divided by (4/2) to give the expected score. For those
interested, I wrote a blog post where I go into more detail [2].

Although this is a pretty crude method, I've been pretty happy with the
results. I run a Settlers of Catan league where 111 rated games have been
played. Here's a graph of all players who have played more than 5 games:
[http://imgur.com/ZoICwNM](http://imgur.com/ZoICwNM)

Here's the rating distribution:
[http://imgur.com/Rot4zkF](http://imgur.com/Rot4zkF)

The current ratings for those in the graph above:

1185

1079

1067

1043

1001

991

975

973

937

928

916

912

906

854

Median: 974, Mean: 983

Overall, I think this algorithm produces more accurate ratings than many other
multiplayer rating systems, including the one the official online Settlers of
Catan site uses (I discuss this in my blog post). This algorithm does break
down if there is a really large rating difference (i.e. 500+ points) between
one player and the rest, but that's a pretty unlikely scenario.

The source code is available on Github [3]. Pull requests welcome! If anybody
wants to create an iOS version, I'd be happy to collaborate and help out in
any way. There is also a desktop version I made eons ago for those without
Android—unfortunately, I never added in two player functionality [4].

[1]
[http://www.glicko.net/ratings/approx.pdf](http://www.glicko.net/ratings/approx.pdf)
[2] [http://www.gautamnarula.com/rating/](http://www.gautamnarula.com/rating/)
[3]
[https://github.com/gnarizzy/gameratingcalculator](https://github.com/gnarizzy/gameratingcalculator)
[4]
[http://www.mediafire.com/download/3n3ah3lt571ngy2/Game+Ratin...](http://www.mediafire.com/download/3n3ah3lt571ngy2/Game+Rating+Calculator+2.0.3.jar)

