How Hardwood Hearts calculates ratings.
Ok here it goes, I hope some of you are familiar with how rating systems on
other online games work and can provide some feed back on how I decided to do
this. I want to try to make this as fair and accurate as possible. The main
issue I had was with how to deal with calculating ratings when there is 4
players. All the documentation on the net about chess ratings and such are for
only 2 people. So here is how I decided to try it. Please post to the message
board any questions or clarifications.
The ratings are based on the United States Chess Federation's rating system.
With some modification. When a game is completed it compares you to each of the
three opponents in that game separately. So say you get 2nd place it calculates
your rating 3 times, once versus the 1st place person as a loss, once versus 3rd
place as a win, and 4th place as a win. So basically you lost to one person and
won against 2. The difference of the three new ratings and your original rating
is then averaged together and then added to your original rating.
So say your original rating was 1500 and your three new ratings are 1475,
1525, and 1550. The differences would be -25, +25, and +50, summed together is
+50 divided by 3 for an average of 17 and that is added to your original rating
for a total of 1517.
Everyone starts out with a provisional rating of 1500. You get an established
rating after completing 20 games. We use 2 different calculations based on who
is provisional and who is established.
- When a player is established and the opponent is
r1new = r1 + 32*(w-(1/(1+10^((r2-r1)/400))))
- If player is established and the opponent is
r1new = r1 + Points * (w-(1.0/(1.0+pow(10.0, (r2-r1)/400.0))))
r1new = player's rating after the match
r1 = player's rating prior to the match
r2 = opponent's rating prior to the match
o = player's outcome (-1 for loss, 0 for draw, 1 for win)
w = player's outcome (0 for loss, 0.5 for draw, 1 for win)
n1 = number of games played by player prior to the match
n2 = number of games played by opponent prior to the match