Not sure how exactly I should say all this, at least not without angering probably 90% of people who look at it, but I'll go ahead and throw my spiel out there with my opinions to explain myself a bit and hopefully get a little backing I suppose. I apologize if it's too long...
I'll admit, I haven't played all that long or much. But I have played enough to realize that although the 2 currently most used efficiency systems (eff and wn8) have their merits, I don't like them. Even wn6 and wn7 had definite problems. The wn team admitted that they all have their problems and that nobody should rely solely on them, and yet people act like it's the most important thing in the game. Unfortunately, these systems drive behavior. Not to say that dealing damage or getting kills is bad, but when that's all your team is aiming for I see why it can often be hard to win. In my opinion, what is a fancy number to show "how good" someone is if those people aren't using their (for lack of a better term) "goodness" to win? Why are they even playing and/or trying to improve their stats? I am fairly good at math. Maybe not the best, but I'm at least decent enough to understand it and follow it when presented with it. I've looked at their formulas, read about their methods and reasoning. In other words, I've done my research as best I could. I found issues with all of them, and then I decided that maybe I should try and make a whole new system myself; one that would still drive people to do damage when and where needed, but not drive them to commit suicide or lose a game just to do it. I wanted something that could show in that one fancy number approximately how good someone is and/or does with more accuracy, while driving those who push themselves solely for better stats towards doing more of what the team needs done to win rather than running around like an angry chicken.
I'm not the best programmer or anything, though. I have my mathematical equations set, I know what needs to be done, but I don't have all the resources I need or necessarily know how to get them. I've done a bunch of smaller projects like this for fun, but this is the largest scale thing I've ever attempted. Essentially, I'm at the point now where I need some help. If anybody, including (I hope) Phalynx, is willing to help me with this in whatever ways they can it would be greatly appreciated. I thought about putting up my equations and explaining it all, but I think this is long enough as it is and it more be more reasonable to wait and see if anybody can or wants to help before I go doing all that.
Look forward to good productive responses.
Eff and WN* are both tries to implement a kind of metric which shows how a player is contributing to the team with some measurable parameters. Primary this is damage dealt.
Keep in mind, we have a difficult environment, which has grown over the last years. Nervs, Buffs, removed/replaced tanks, stock vs. elite tanks with much more experienced crew, bad MM. Additionally, we have to fight with WG's inconsistency related to the delivered data/stats. For example damage assisted available only for newer tanks, missing tanks in API queries.
I would like to see what you want to introduce to catch all of these failure data. If you require some data to play with, tell me.
WN8 was made on base of the data from many players, averaging all the available data from their played tanks. It can never be 100% accurate, as it is limited to the data WG is providing with their API. Full set of data is only available through directly parsing Battle Results or Replays, and here only for Battles the player survived or reviewed the Battle Result.
This is true. Like I said, I admit there is definite merit in a lot of what they have done. I just think it could be better. Obviously, there are times when something you have done has essentially won the game, and there are people who do things like that all the time, but the stats will never show it. So 100% accuracy is impossible no matter what, but I just think there are better ways to show how good a player is other than mainly doing damage. I'll throw what I've got so far up later, maybe tonight, along with explanations for each part of it for how I came to get that part of the equation like that and why I included some parts. Then I'll try and explain what I'm still missing. Note I said try, since apparently several people have been getting confused when I try and explain it. Look forward to it, though.
I can explain it more fully later, but for now I'm just going to put my 3 major sub-calculations here.
where D2 is the sub-calculation for a damage rating, SCT is scouts, HT is heavys, MT is mediums, LT is non-scout lights, SPG is SPGs, TD is TDs, and HR is hit rate.
where K2 is the sub-calculation for kills and KILLS is the amount of kills.
Where A2 is the sub-calculation for assisting, ASD is assisted damage, and SPOT is enemies spotted.
I know this all seems a little long, but I AM trying go for a more accurate rating. Each of these equations has one purpose: to set a certain ratio on a tank type by tank type basis to more accurately assess (and drive) people doing what the team needs and what they are supposed to do according to the tank they are playing. This is why you see a constant of "1.85". Obviously I could probably shorten it a little more and make it look prettier, but I've been working on this for a month or two and it's undergone a lot of changes. Not to mention that in this way you can see each individual part of it easier. I'm always welcome to constructive criticism on it as well, and if there are any questions on how or why any part of it is like it is then I would gladly answer any questions.
I'll throw my final equation up later, but I thought I should put at least the start up here and wait to see what gets said about that before I put more up. I don't want to give information overload to anybody who might actually look at this.
Here's the final 2 equations in the set that gives the final number.
XR is an experience rating number, XP is experience, and AvgT is average tier.
This number sets a kind of S-curve for experience based on tier. Obviously getting more experience typically means doing more in a match. I'm using experience because there are always a few small things that don't always show up in the rest of the stats, like a tier 7 fighting off 3 tier 9s and killing them would obviously get more than a tier 7 fighting off 3 tier 7s and killing them would.
D2, K2, and A2 are from the previous equations. CP is cap points, and DP is defense points. WR is win rate, and SR is survival rate.
Once put together, this would essentially give a similar number to those who've been playing nothing but the hard hitting tanks that help wn8, but would adjust slightly for those who still do a lot and do it well in a match, but get horrible wn8s from it. Obviously there's still a small piece of the puzzle missing. wn8 goes on a tank by tank basis, evaluating what the average player can put forth in that tank. Right now all I have is a general equation. So, essentially covering for each tank I would need to find where the average player sits per tank, then set a modifier to each equation based on that tank. At least, that's how I see it right now. Better ideas for improvement are always welcome.
Thanks for explanation. On which data did you tested the formula?
Also, including XP is not a great idea. This is like damage assisted only available as raw XP since few patches. Tanks which were played previously included daily win bonus, event bonuses and also premium bonus. Not your fault, but XP would rather falsify the whole formula.
The only XP that was supposed to be included is the base XP, before any modifiers. That way it sets a more direct account.
As for the data I used to test...
Like I said, I don't necessarily have all the resources, so I played around a thousand games or so and (since I only really have excel to work with at the moment) I typed in each player's stats from each game. I also used some from various clanmates, friends who play, and (although I'm a little ashamed to admit it) even a few "pro" players and such that I've seen around. I ran through mostly stats either on a game by game basis, but I did run through a few tank overall stats as well. I also ran some overall player stats through it, but since there's the slight problem of me doing it by hand I didn't want to waste several hours on 1 player going through all his/her tanks myself just to plug each one into the right parts, so I used the overall player stats as more of a kind of guideline to myself to see if I was still on the right path. Granted, that makes this not nearly as accurate as I might wish, but after about 9 different formulas, excluding various minor alterations of such, this is the one I finally came to. I'm always happy for feedback and ideas if more needs to be altered, but so far I think this one actually seems to work fairly decent. Which means that if using base experience doesn't seem appropriate, I can try and adjust accordingly. I do apologize for not making it clear earlier that that's what I meant by experience.
So.. any news on your (working) formula?
How long before you can use it?