Author: Hillin (Chinese server)
today, we have an interesting guest article by Hillin, who actually is from China and plays on their private server. It’s his personal rating proposal and – whatever you might think of it – it’s very thought thru. Took me a while to grasp though, so 3 mins won’t do.
As we all know, in patch 8.8, an official personal rating system is live in game, and many players disliked it. Edrard had also written a post to discuss about it. In China, most players use a modified XVM algorithm, which in my opinion is not quite a good one. Finally I decided to write an article to demonstrate how would my ideal personal rating system be like. And here it is. Hope it can be published on your FTR site, so it could be shared and discussed by people all around the world. And sorry for any literal or syntax problems, as English is not my mother language.
A Personal Rating System: My Ideal Design
1. No personal rating (PR) system could be sufficient to measure the overall skill level of a player.
A PR system is implemented with simple or complex computation of gameplay statistics, many in-game events or actions which reflect the personal ability in strategies and tactics of a player could not be epitomized in these statistics. A PR system can only measure the personal ability of a player in a certain framework with a certain algorithm, and it is only able to ensure its fairness to all players within this framework. Anything other than how to give such a framework and an ideal algorithm, besides whether to use a PR system or not, is not discussed in this topic.
2. Implementability is not discussed in principle.
The major non-official PR systems lacks some statistic data, which is considered important in reflecting one’s battle skill, such as overall assisted damage (damage dealt to targets you are spotting, by teammates who are not spotting them themselves), makes it difficult to rate a scout player. In the PR system we are going to design in this topic, we intensively utilize a bunch of existing statistic data, in which, however, many could not be retrieved by non-official developers. This topic tries to inspire future PR system designs, so we principally do not discuss about implementability too much.
3. No detailed formula will be given.
As we’ve said above, many parameters of our PR system are not accessible, so it doesn’t make sense to give a detailed formula for the system. However, I will try to give draft formulas, with constants left unfilled, in order to help readers to understand this rating system more easily.
4. Examples in this topic are randomly provided.
1. The PR value does not simply reflect the personal ability of a player. The contribution to the team is more important.
It is easy to understand, because World of Tanks is a team-based game. Personal ability, such as damaged dealt, are important, however, a large-scale applied PR system will affect the battle behavior of players, and eventually the global atmosphere of the game in turn (e.g. IMO the official PR system actually encourages players to play more negatively). As for a team-based game, the PR system should encourage people to contribute to the team as much as possible.
2. Design from the view of followers.
The PR value, in one hand, is a utility to find out which aspect could be improved for a player himself, in the other hand, is a window to know your opponents. We should start from these two angle-of-views, in order to provide accurate information for these two kind of followers. Other parameters should be rejected.
a) Employ benchmark values based on statistics, rather than by experience; use relative values rather than absolute ones.
Major PR systems employ absolute benchmark values (such as the base damage for each tier) by experience. However, I consider a benchmark value based on relative statistics is more reliable. Such a value is calculated by comparing the stats of one player and the overall level, which reflects how the player is performing amongst all players.
b) In a single battle, Rating per Tank (RT) of a player makes more sense than his overall PR value.
It should be easy to understand, a player good at sniping might play bad while scouting. You are fighting an opponent on a certain tank, you care about how did he performed on this tank more.
c) The PR value should represent the recent performance of a player, rather than his whole history.
Everyone begins as a noob. What you care is your opponent’s current skill level, his history makes no sense to you.
1. The Absolute Rating per Battle (RB-abs) value
This value represents how a player performs in a single battle. It is the weighted sum of two values: the common part and the tank-specific part, and finally adjusted by the battle result.
a) The common part
The common part is basically the raw experience (with premium account and special premium vehicle bonuses exempted) you get, with the average Rating per Tank (RT) value of your teammates and opponents taken in count.
Raw battle experience (Xraw) is a composite factor, based on almost all sorts of battle statistics, computed by a complex official algorithm. It represents the performance of a player in an official way, in how the creators of this game wanted our play-styles to be. This official algorithm, in my opinion, have much more say than any other algorithms. Just as Edrard, the inventor of the Effective Value system, said in his post, if the raw experience per battle of a player is displayed in his personal statistics, and can be viewed by anyone else, there is no need to invent another rating system.
The average RT of your teammates (RT-teammate) and opponents (RT-opponent) are balance factors. The higher your enemies’ average RT and the lower your teammates’ average RT are, the higher rating point you will get from this battle. That is, you get bonus when you are fighting a strong enemy, or leading a relatively weak team, vice versa.
My draft formula for the common part of RB-abs is:
b) The tank-specific part
This part is based on several battle statistics, such as damage dealt, potential damage received, enemy spotted and assisted damages. However, different kind of tanks have different weights to these factors. Here we do not use a narrow sense, such as light/medium/heave tanks, TD and SPGs to categorize tanks, for there are many crossover tanks in the game, such as the Crusader (acts more like a medium but categorized as a light tank) and Bat Chatillon 25t (generally both a scout and a damage output, unlike many other mediums). Instead, weight schemas are defined in a per-tank basis, according to their characteristics.
The factors are:
Enemy spotted (S): the number of enemies you spotted (for the first time they are detected) is an important factor for scouts. This factor is heavily weighted for most light and medium tanks, less for others.
Damage dealt (D): an important factor for almost all kind of tanks, especially for damage outputs. Weights a lot for TDs and SPGs, less for heavies and mediums. Combat light tanks (such as AMX 13 90 and WZ-132) also have a relatively high weight on this factor, however pure scouts (e.g. M24 Chaffee) has minimum weight on it.
Assisted damage dealt by spotting enemy (Aspot): Very important for scouts. Heavily weighted for most light and medium tanks, less for others.
Assisted damage dealt by detracking (Adetrack): A minor factor for all tanks.
Potential damage received (H): Important for tankers, mostly heavy tanks and heavy-armored TDs. Less weighted for lighter heavies (such as Tiger and AMX 50 series) and tough mediums (such as E-50 and T-54), minimum for other type of tanks.
Capture points and defense points (C and F): Equally important for all tanks, these two factors are very important for the team, while defense points are even more important.
While recording and calculating the damage-related factors, the RT and tier (T) of its related target must be taken in count. For example, the target you hit, or the source of potential damage you received. The ratio of his and your (RT × T) value will be multiplied to the factor score. The higher the target’s RT and T is, the more score you will get from this factor. This is to encourage you to fight high-value targets rather than kicking around noobs, which is beneficial to your team’s interest.
The formula for this part might look like:
Where Tbattle is the tier of battle (1~12);
ks is the basic score of each enemy spotted, for example, 20;
WC and WF are weight factors for capture points and defense points, respectively. They are the same for all tanks, their values, for example, might be 0.5 and 1.5 respectively.
For instance, the weights for Bat Chatillon 25t might be (the sum of weights does not necessarily to be 1.0):
And the weights for E-100 might be:
c) Battle result adjustment
The battle result, of which its integration is literally the win-rate, is a global factor to RB-abs. Although Edrard did not agree that win-rate is a valuable factor, in my opinion, everyone in the team is responsible to the battle result, conversely, the battle result reflects how a player is performed in its own way. Furthermore, according to Design Principle 1, our rating system should encourage players to consider the interest of the team as the most important thing, that is, to win.
The final RB-abs value thus will be:
Where kresult is the battle result influence value, for example, it could be 1.0 on win, 0.75 on draw and 0.5 on lose;
Wcommon and Wtank are weight factors. Their values, for example, could be 0.3 and 0.7 respectively.
2. The Rating per Tank (RT) value
A player’s RT value of a tank, is his time-aware average RB-abs value of this tank, normally distributed in all players.
Simply speaking, the RT value should be within an interval of 0 to 200 (or 0 to 1000 or any other interval, not important). Most players has an RT value near 100. First class players might reach 190, but virtually no one could reach 200.
The term “time-aware” means, recent battle RB-abs values weights more than ancient ones. This is discussed in Design Principle 2c.
Most popular PR systems give absolute rating values, which do not take the rating of other players in count, makes it difficult to tell how the player is performing amongst all the players. As we’ve mentioned in Design Principle 2a, the normalized value will help followers to understand much faster and easier.
In practice, the RT value might be very inaccurate on a newly brought tank. We could use the personal rating (PR, which is discussed in the following section) instead in such case, until a certain amount (say, 20) of battles are played with this tank.
Another practical problem is, the RT is a distributed value, so if one player’s RB-abs changed, all the players’ RT value will change with it. It is virtually impossible for the server to calculate all players’ RT on the fly. This however can be resolved by applying a periodic update mechanism, which will not be discussed in this topic.
3. The Personal Rating (PR) value
The PR value is simply the time-aware and tier-weighted average of all his RB-abs values. The weight value is related to the tier of tanks, thus playing on low tier too much will result in a low PR value; playing on higher tier is encouraged. The PR value is mostly used to exhibit oneself, in some cases, it will be used to temporarily replace the RT value, as we’ve discussed in the section above.
In this topic, I have demonstrated my ideal design of a personal rating system for World of Tanks. This system is complex, many factors are considered while calculating the rating value, from common battle statistics to value distribution; but the purpose is simple: it tries to measure how a player is performing in the game. It is virtually impossible for a third-party developer to implement this system, the official might be able, but there is little possibility for them to do it. However, this does not mean that this system makes no sense, I hope its design will help and inspire future design and development of rating systems, even the official one perhaps. Anyway, thanks for reading.