WELCOME TO FORGE LIFE!

Hey, fellow Forgers, welcome to Forge Life!

You can use either the Site Navigation Bar to the left or the Site Index link right above here.

Look around, find what you need, and (PLEASE) let me know if it was helpful. Also, if you can't find the answer, ask!

Big Point: Leave TONS of Comments, I really want to know what you think of the site and Handbook.

Don't ask about tagging, I wrote a guide for that, you can get there from the sidebar on the left.


Saturday, October 2, 2010

So I played some Arena, and noticed some issues....(Beware: Trigonometry and Regular Expressions Within)

People still quit and it hurts their team just as much, if not more.


Bungie already has a thread that explains Ratings in the intel area in the sidebar, however, it seems that they've ignored a few bits of explanation, particularly the modifiers for assists, deaths, and betrayals. I've also, via general musing and a background in integral calculus, found several ways in which it could be modified to protect players from their teammates detrimentally effecting their scores. 

I know it is just a game, which is why people play it to enjoy it. It is hard to enjoy something when those around you are completely disregarding the fact that you are their to enjoy yourself. Imagine going to a restaurant where the persons next to you are deciding to showcase their explosive flatulence or going to a wedding where the drunken best man proclaims his love for the bride, I would see these intentional suicides and team killing respectively; however, my modification protects against quitters.




A synopsis of the rating system:

Win:

1000+(2000/3.14*atan((kills+sa*assists-sd*deaths-sb*betrayals)(num_players/score_to_win)))

Loss:

0.96(1000+(2000/3.14*atan((kills+sa*assists-sd*deaths-sb*betrayals)(num_players_per_team/score_to_win))))

3.14= the number Pi, more accurately 3.14159265…458151(those last six are the five digits leading up to, as well as, the millionth digit). 

atan= the function for Arctangent, the atan(x) is the Arctangent of x.

Kill= number of times you caused final damage to opponent.

Assist= number of times you caused at least %40 of the damage required to kill an opponent before their shields are able to recharge or, if they are not, five seconds.

sa= a number that scales assist value (default is 1.0, don't know how it changes)

sd= a number that scales death value (default is 0.5, don't know how it changes)

sb= a number that scales betrayal value (default is 1.0, don't know how it changes)




Here comes speculation:

I am also unaware if the value for number of players per team is dynamic within the formula (meaning that it changes relative to other variables); it is well known that it is definitely a dynamic value outside of the formula, as players often quit. That being said, it would be detrimental for it to be dynamic because it would serve to lower the ratings of every person on that team that did not quit.


Logic: 

You have 15 kills, 5 assists, and 10 deaths (you did ok), with 4 players on your team.

(Ignoring loss modifier and non-default variables for other modifiers)

(1000+(2000/3.14*atan((15+5-10/2-0)(4/50)))) = 1557

Someone quit during the game, if that value is dynamic 4/50 becomes 3/50 and:

(1000+(2000/3.14*atan((15+5-10/2-0)(3/50)))) = 1467

Once again, I do not know if that number is dynamic, but if it is, the above is how it would behave.


More Logic: 

If a player does quit on their team, it makes it harder on the rest of the team (except in the rare case of opposing teams who refuse to stay anywhere near each other, and in snipers, where is sometimes harder for teams to find the one person picking them off, which isn't actually in Arena, and solidifies my point). There is the added ability, with a teammate who quit, to garner more rating because you get a chance to score more kills, which is a must to win, but not only will you die more often, dampening your rating, your kills/deaths per (insert time value here) most likely wont be enough to compensate for the heightened kills/deaths/time of the opponents, which would also introduce the loss modifier, shaving 4% of your rating off the top (if it were you, that'd be your head above your eyebrows, just gone, if not more).

So, this sets us up for the next bit, an argument that another value be introduced. Essentially, the formula would only differ in that, next to the game normalization variable (players per team divided by score to win, which is there to make performance levels in different team size and score limit situations more even, i.e. 25 kills in 2v2 to 50 and 50 kills in 2v2 to 100 are the same %50 contribution and should give the same boost to rating), there would be a dynamic variable that would adjust based on how many players are on a team, which could be referred to as player distribution.

It would calculate itself via the number of players per team, default to 1.0, AND only be active if a player were to quit. Once this were to happen, it would become active in all players on the quitting person's, now former, team. If a player on your team were to quit, the value would become the number of players on the other team divided by the number of players on yours (and Bungie thought they could confuse me with an arctan).

player_dist=IF(team_player_quit>=False,"1",player_opponents/player_team)

The formula would become:

loss_mod(1000+(2000/3.14*atan((kills+sa*assists-sd*deaths-sb*betrayals)((num_players_per_team/score_to_win)(player_dist)))))

So, with the fist example having this applied:

Win:

(1000+(2000/3.14*atan((15+5-10/2-0)(4/50)(4/3)))) = 1645

Loss:

0.96(1000+(2000/3.14*atan((15+5-10/2-0)(4/50)(4/3)))) = 1579


You might be thinking, "But those are higher than the other ones, the new loss rating is even higher than the first win rating!! You can't do that, it isn't fair!" I'd have to disagree, quit vehemently so at that. The player performed exactly the same in all situations, however, he has been effected by his team mates performance and the overall difficulty of the task he was trying to achieve, therefore his rating being pushed higher for his performance in a higher difficulty setting is verily commended in this situation. It  protects players from being punished for others quitting on them, especially if it causes them to lose. It must also be remembered that, even though in this situation the kills, deaths, assists, and betrayals have had the same values across the board, the skills of the players achieving them between the first and second (pre and post player_dist value being added) would be different as well and that the player from the second example would be very used to seeing ratings in the 1600's.

There are also other measures that could be put in place to have the boosting effect of the new variable be dampened and, if you feel you must argue, I will explain those, as well as how they would be implemented to make them work. 

Bungie has themselves said that they are working on making the rating system better, I just thought I'd throw out my two cents.

No comments:

Post a Comment