I'm considering a combat power(CP) estimation for a game I'm working on, which acts as a function of different variables, including attack, def, speed, etc.(I haven't decided the function yet).

Now my game(s) use an ELO Rating system. CP is such that, if two players with same rating and CP battled, they would both have expectations of 0.5

In particular, if we considered two players A & B with CPs X and Y respectively. {X: Y <= X} and Ratings R1 & R2 respectively. In calculating player's expectation, something called Real Rating(RR) is used.

RR1 = (R1 * X)/Y

The value to be added to RR1 after the match d is calculated as: K*(SA - EA)

The updated value of R1; R'1 is given by:
R'1 = R1 + (d/RR1)R1

Due to the fact that CP affects player's rankings, I want to calculate it properly.

I'm currently considering an FPS game.

My question is this:

Given two weapons W1 and W2 with damages: D1 & D2 {D1: D1 < D2} per shot, but different refire times: T1 & T2 {T1: T2 < T1} respectively which have the same DPS(Damage Per Second), should they receive the same 'Attack' score? If not how would you distribute their 'Attack' score?

I'm worried about this, since I want my game ratings to be as consistent as possible. I read online about one law which goes like this:

Speed of iteration is better than quality of iteration.

I'm guessing this means W1 should have a higher score? If so, how much higher in terms of W2?

  • 1
    \$\begingroup\$ Why do feel the need to artificially adjust players' ratings using stats from their equipment? The beauty of ELO rating systems is that they are self-correcting. Whether a player is more likely to win because they are more skillful or have better gear is irrelevant to the rating system. \$\endgroup\$
    – bcrist
    Commented Dec 18, 2016 at 6:27
  • \$\begingroup\$ Leaguea and tournaments are grouped according to cp. If someone ranks up from a lower league, there may be differences in ratings etc. CP is just a multiplier. The real reason though, is because I don't want players to gain inflated ratings by buying equipment.(in app purchases) Sone paying players may gain a massive advantage. I don't want them to be able to.inflate their ratings through purchases. You can win tournaments and duels through better gear. But it won't inflate ratings. \$\endgroup\$ Commented Dec 18, 2016 at 7:12
  • 4
    \$\begingroup\$ I don't think that this is possible to generalize because the value of damage over rate of fire depends on various circumstances which depend on your game mechanics, your map design and a whole bunch of other factors. \$\endgroup\$
    – Philipp
    Commented Dec 18, 2016 at 11:04
  • 1
    \$\begingroup\$ Have you considered that this approach may actually disincentivise players from buying gear from you? Given a higher gear rating, a player would need to achieve a higher win rate to proceed up the ranking at the same speed. However much math we might try to use to show this is perfectly balanced and fair, it's liable to be perceived by players as "using better gear slows your rank advancement" and that the system punishes paying customers. This might not be the dynamic you want. \$\endgroup\$
    – DMGregory
    Commented Jan 2, 2017 at 16:51

2 Answers 2


There are a few points to consider on this.

  1. Is there a maximum attack speed? If so, how much faster do you get by simply having attack speed modifiers or are there even any other modifiers to attack speed other than weapon speed?
  2. Is there a maximum hit point value? If so, could the player be killed in one or two hits? If so, does this make the higher damage weapons more effective in terms of combat?
  3. Same DPS could mean a whole lot of things. Depending on character attributes, dodging abilities, map design and general engagement time.
  4. Can the characters move while attacking? Being unable to move for X amount of seconds means you're also vulnerable to attacks for that amount of time once you start your animation, that would mean a lower score for the slower weapon.
  5. Is there HP regeneration? If so, does this lower the score of a weapon type or the other? (Generally, this would mean lower damage per hit is less effective.)

So, with all those points considered, if we make them all irrelevant to the question we come up with these:

  • You can move while attacking
  • There is no HP regeneration and players have the same amount of health but this doesn't put them in danger of getting killed too fast
  • Map has no elements that can be used to hide, i.e. simple dojo
  • Both weapons are identical other than one having higher attack speed but lower damage per hit than the other
  • Players cannot dodge hits (other than simply moving away)

Anyway, I have nothing else that comes to my mind, so if these bullet points are all true, then the weapons should be effectively the same.


If you are calculating ONLY the CP value of rate of fire versus damage I would agree that a weapon with higher rate of fire will value greater than a weapon with more damage even if their damage per second is equal.

However, you included ELO rating in the overall value calculation. The main reason fire rate is worth more than damage is because of the skill requirement to use a weapon that hits slow but hard. By having already taken the player's skill into consideration, you might not need to scale the value of a weapon by it's variation of stats.

Do however, take note that ELO rating value will only take effect after a player have faced a certain number of opponents and a player's overall skill level does not indicate his/her effectiveness with a type of equipment. So to calculate a player's overall capability with the current chosen weapon will involve a lot more than just slapping two different rating system together.

Overall, my answer to your question is Yes, but I cannot provide any formulae for you as there is a lot more involved in the calculation such as effective range, accuracy, recoil etc. of a weapon that affects the value of it's damage and rate of fire value. Also, it will instead be inaccurate is you sum it up with ELO rating. So I advise you to rethink another way to calculate a player's overall rating as there is too much room for error this way - or too much formulas, assuming you get it right after a large amount of calculation.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .