I've been a small games developer and designer for years, and I've recently begun working on more serious design documents for bigger projects.

A common theme I'm running in to is imbalance when it comes to "chance" RPG mechanics. Critical Strike Chance. Chance to Hit/Dodge/Miss/Parry/Block so on. The biggest problem in modern RPG games is factoring in Haste (Attack Speed), since it compounds so aggresivly with the other base mechanics. Obviously, the more times a player attacks, indirectly increases their "rate" of critical strikes, or hits. This creates an immense imbalance, and most of the solutions come in the form of capping haste or utilizing diminishing returns or to killing the big stat increases.

As a designer and player, I don't feel this is a healthy way to deal with the issue. It's not a "fun" solution. Recently, gamers seen Blizzard's answer to this Haste issue in Diablo3, by halfing the stat increases on most all items.

Here is a practical example:

  • 50% chance to critically strike, with 1 attack per second = on average 0.5 critical strike per second.
  • 50% chance to critically strike, with 2 attacks per second = on average 1 critical strike per second.

The second situation is by far favorable, rather than increasing your Critical Strike Chance alone, since not only will you see more larger numbers (or hits in terms of a miss chance mechanic) per unit of DPS, you'll also be hitting more and games with Proc Chance mechanics also benefits. More Complex games balance such things with Internal Cooldowns and Weighing the stats against each other, but often times Haste still comes out on top as being the supremely powerful stat.

Is it practical to instead use a Rate to decide weather or not something happens vs stat weights, capping and cooldowns?
My simplified example is:
Critical Strike RATE = Crit Chance / Attacks Per Second

The result is basically a simple stat weight system. Mechanics such a proc chances still benefit from Haste, however it may be easier to change the damage output of attacks and abilities to reflect the balance. This keeps enjoyable haste mechanics in the game, which are fun to play. It also creates more depth for slower attack builds, rather than just an ability or proc benefiting from slow weapons.

Is this a near-sighted solution? Are there working examples of games currently on the market that don't cap or punish "haste" character builds?

  • 4
    \$\begingroup\$ Multiplying chances doesn't work like that. 50% chance is half as likely as a 75% chance. \$\endgroup\$
    – API-Beast
    Commented Jul 25, 2012 at 16:59
  • \$\begingroup\$ This isn't a measure of chance as per hit. It's a measure of the rate of critical strikes per unit of damage per second. In the second example you're nearly guaranteeing yourself 1 critical per second of damage. \$\endgroup\$
    – robphill
    Commented Jul 25, 2012 at 19:28
  • 3
    \$\begingroup\$ @Mr.Beast: They don't work like that either. ;-) \$\endgroup\$
    – Eric
    Commented Aug 2, 2012 at 17:37
  • \$\begingroup\$ @robphill It's 75%. Think of it this way: You flip two coins. What are the odds that one of them is heads (critical)? You have 4 possible outcomes HH - HT - TH -TT i.e. in 3/4 cases, you have heads (you crit) and only 1/4 cases you have two heads (two crits) \$\endgroup\$
    – Andreas
    Commented Jun 24, 2014 at 9:31

5 Answers 5


The problem you are describing is not necessarily about haste. It is about the multiplicative effects of increasing different stats. Haste increases hits per second, which increases damage and anything with a chance to happen per hit. Another example would be increasing +crit dmg which then increases the value of any +crit % chance.

You could benefit from extracting bonus hit procs from the critical hit event.

Instead of a talent that inflicts poison on the target when a critical hit occurs, give the proc its own independent chance of occurring. This will still scale with haste, but increasing critical strike chance will not increase the value of the poison talent.

Any on-hit chance is going to be affected this way by haste. World of Warcraft uses a proc-per-minute (ppm) implementation for things like trinkets that activate on hit or spellcast. This is primarily intended to reduce the randomness and clustering of procs.

If that is still distasteful to you, perhaps what you are looking for is not a haste mechanic, but something more akin to windfury in WoW. Pure haste percentage is always going to need high numbers before it becomes noticeable and those high numbers are what cause problems with other systems.

If you are just looking to see extra normal attacks, add a stat that gives a chance on hit to give a free extra normal swing that cannot proc a crit or any other special attack. In WoW this ability is called windfury and it is always more exciting to see than a flat haste percentage. Numerically is not that different from a critical hit, but it can still be dodged, trigger thorns, etc. like a hasted attack. If you want these extra hits at a regular interval, implement a ppm system.


The multiplicative nature of these stats are not the cause the imbalance you refer to. In fact, they tend to prevent one single stat from being dominant. For example, higher attack speeds increase the usefulness of boosting attack damage. Doubling either value will have the same effect on the DPS, but most systems automatically enforce doubling numbers that are already high is quite difficult.

As the player progresses, their increase in attack damage is often opposed by an increase in the enemy's defensive capabilities, which can scale almost indefinitely, unlike attack speed, which has a narrow 'logical' range. I suspect this is the main reason developers turn to caps or diminishing returns.

There are other options, however. By defining the on-hit critical strike chance as the ratio of crit statistic and attack speed, you effectively end up with a fixed estimate for the number of critical hits per unit time, removing a multiplicative relation from attack speed. A very common alternative is to use a stamina pool that haste quickly depletes. In other games, attack speed may have limited merit due to it being uncommon for an enemy to stay in attack range long enough for you to land more than one hit anyway. As for critical strikes, a lot of games don't bother with probabilities, but use different criteria, such as attacking from behind.

Most importantly, if you can't find a way to make it fun, eliminate the system altogether. Numerous RPGs don't even have variable attack speeds or critical strikes. Arbitrarily making equations more complicated doesn't add any interesting depth.


There's no intrinsic problem regarding critical hits etc. The small chance of doing critical damage can be disregarded and considered a small boost to the average damage if you prefer.

Obviously with any random event that occurs periodically, as you shrink the period the frequency of the event increases exponentially (because if the period is infinitely small, the frequency is infinitely high). The answer is to ensure that the period cannot approach zero, which means a lower bound on the period.

If you don't want to put a lower bound on it, you would have to decrease other capabilities at at least the same rate or higher. If you decreased them at a slower rate, then it would still end up tending towards infinity as the period shortens. But if you decrease at a higher rate, there's no point shortening the period as the player gets no benefit. So a clamp seems the most reasonable solution.

Here is a practical example. Think of damage in terms of units of DPS, or active combat time. 50% Chance to Crit, with 1 attack per second = (roughly)50% Critical Strike RATE per DPS unit. 50% Chance to Crit, with 2 attacks per second = (roughly)100% Critical Strike RATE per DPS unit.

No, the second example gives you 75% chance of at least 1 critical strike per second. However it gives you an average of 1 critical strike per second. These are different things!

  • \$\begingroup\$ Correct. I'm aware of the average chance in the second example, my implication is the rate, as you understand it being 1 crit per second. They are different things, and that's the point of an analysis between chance and rate. When you're looking at units of damage on a per second basis, the 100% rate is an accurate assumption, it's basically the exact same as you said: an average of 1 critical strike per second. \$\endgroup\$
    – robphill
    Commented Jul 25, 2012 at 17:19
  • \$\begingroup\$ And that is entirely what is intended. So... did the first part of my answer address your question or not? It's not entirely clear what you're after since you're using some fairly specific terminology. \$\endgroup\$
    – Kylotan
    Commented Jul 25, 2012 at 17:53
  • \$\begingroup\$ Partially. I was wandering if there were any examples of decreasing a random chance at the exact same rate of frequency. My specifically, I havn't ever seen this in practice and am unsure if it's a more "fun" system for the player, opposed to a capping system. However, I think breaking up crit specific mechanics in a category of play all their own is interesting gameplay-wise. As in, a "assassin" archetype has the ability is crit, whereas a mage or warrior archetype doesn't. I'm looking for something a live talk, rather than specific to a prototype/proof of concept or design documentation. \$\endgroup\$
    – robphill
    Commented Jul 25, 2012 at 18:17
  • \$\begingroup\$ I don't understand what you mean by "decreasing a random chance at the exact same rate of frequency". If you're suggesting that the chance of a 'critical' event could be done per second rather than per hit, so speeding up hits didn't affect criticals as well, then sure, it could, easily. As for whether it would be more fun, nobody's invented a "Funometer" yet. \$\endgroup\$
    – Kylotan
    Commented Jul 25, 2012 at 18:52
  • \$\begingroup\$ You're right, there is no metric for fun. I also know it's very possible. I was searching for designed alternatives, opposed to the status-quo approach. From a purely design perspective, a notion of "fun" comes with fluid design that isn't counter-intuitive to how it's used in play. I've rarely seen solutions to simple design mechanics, that fit the mechanic attempting to be addressed. \$\endgroup\$
    – robphill
    Commented Jul 25, 2012 at 19:25

Instead of giving just flat +crit chance bonus, you could adopt a stat which determines your crit chance. This is usually included in precision/dexterity/agility, depending on the game. Precision requires more and more stat points in order to get an increase in crit chance as you go higher, so at a certain point, the return on invest is so low, it would be better to invest in another stat (usually strength) to increase your damage.

This would still allow a player to create a character that crits (nearly) 100% of the time, but it's other stats (including strength) would be very low and it would have to rely on special effects caused by crit damage (like bleeding, life steal,...)

IAS can be countered with enemy curses that cause you damage every time you attack, or by simple making it a temporary activated ability with a downside: take 50% more damage while active, or cause less damage.

try to keep the damage boosting abilities in different attribute lines: crit chance, attack damage, crit damage and IAS should never be in the same line. (IMHO, I wouldn't put IAS in a stat line, since it has the potential to make other things overpowered, as you pointed out).


A higher haste value doesn't necessarily have to reflect a higher amount of critical hits. Many games use two different stats for calculations - base stats, and modifiers. (D&D is a great example). Why not calculate critical hits based on the base of the haste stat, but still reflect the critical chance? For example, a level 1 character has an unmodified base haste of 1. He hits one time per second. Once per second he has a calculation that gives him a chance to critically hit. The character then levels up to 2. He now has a haste level of 2 that allows him to attack twice per second. Critical chance is still calculated on base haste which is 1 allowing him to still only get a maximum of 1 critical hit per second. This is the route that some games go down, and often it's not quite as simple as I've described, but it's something to think about. It depends on the game, the situations and the core mechanics.


You must log in to answer this question.

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