Bungie’s Arena Rating System

Bungie the game developer designed a system to rate players in their game Halo: Reach. The following information is accurate to their beta test of the game in May 2010.

In arena mode players play against each other and receive a rating at the end of their play session. This rating is deduced by the game stats. The statistics tracked are kills, deaths, assists and betrayals. This gives a raw rating. This rating is then passed onto an arc tan graph to beautify the number.

This method also makes it so that the better you play; the harder it is to get a higher number rating. To work out the raw rating, this equation is followed:

    \[ raw rating = (kills + sa * assists) - (sd * deaths + sb * betrayals) \]

Kills is the number of kills the player achieved. Assists is the number of assists the player performs in a game. To get an assist the player needs to do 40% of the damage it took to kill the person. That number is then multiplied by sa which in the Halo: Reach beta was 1. That means assists were just as important as kills. The number of times the player died is represented as deaths. This is multiplied by sd which in the beta was 1/3. This makes deaths less detrimental to the players rating. Betrayals are when the player kills one of their teammates. This amount is multiplied by sb which equals 1 so each betrayal will take off a kill from the rating.

Now that the raw rating of the game is worked out it can be passed onto the arc tan graph and be normalised:

    \[ rating = loss penalty(1000 + (\frac{2000}{pi} * atan(rawrating * gamenorm))) \]

Loss penalty is 1 if the players’ team wins and 0.96 if they lose. Game normalisation is applied so that numbers gained are accurate. This takes the score to win the game and divides it against the number of players per team. The numbers are then applied to the arc tan graph. The rest is to beautify the result. Perhaps a worked example of the system would help clarification.

This example will use these stats from the game: 4 players per team, 50 kills to win; the player achieved 21 kills, 7 deaths, 5 assists and the players’ team won the game. The rating would work out in this way:

    \[ Raw Rating = (21 + 5) - (7 * \frac{1}{3}) \]

    \[ Raw Rating = 23.66 \]

    \[ Rating = 1 * (1000 (\frac{2000}{pi} * atan(23.66 * \frac{4}{50})) \]

    \[ Rating = 1 * (1000 + (\frac{2000}{pi} * atan(1.8933)) \]

    \[ Rating = 1 * (1000 + (\frac{2000}{pi} * 1.0848683)) \]

    \[ Rating = 1690 \]

This rating would then go on to the players’ record and every time they played a game, their average rating would update to gain a picture of their skill level.

Leave a comment

Your email address will not be published. Required fields are marked *