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
    also established:
    r1new = r1 + 32*(w-(1/(1+10^((r2-r1)/400))))
  • If player is established and the opponent is provisional
    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