EXECUTIVE SUMMARY
CRITS ARE COOL AND PLAYERS LIKE THEM
WHEN CRITS APPEAR IN INFINITE GROWTH GAMES, 100% CRIT CHANCE IS A PROBLEM
YOU HAVE A BUNCH OF OPTIONS HOW TO DEAL WITH >=100% CRIT CHANCE
THEY ARE ALL BAD TO SOME DEGREE
WHICH ONE YOU CHOOSE DOESN’T MATTER A LOT, BUT YOU SHOULD STILL THINK ABOUT IT
THINKING ABOUT WHY WE DO WHAT WE DO IS OUR JOB AS GAME DESIGNERS
In the game Deep Rock Galactic: Survivor (henceforth DRG:S), you regularly pick upgrades. One category of upgrades is critical hits. The two relevant upgrades are “critical chance” and “critical damage”. By default, your character has a 20% chance to land a critical hit, and a critical hit deals 200% damage. So 1 in 5 attacks does double damage. Cool.
DRG:S has no endless mode, but you can still expect to get a LOT of upgrades. Hitting level 60 in the end of a run is not unusual and in between the five levels are four stores, where you typically pick up between 2 and 5 upgrades. Which brings us to this article’s problem statement:
What do you do when a player’s critical chance exceeds 100%?
This seems like an innocent enough question, and maybe you’re already thinking of answers culled from other games you play. Maybe one of those answers seems like the “obvious” answer to you. But I’m going to try and get us out of “What” mode and into “Why” mode.
Let’s stay at our current level of focus and simply list all the possible answers we could come up with:
- We could allow the player to take crit chance upgrades beyond 100% and just have them do nothing. 100% is 100%.
- We could stop offering the player crit chance upgrades once they’re at or above 100%.
- We could warn them that they’re going above 100% and that any excess is wasted.
- We could convert excess crit chance into another stat, possibly crit damage.
- We could say that 100% crit chance simply increases your damage by the crit damage amount, and for any amount of crit chance above 100% we roll for crit again.
- We could introduce debuffs that lower your crit chance or give some enemies “crit resistance”, which effectively lowers your crit chance for attacks against them. Crit chance above 100% would be useful again.
- We could rework how crit works and have crit chance incur diminishing returns so that you approach but never hit 100% crit chance.
I hope that at least one of these options was surprising to you. Nothing is ever easy or obvious in game design. So let’s go through these options one by one and see what the drawbacks are.
Crit chance beyond 100% does nothing
This is just “hahaha FUCK YOU, PLAYER” as a design pattern. I don’t recommend doing this.
Yes, you could argue that knowing the system works like this and keeping in mind what your current crit chance is are forms of skill expression, but they’re not good skill expression. Bookkeeping is rarely an exciting skill in games, and “learn the idiosyncrasies of my design or suffer” is also not a great look.
Also, what are the chances players notice that they’re not getting anything for building over 100% crit chance and adjust their play next time around vs. they assume they must be getting something and get screwed without realizing? How do you think your players will feel if they find out that’s what’s been happening after playing your game for ten hours?
Stop offering crit chance after 100%
This seems like a decent option, but it invalidates one of the promises of the genre: infinite growth. The tension between what a game promises its players and what it can deliver on is one of the thorniest problems in game design. For more on this, see Alex Jaffe’s amazing GDC talk “Cursed Problems in Game Design“.
There is something positive to creating a “success state”, a “you did it” moment, but one of the great draws of critical is the randomness, that dopamine hit of sometimes getting the extra good outcome, and when you replace all outcomes with extra good outcomes, that dopamine goes away.
Warn the player they’re wasting their upgrades
Oof. In a way this is just number 1 with better communication, but in another way, this is even worse. You’re not just failing to build an interesting system, you also highlight to the player how you failed to build an interesting system. You’re lampshading your own failure.
Convert excess crit chance into crit damage
Teamfight Tactics handles it this way. When you go above 100% crit chance, half of your excess crit chance is applied to your crit damage. This is carefully tuned such that this is never the optimal thing to do: if you actually do want more crit damage, you should just build damage (or crit damage, where possible).
This feels like a copout, but depending on your constraints, this can be the correct choice. It makes sure the fantasy of infinite growth continues, even though the randomness is gone.
“Super crits”
A lot of games do this, and I feel in certain circles this seems like the “obvious correct” choice. Many bullet heaven games do this, Warframe this does, and so on. And the game we are ostensibly talking about, the bullet heaven game Deep Rock Galactic: Survivors indeed does it like this. So once you hit >100% crit chance, all your hits count as crits, but then you have whatever your excess crit chance is as a chance to roll another crit. So if your crit damage is 250% and you have 120% crit chance, you have an 80% chance to deal 250% damage and a 20% chance to do… yeah, which is it? Do you have a 20% chance to deal 500% damage or do you have a 20% chance to deal 625% damage? Additive vs multiplicative scaling can seem like a small difference in this example, but as we increase numbers they quickly diverge. In general, multiplicative scaling goes crazy while additive scaling stays linear. You can stack multiple additive scalars on top of each other and be fine, but once you add additional factors to multiplicative scaling, you’re quickly looking at runaway numbers.
But DRG:S doesn’t add a lot of factors. As far as I can tell, you have a crit chance, which wraps around at 100% and guarantees one crit for each 100%, you have your base damage (and all the additive scaling that goes into that), and you have crit damage, which I think is multiplicative with base damage.
Here’s the problem though: for the same “cost” (we’ll treat rarity as opportunity cost here; if you don’t know what that means, don’t worry. Pretend all upgrades have a cost and don’t worry about why I count rarity, that is to say common / uncommon / rare / epic / legendary, as part of that cost. It has to do with randomness.) you tend to get more crit damage than base damage. Without checking with the game right now, I think it’s +10% damage / +15% crit damage for the same rarity. And this makes sense, at first: crit damage isn’t guaranteed, so that should be priced into how much you’re offering.
But once you’re past the 100% crit chance mark, the tables are flipped: both damage and crit damage (at least crit damage x1) are now guaranteed, with crit damage only offering further upside in the form of multi-crits. This means that any “resource” you spent on base damage is now effectively wasted; crit damage is always better.
Give enemies crit resistance
This could work in theory but feels like a bit of a cop-out. In a way, this is rock-paper-scissors design: these enemies are crit-resistant, so you need to build >100% crit chance against them. It doesn’t help with the main problem of “crit above 100% does nothing to enemies that aren’t crit resistant”. It also may dissuade players from picking crit at all if it becomes viewed as an unreliable stat. There’s a lot of good design space in enemies with specific defensive strengths that have to be overcome either by playstyle (not as great a fit for Horde Survivors that generally index more heavily on build construction than actual execution of that build in the moment) or by picking the right offensive strengths against them, but crit is such a broad category of damage that it’s probably not a good fit.
Rework Crits
Easier said than done. Remember that in game design simplicity and elegance are always a positive until they aren’t. But crit is relatively easy to understand and exciting, at least in theory.
That said, what would this look like? Well, we could do some Maths[tm] and figure out how much additional crit chance and crit damage to give the player based on their current crit chance and damage to achieve a linear increase in damage output. We could nudge those values so that crit chance itself never gets above, say, 80%. That way there’s always some randomness.
There’s no reason this couldn’t work, but there’s also no reason to assume this would be better than a straight-forward two stat approach to crit chance and crit damage. It would make the math a lot harder to follow and would likely require more words in tooltips and other in-game strings. The more words in any given mechanical explanation the lower the chance players will actually read it.
Going Back to Goals
When you choose why you’d want to make one decision over another in game design, it helps to have goals in mind. And of course your goal is to make a fun game, but it helps to have more specific thoughts. For instance, a good set of goals for a critical damage system could be:
- Random outcomes lead to excitement
- Players are familiar with the trope of critical hits and expect to find them in your game
- It is another axis along which the player can gain power, making level up decisions more interesting
- It is a meaningful decision to invest in uncertain, RNG-based power that could either end up dominating the run if you get offered a lot more crit levelups or peter out and be useless.
The last one is interesting. A lot of the potential value in upgrades you pick in games like DRG:S depends on information you by definition cannot have: information about what upgrades you will be offered in the future. Whether or not it’s good to invest in, say, critical damage, depends strongly on whether or not you’ll be offered enough critical chance in the future. In this way, roguelike games are games of hope and betrayal as much as they are games of improvisation.
Who cares? Just pick one!
Designers care very much, and if you found the thought experiment above engaging and were thinking along, you may have a game designer in you. (Metaphorically).
Which is why I wrote this post. I don’t really think it makes a huge difference which model you pick. You could go into the weeds and tease out marginal advantages of one solution over another, but in the end of the day your game is unlikely to succeed or fail based on the critical damage model you choose.
But getting into the habit of thinking about these kinds of WHY questions is what makes a good designer, and eventually you will come across either a single question that demands this kind of thinking that CAN affect the success of your game or else you come across enough questions where your care in aggregate can help the game succeed. You don’t have to think about each and every choice you make with this level of analysis (that would be paralyzing), but you should be able to slip into analysis mode easily and quickly. Starting from a point of “similar games have done it this way and this isn’t where we want to innovate” is perfectly fine, but eventually designers should think through all these choices and spot potential areas for improvement.
Blue Sky brainstorm for crits
To finish this post off and just for fun, let’s think of a whole bunch of things that you could do with crits beyond what we described above. These are probably all terrible ideas outside of very specific contexts where they could work, but anyway:
Marrying infinite growth and RNG
So here’s a system that maintains the randomness of crits as they become infinitely powerful.
First, no matter what your actual crit chance is, you never have more than 80% chance to crit at all. 20% of the time, you do your base damage.
When you have more than 80% crit chance, we multi-crit based on that. Let’s say you have 120% crit chance and 200% crit damage (meaning you deal double damage). We take the excess of 80% and apply it to a double crit. So you have a 20% chance to do base damage, 80% chance to crit; and if you crit, you have a 40% chance to crit again, dealing 300% damage and a 60% chance to stay at 200% damage.
This would be hell to explain to a player (you probably wouldn’t want to try and just say, crits are good, trust) but would let you get infinitely powerful while still maintaining the randomness that makes crits crits.
Hooking into other systems
For instance, you might have an infinitely stacking debuff system with debuffs like slow, armor break, chance to incur crits, fire damage over time and so on. You could then say that while crit chance stop mattering for whether or not you crit at 80%, any excess crit chance multiplies the number of debuff stacks a crit applies.
Use crit as a hook
By hook I mean something like “when you deal damage”, “when you take damage”, “when an enemy dies” etc. Upgrades in roguelites tend to look like “when HOOK then OUTPUT”. Crits can become a hook for an entire economy of new outputs. Those could then each say what they translate excess crit chance to.
For instance, an augment could be “when you crit, also deal fire damage in X radius around your target”, and both the fire damage amount and the area could scale with excess crit chance. (Be careful in general when scaling two aspects that are multiplicative with each other with the same input. You quickly enter exponential scaling territory, which is scary.)
Let the player wear a hat
In League’s Arena mode, next to spending money on items you can also spend money on elixirs, which give you stats for only your next combat round. There is, however, an elixir that, while costing money, does absolutely nothing mechanically. Instead, it puts a random hat on your character. You can buy it multiple times to stack hats as high as you like. This is purely for bragging rights.
You could treat excess crit chance similarly: it doesn’t help you at all, so is strictly speaking wasted, but it’s translated into some kind of stat that is highlighted in the post-game summary. There’s a temptation to make this relevant to meta-progress, and maybe depending on your game that could be the right call, but I’d love to see players sharing end-of-run screenshots that read “…and they did all that with 147 blorble points, which represent wasted stats. Wow!”
Conclusion
In game design, you can overthink everything. In fact, you should want to! In order to ship stuff, pick your battles, but always be ready to drop into “why” mode. Crits are just one of a myriad examples. The fact players expect them because other games have had them isn’t bad and can be enough to guide your “what” choice, but you should still think everything through from a “how will this feel for the player” perspective.
Also, if you’re me, you should play less DRG:S. It affects your ability to release blog posts in a timely manner.