this is actually a relatively simple system for calculating damage, which i suppose makes sense in a game where you're constantly developing new content. if every unique weapon and spell got its own formula like some JRPGs like to do, i can't even imagine the balancing headache
@@winterthemuteson more formulas does not mean each formula takes more cpu time. you can have 1 formula for all spells or a unique formula for each spell but it would still run the math calculation X numer of times anyway.
@@CraftDoorable At the CPU/GPU level different formulas very likely break down into a different sets of instructions. And depending on the amount of instructions and how often the processors need to switch between them it can have devastating consequences on performance. I am talking about cache misses(also called paging). Reducing it is typically priority #1 when it comes to optimizing runtime critical code.
Also worth mentioning that longer cast spells have larger cooefficients, based on a 6.0 second cast. Thus, before Cata, Shadowbolt, Firebolt, and Lightning Bolt were some of the best scaling nukes out there. Can't comment for after, I burned out before 4.1. This is why AP PoM Pyro was so scary on a mage made of leaves, and Lovecraftian on a t3 mage.
And also healing has always had larger coefficients than damage spells, for example greater heal had somewhere around 130% in vanilla, where Holy Word: Serenity has around a 1000% coefficient today
Then there were the mana efficiencies... and you would downrank and not go oom after a few spells. Also, PVP... just tap people with rank 1s to keep the debuffs on them before you could zap them.
@@wobblysauce Also abusing the 5-second rule to force a large tick of regen by spamming instants as a priest/druid in TBC/Wrath. It had its uses in Vanilla, too.
I know right. Especially since in PoE physical damage reduction works relative to the damage number (meaning the % reduction can increase or decrease based on how strong the enemy is which you face) and so many more things xD
also remember that not everyone has played wow at all and have no idea why they clicked on a video about wow math (unless it was for thor's sultry, velvety voice)
still not balanced when one class does 1m damage per minute and another does 1m as an opener... in 10 seconds. then does almost nothing for the remaining 50 seconds. Makes ya think what one bubble can do...
@@Ekvorivious What you just described is burst DPS vs damage over time. Over a set period of time those two classes will end up with roughly the same DPS overall.
WoW's never been balanced, lol. I have no idea why blizzard has always struggled with keeping classes playing on the same level throughout an expansion, but I've played through 3 expansions to end-game raiding and it's always been frustrating when I'm keeping up with everyone until they get a few pieces of gear(usually set piece, trinkets, or weapons) and just can't keep pace due to the limitations of the class(warlock/druid). WoW never needed 12 button DPS rotations, raid bosses with 20 mechanics, or completely homogenized classes. It just needed to be fun, the bosses needed to be cool, and classes only needed to be distinct from each other.
Annoys me to no end that Blizzard feels the need to tell me the 'base damage' or 'base healing' amounts for each of my actions (eg my Living Flame on Pres claims to heal for 340k, but it actually heals for closer to 480k cos of gear etc), and yet the same game also says that my trinket has 'a chance' to trigger an effect (eg 'your damage and healing actions have 'a chance' to heal an ally for X healing'). Can I please know the 'chance' without having to go to a 3rd party website Blizzard? Having to go and sim my gear because I don't know if Trinket A is better than Trinket B because I don't know their proc rates, very fun
@@michaelkennedy5730 Bit hard to, when the trinket I want to compare to my current setup, is from the Great Vault, and choosing it to 'manually test' as you suggest would mean that being my once-per-week choice
In the Monster Hunter games, the fans have done similar calculations, namely called Motion Value (coefficient), Attack Values (damage value on weapon), Bloat Value (a hidden multiplier on the displayed damage value of a weapon meant to make weapons with many large coefficients "look stronger than" weapons with many small coefficients), and Hit Zone (Monster's defense by body part). It's always a fun challenge to determine when a flat modifier is added/subtracted within a damage calculations!
The moment he said "coefficients" and mentioned percentages, my brain went "Oh, like Motion Values in Monster Hunter." For those who don't know, Monster Hunter games have simple math behind the damage, but it uses very specific values for different things. You have damage resistance values based on what part of the monster you're attacking and your damage type (slashing an armored wing is going to deal less than hammering an unarmored face, that kind of thing), and then you have the Motion Value, which is the percentage of your weapon's Attack power applied to a hit. This is why a Greatsword with 100 attack and Dual Blades with 100 attack will see significantly different damage numbers. DBs use a lot of rapid, low-MV swings, while GSs will swing once with MV in the 50-100% range. They went above and beyond making combo hits deal different damage, and gave every single weapon attack its own unique damage coefficient.
Souls games do basically the same thing: you take your base damage + scaling to get your AR, then apply a motion value based on the attack, then add any weapon buff damage(doesn't scale off MV, I'm not sure about weapons with inherent split damage that are buffable though tbh, but I think the base damage part is effected by MV and then the buff is slapped on top. except DS2 cause DS2 is weird), then it goes through flat defenses and then gets affected by absorption and out pops a damage number. This is part of why increasing attack is stronger than absorption: if we have 2 10% increases then for attack it's 1.1 x 1.1 for 1.21 and for defense it's 0.9 x 0.9 for 0.81 or 19% lower damage hence a 20% armor being better than two 10's
Only minor quibble is there are various kinds of damage that fall under the header of 'physical' and some of them bypass armor (ex. most things that are 'bleeds'). But that's like a minor nitpick that most people won't need to care about. Very good explanation.
Completely agree - it's an easy way to understand rather quickly what abilities are most efficient in any particular situation instead of worrying about the specific math involved.
Yeah no, showing potency on abilities instead of the actual damage is a massive downside and people have no idea how much their abilities are actually doing. Even though it's as simple as 150 potency is 50% more than 100 potency, people still cannot grasp this idea.
@@Sammysapphira The problem with that argument is that potency is the primary input to how damage is calculated. Within the same job, there is never a case where 100 potency is worth less than 110 potency, or instance. Your higher potency abilities *always* do more damage, so it is *always better* to use the 150 potency option over the 100 potency option. Because of this, listing the potency is effectively the same thing as listing the exact damage you would do after all other calculations. This is exactly why theorycrafters optimize DPS rotations by trying to get the most potency within a certain time frame (with few exceptions, not considering party buffs), and why jobs that have more potency available will almost always out DPS other jobs (e.g. SMN lvl 70 for UCOB/UWU; exceptions for ranged physicals). The people who don't understand this are people who are confused by the fact that 2 is bigger than 1. Ironically, this population seems to include almost exclusively theorycrafters.
@@Sammysapphira But is it worse that showing that one spell does 17495 and another does 5914 damages per second over 3 seconds, and you have to figure out which does more with that knowledge instead?
This is actually a pretty simple calculation, despite not actually being all of the WoW Damage formula. After all, there's critical damage. Additionally, games can sometimes feature seperate elemental damage that's a coefficient in and of itself, usually applied as base multiplier, not as a coefficient, and you often clamp values between a min and max. A lot of games prevent 0 damage by capping at 1, and sometimes games will cap damage numbers, though this used to be done more often when you had to allocate a specific fixed number of bytes to the damage number. (You can see that in the old final fantasy games, for example) Also note that quite often, damage formulas will be invariably more complex when particular game experiences are desired. For instance, some games benefit from downscaling the value difference based on the level difference to ensure that attack does not outpace damage reduction too quickly. This is done, for instance, in games where it's desireable for the progress to be slow and gradual, so monsters don't become too much of a pushover too quickly and likewise, a small level handicap will not make a fight against a stronger creature immediately unwinnable. There's a lot of magic happening under the hood to mathematically design a particular game experience.
Or go like D4 where you have a few different "damage increase buckets" where the buckets are multiplicative between themselves, but everything within the same bucket is additive. When you get 100 new items and you have absolutely no idea if any of them is an upgrade of your gear or not - that's very, very bad design.
Idunno, there's a bit more to WoW's formula than this and crits, why is my actual damage double the amount it says on the tooltip while also still changing based on other known effects? Why does the damage of a skill that uses both of my weapons change by more than expected when I switch them around? Why are basic skills almost more damaging than higher tier ones that also cost more resources to use? The multipliers aren't that big in difference? Why do the odds of only some skills and items show a percentage? Does the damage from a trinket scale in any way? blizz is really plagued with not having an open book policy on stats
There are actually multiple spell effect types to do damage in WoW (thanks for original TBC for leaking all the effect names) school damage --> plain damage that has a basepoints value normalized weapon pct damage --> using a percentage of your normalized weapon damage weapon pct damage --> non-normalized weapon percent damage there are alot more but these are the big three and are used the most. Since Cataclysm onwards, these spells have a scaling multiplier that scales with your level and/or vs the target level since Legion. So basepoints and weapon damage can scale as you level up Then you have either a spellpower or attack power coefficient. Spellpower coefficients also scale with level delta data. Then there are some special case spells which use a special formula which is often written down in tooltips and parsed by the client into a value format (e.g. "A disease dealing ${$m1*1.15+$AP*0.055*1.15} Frost damage every 3 sec") --> which means: min value of the first effect + 115% of your melee attack power * 0.055 * 1.15 In newer expansions they no longer split spellpower and attack power into separate coefficients, they instead use one coefficient for your primary stat.
Risk of Rain 2 has PROC coefficients on top of these damage coefficients, which affects the CHANCE of triggering item effects when attacking, which is pretty cool
As a PoE addict who sits in planners half my playtime and reading spreadsheets, having never played WoW to an extensive level, this makes more sense than I thought it would.
@@NoChance-oz4dd The PoE devs seem to be very serious and motivated about their game, so there's a possibility they have combined simple systems like this one with extensive playtesting and post-release tweaking/hotfixing. I've only ever dabbled in PoE, I don't think I ever even made it to or past chapter... 9? So, I have no clue how often hotfix patches happen.
Percentage-based damage is a highly useful tool for many different kinds of games and can be used in even more ways than this too. Some games that support having parties of multiple players at different levels implement percentage-based damage by having your attacks dealing a certain percentage of the enemy’s health bar, rather than a fixed value. This means a level 1 player and level 200 player on the same party will deal the same damage to the same enemy, making it so playing with highly over levelled or under levelled friends isn’t irritating or devoid of fun and challenge. So, simply put, just use percentages to represent attack damage. Even if you don’t think you’ll need it now, it will save you time if you change your mind
Dofus had kind of a similar approach, where if you were going for multiple hits, flat reduction and flat + damage was a lot stronger than percentage. But when you were spinning up big numbers, percentage got a lot more interesting.
Eyyyy I was actually thinking about Dofus too, played that game so much. The multiplier was the other way around tho, the attack had a base damage, and it got multiplied by (1+stat/100) The whole formula was (base*(1+(stat+potency)/100)+flatAttack)*(1-percentDefense/100)-flatDefense Where base is a random number between two numbers, that depend on the spell. If I remember correctly
There's also the talent tree aspect of it, which ideally would not be calculated for every attack. Rather than the code looking at how many points you've spent, looking up a % on a table, then using that, it should hopefully just store a value in a single place for the attack calculations to source in. This eliminates hundreds of thousands of unnecessary calculations. You also have mitigation buffs on the target of your spell which also have to be taken into consideration.
The problem with big numbers is that require all those calculations to reach a reasonable number at the end. That's why in Diablo III we reach trillions of damage (literally), because the numbers are inflated. I hate that, I rather have small numbers that make sense than big numbers that don't.
That's kind of because the 40 000% dmg increase from sets and then have another 300% multiplicative increase from a legendary, and then have another 200% multiplicative increase from elemental, and everything was multiplicative of the "basic" multipliers. Can't remember if there were damage amplification debuffs on enemies like in D4 or not. Yeah, this is one the things that disgusted me in D3. Not the numbers by themselves, but the absolutely ridiculous power jump just from getting your desired set.
The big numbers were fine. Its just numbers after all. The problem was how fast they scaled. This is why “no nerf” policy is so dumb. Nerfing isn’t always a bad thing.
yeah I’ve never liked ridiculous numbers in the game. just causally having one spell do 150k and it’s not even a big crit is just very zoomerish to me. I don’t miss a lot about old wow, but I do miss the numbers being lower
Risk of Rain 1/2/R work the same way, damage of abilities and items is (for the most part) based on a % scaled off of your characters base damage, which scales with character level.
I realllyyyy want more content like this. There's little to nothing on how in game calcs or theorycrafting is done and some things like being able to think through what you did and make a conscious decision that yea i should wear my flat reduction trink on fort week would be so beneficial to the community.
bro the way this guy explain things is soo amazing and he always makes simple, sometimes i find some video or shorts of him explaning stuff and i always understand everything even tho english is not my first language
Fun fact this is similar to how League of Legends calculates Armor Penetration. League goes by Percentage based models first (Armor pen %) THEN applies flat lethality armor reduction (-20 enemy armor) to get the base armor you're striking against. THEN you take the damage you want to apply and filter it through the reduced armor number and you get the damage.
There is (or was?) an AddOn called Dr.Damage, very popular for xpacs like WotLK which I assume are so old that all these coefficients have been calculated or reverse engineered long time ago, where it shows you all the stats for damage/heal of each spell on hover, excluding defenses of target ofc, and all numbers were updated in real time so it would show the change whenever you received a buff or a talent was allocated. Sadly, I never encountered a similar addon last time I played, and Dr.Damage was discontinued for recent expansions :(
That's interestingly complex. I'm always a fan of how damage and defense work in games and while they usually work of the same calculations and principles, it's the outliers that interest me a lot.
I was always under the assumption that you did the flat calculations first then the armor/verse. That makes that trinket SOOOOOOOOOO much better wtf. Good thing I kept it in my warband bank for my blood DK alt
I think most games use something like the coefficient, in PoE we call it damage effectiveness. Although PoE separates additive multipliers and multiplicative multipliers into "increased damage" and "more damage" respectively, which I think is kinda cool.
Ah, okay, so to calculate my ability damage, I determine the classes base damage, determine the damage coefficient, apply it against their armo- Oh, wait, right, tier bonuses, okay, we'll add that in and oh, sure. Talent points, okay so we have that added in and- Oh, right, trinket effects! So we have those figured out and... Mastery adds damage percentage too? Okay, so we add in the percentage damage of mastery on top and OH! We almost forgot versatility.
Monster Hunter uses the same system. You've got your Attack Value, which is that first number and what shows up on your weapon when you check your stats. Then every move you can do has what's called a "motion value" which is the coefficient that determines how much damage the move gets relative to the weapon's Attack Value. Sometimes they fudge this a smidge though and they will do what's called a Bloat Value, which is that slower weapons will display a higher Attack Value on the weapon screen. The idea is that because a slow weapon hits harder, it should have a higher attack right? But no it's all down to just significantly higher motion values. Unfortunately, they still don't list the motion values in game.
This brings me back to buildcrafting in MMOs back in the day. Finding the optimal damage rotations for various cases (burst vs sustained or stationary vs mobile), the best way to mitigate damage against various opponents (are we taking lots of small hits or few strong hits?). Also, with multiplicative vs additive vs flat scaling, how do you think this changes when you work in seconds per x or x per second? I remember one case in Warhammer Online, where you had auto attack speed buffs that worked on your attack speed. A common buff was 50% after a crit. So if you have a 2.0 speed weapon (1 attack every 2 seconds or 0.5 attacks/s), how does a 50% buff work? Does it reduce your speed by 50% to 1 second per attack (effectively doubling your speed)? Or does it work on the reciprocal taking you from 0.5 to 0.75 attacks per second (1.5 speed). In Warhammer this originally was the former. So a 2.0 speed weapon went to 1.0 speed. Now, how does this stack if you have multiple sources? Well, originally there weren't really that many sources each class could get. There was the 50% for some classes, and a 15% from an item set. They went with additive for those. So you had 50 + 15 = 65% reduction. Which takes your 2.0 speed weapon to 2 * 0.35 = 0.7 speed or ~1.4 attacks per second. That was strong, but not gamebreaking as auto attacks weren't the biggest source of damage, and you gave up more in other stats than you gained from the additional 15% buff so no one really bothered. Then, they added some really strong, temporary weapon enchants. One of which was a 45% buff to attack speed on a % proc on attack for a total of 95% buff. This takes your 2.0 speed weapon all the way down to 0.1 speed, or 20 times faster attack rate than normal when you trigger both buffs. Which as you can imagine was quite broken. You went from doing normal damage to opponent is dead in less than a second once you proced both buffs... Conversely, if this worked on the attacks per second stat, it would simply take you from 0.5 to 0.975, an actual 95% increase. They quickly changed the scaling to be both multiplicative and work on the attack rate rather than the attack sped so that it could never tend to zero speed / infinite rate again.
@@treeaboo yes, but i think not many people realize it, even my friend who is currently chasing math majors still said .23 as "point twenty three" instead of "point two three"
I would LOVE an explainer on how mob scaling factors into this on events like Radiant Echoes. For example, a level 61 could do significant damage to the same mobs that are being fought by level 69s.
@@litmus4inanity you can apply something like adjustedDamage = damage * enemyRealLevel/myLevel. Then if you are higher level than the enemy it is going to reduce your damage and if you are lower level it will increase your damage. Then you can just write a similar HP view that is adjustedHP = normalHP * enemyRealLevel / myLevel. They likely have a ton more complexity because of things like armor scaling with level difference, I was a classic player/theorycrafter so I’m not sure what mechanics have changed since 4.0 and never worked on mob scaling but that’s likely a reasonable starting point for how they designed it.
What about level scaling? I assumed it would take my final damage number as you described, scale it based on my level, and then subtract that from the enemies scaled hp, but confirmation would be good. Also pretty sure that implies everyone sees different numbers depending on their level which is lame. And I wonder if you know, is the final number I see my damage before or after level scaling (ie, does it calculate my damage, scale it and subtract that from the mobs scaled hp, and then scale it back up to show me a number, or just show me the first damage number it calculated before scaling. The numbers would be slightly different I think because of rounding)
Worst part about scaling is nobody knows how it works, Blizzard has never revealed. What we do know is the obvious, lower levels have a much easier time and higher levels are much slower even with better gear and talent points. Quite frankly it feels horrible and anti-RPG.
For some games the calculations can occur in different orders, or be additive instead of multiplicative. Some also have a scaling factor based on level differences. I like theorycrafting dps builds for games that i play, but accounting for defensives is usually beyond me lol
This is why I stopped playing in WotLK. Not because I didn't want to do this... but because once I started, I couldn't stop. My friends would all joke about how I respecced every couple of days because I wanted to figure out all the coefficients and formulas for maximal damage or damage mitigation. Now I'm a math major... and I do the same exact shit.
I've been trying to find the equivalent forumula for The Witcher 3 wild hunt, and it's a mess. You character has attack power, and the sword has damage, but % damage boosts work off the weapon's base damage and not your character's damage, and then there's crits and critical damage multipliers that also work off the base weapon damage as far as i can tell (so everything stacks linearly as percentage points, not multiplicatively like compounding +%), but then there seem to be some bound when combining damage boosts with crits that make it scale less than both multiplicative and linear percentage points when you stack a lot of both. I tried going full glass canon build with dodge tank (like i did in vanilla WoW with rogue on one of my characters) and while fun and powerful it scaled less well than I expected. I guess it would have been too OP to single-hit crit or 3-4 hit kill many bosses.
Do we know the order of operations for each affect though? If the flat is taken first, it's pretty bad, but if it's taken after all other calculations it's pretty good, for a tank in this case.
im over 50, with a college degree, i did not understand anything you said math wise.... but i appreciate you working it out for us and making me not feel like a complete tool at the same time!
I'm wondering about stat scaling in WoW. I liked smaller numbers of Vanilla, TBC and Wotlk, but in Cata those numbers rose quickly up and after MoP they did stat squish back to Wotlk, only to end up to nearly MoP numbers in single expansion.
Pretty nice for me as I’m developing an mmo-like combat system (RuneScape combat, it won’t be mmo but I’m using GAS so I will be able to play with my friends) at the moment.
It makes sense in the context of, say either through weaknesses or debuffs, defense numbers can go into the negative, and damage gets _higher_ after the first defense steps, not lower. If you applied flat reduction _first,_ you could get into situations where an attack that's supposed to be super effective gets absorbed by the flat before getting multiplied by the vulnerability. Flat first works best in games where defense numbers can only ever be positive. (I don't play WoW, but I've seen in other comments some mention of how armor penetration works, where it's a flat number that subtracts from the enemy's armor value, and if your armor pen is high enough you can cause defense to go negative, which results in a positive multiplier being added to damage. Flat being added after rewards situations like this.)
I think this is one of the reason grasp FFXIV potencies better than other MMO's because it always says that my stabby move will always do, say, 220 potency, regardless of level. If you tell me something does X amount of damage, but behind the scenes it's actually does Y because of a bunch of behind the scenes calculations, you just end up confusing me when it says it does X, but it actually does Y, and I'll go through the entire game not realizing that a thing I obtain at lvl 20 is actually pretty damn good when the numbers keep changing depending on my gear.
this is actually a relatively simple system for calculating damage, which i suppose makes sense in a game where you're constantly developing new content. if every unique weapon and spell got its own formula like some JRPGs like to do, i can't even imagine the balancing headache
The simplicitly also helps with lag in a game where you have dozens of damage mutlipliers going on like twenty people at once.
Then there's old games like EQ that did d20 rolls under the covers.
@@winterthemuteson more formulas does not mean each formula takes more cpu time. you can have 1 formula for all spells or a unique formula for each spell but it would still run the math calculation X numer of times anyway.
Most jrpgs does the exact same thing though? FF 1 spell potency
@@CraftDoorable At the CPU/GPU level different formulas very likely break down into a different sets of instructions. And depending on the amount of instructions and how often the processors need to switch between them it can have devastating consequences on performance. I am talking about cache misses(also called paging). Reducing it is typically priority #1 when it comes to optimizing runtime critical code.
"It's all math?" 'Always has been.'
bot stole ur comment so liking it for the algorithm
you know its serious math when guy whips out two calculators
It is not
2 calculators? That's cute
only two? ive needed over 8 before to do one part of an entire calculation lmfao
bro it's basic 5th grade math
@@Snxgur oh Lord.
Also worth mentioning that longer cast spells have larger cooefficients, based on a 6.0 second cast. Thus, before Cata, Shadowbolt, Firebolt, and Lightning Bolt were some of the best scaling nukes out there. Can't comment for after, I burned out before 4.1.
This is why AP PoM Pyro was so scary on a mage made of leaves, and Lovecraftian on a t3 mage.
And also healing has always had larger coefficients than damage spells, for example greater heal had somewhere around 130% in vanilla, where Holy Word: Serenity has around a 1000% coefficient today
Then there were the mana efficiencies... and you would downrank and not go oom after a few spells.
Also, PVP... just tap people with rank 1s to keep the debuffs on them before you could zap them.
@@wobblysauce Also abusing the 5-second rule to force a large tick of regen by spamming instants as a priest/druid in TBC/Wrath. It had its uses in Vanilla, too.
@@wcjerky Good times... some also did the mana drink spam on steps... always fun.
Thor was the one who really did the calculations in the leroy video.
@@robertbuttlar8008 Thor is him
Nah, that was Abdul, Pi or Aurea was the raid leader
I raided with PALS FOR LIFE, aka the Leeroy Jenkins Guild
@@hitenmitsurugi489 you don't pick up on sarcasm or satire very well do you?
@@robertbuttlar8008 Not everyone does, whats your point?
I just learned I can have multiple calculators open at the same time.
This reminds me that not everyone has played path of exile or passed their math class.
"That's called multiplicative scaling"
More or less heard about it^^
@@Kostchei
Everyone: "Less is more"
PoE players: "More is more" (... than increased)😂
I know right. Especially since in PoE physical damage reduction works relative to the damage number (meaning the % reduction can increase or decrease based on how strong the enemy is which you face) and so many more things xD
also remember that not everyone has played wow at all and have no idea why they clicked on a video about wow math (unless it was for thor's sultry, velvety voice)
@@Giraffinator Thats me
At what age did you discover that you can open multiple Windows calculators? Me: 47y
You can open multiple windows calculators?
Makes sense, quickest way for a MMO company to balance a huge game like that.
still not balanced when one class does 1m damage per minute and another does 1m as an opener... in 10 seconds. then does almost nothing for the remaining 50 seconds.
Makes ya think what one bubble can do...
@@Ekvorivious What you just described is burst DPS vs damage over time. Over a set period of time those two classes will end up with roughly the same DPS overall.
near every games work like this
@@Ekvorivious I bet you ate glue in school mate.
WoW's never been balanced, lol. I have no idea why blizzard has always struggled with keeping classes playing on the same level throughout an expansion, but I've played through 3 expansions to end-game raiding and it's always been frustrating when I'm keeping up with everyone until they get a few pieces of gear(usually set piece, trinkets, or weapons) and just can't keep pace due to the limitations of the class(warlock/druid).
WoW never needed 12 button DPS rotations, raid bosses with 20 mechanics, or completely homogenized classes. It just needed to be fun, the bosses needed to be cool, and classes only needed to be distinct from each other.
Annoys me to no end that Blizzard feels the need to tell me the 'base damage' or 'base healing' amounts for each of my actions (eg my Living Flame on Pres claims to heal for 340k, but it actually heals for closer to 480k cos of gear etc), and yet the same game also says that my trinket has 'a chance' to trigger an effect (eg 'your damage and healing actions have 'a chance' to heal an ally for X healing'). Can I please know the 'chance' without having to go to a 3rd party website Blizzard? Having to go and sim my gear because I don't know if Trinket A is better than Trinket B because I don't know their proc rates, very fun
Not to mention the trinket's internal cooldowns of when it can even have a chance of proccing again after a previous proc.
Hear me out. You could just try trinket A for a week, then trinket B, and compare results yourself? That sounds a lot more fun than this "sim" stuff
@@michaelkennedy5730 Bit hard to, when the trinket I want to compare to my current setup, is from the Great Vault, and choosing it to 'manually test' as you suggest would mean that being my once-per-week choice
It's usually a 45 seconds cd, some are 2 min, trinkets of the same ilvl are usually all the same, usually.
In the Monster Hunter games, the fans have done similar calculations, namely called Motion Value (coefficient), Attack Values (damage value on weapon), Bloat Value (a hidden multiplier on the displayed damage value of a weapon meant to make weapons with many large coefficients "look stronger than" weapons with many small coefficients), and Hit Zone (Monster's defense by body part).
It's always a fun challenge to determine when a flat modifier is added/subtracted within a damage calculations!
1:06I agree with Chat.
A coefficient is literally just a number that you multiply another (variable) number by.
The moment he said "coefficients" and mentioned percentages, my brain went "Oh, like Motion Values in Monster Hunter."
For those who don't know, Monster Hunter games have simple math behind the damage, but it uses very specific values for different things. You have damage resistance values based on what part of the monster you're attacking and your damage type (slashing an armored wing is going to deal less than hammering an unarmored face, that kind of thing), and then you have the Motion Value, which is the percentage of your weapon's Attack power applied to a hit.
This is why a Greatsword with 100 attack and Dual Blades with 100 attack will see significantly different damage numbers. DBs use a lot of rapid, low-MV swings, while GSs will swing once with MV in the 50-100% range. They went above and beyond making combo hits deal different damage, and gave every single weapon attack its own unique damage coefficient.
oh wow that's fascinating, thank you for pointing that out.
That's so cool!
Souls games do basically the same thing: you take your base damage + scaling to get your AR, then apply a motion value based on the attack, then add any weapon buff damage(doesn't scale off MV, I'm not sure about weapons with inherent split damage that are buffable though tbh, but I think the base damage part is effected by MV and then the buff is slapped on top. except DS2 cause DS2 is weird), then it goes through flat defenses and then gets affected by absorption and out pops a damage number. This is part of why increasing attack is stronger than absorption: if we have 2 10% increases then for attack it's 1.1 x 1.1 for 1.21 and for defense it's 0.9 x 0.9 for 0.81 or 19% lower damage hence a 20% armor being better than two 10's
Also, as far as I know, each weapon has elemental attack motion values as well which are seperate from the regular(physical) motion values.
Exact same wording and functionality of motion values in soulsborne games, too.
Only minor quibble is there are various kinds of damage that fall under the header of 'physical' and some of them bypass armor (ex. most things that are 'bleeds'). But that's like a minor nitpick that most people won't need to care about.
Very good explanation.
I can just see him sitting there in a dark room Min-Max-ing his characters to the maximum efficiency for hours on end
This is why FFXIV doesnt show any damage numbers on spells or abilities, rather it shows the "potency" of each spell and ability.
Completely agree - it's an easy way to understand rather quickly what abilities are most efficient in any particular situation instead of worrying about the specific math involved.
Pokémon does the same, and has done it since for ever
Yeah no, showing potency on abilities instead of the actual damage is a massive downside and people have no idea how much their abilities are actually doing. Even though it's as simple as 150 potency is 50% more than 100 potency, people still cannot grasp this idea.
@@Sammysapphira The problem with that argument is that potency is the primary input to how damage is calculated. Within the same job, there is never a case where 100 potency is worth less than 110 potency, or instance. Your higher potency abilities *always* do more damage, so it is *always better* to use the 150 potency option over the 100 potency option. Because of this, listing the potency is effectively the same thing as listing the exact damage you would do after all other calculations. This is exactly why theorycrafters optimize DPS rotations by trying to get the most potency within a certain time frame (with few exceptions, not considering party buffs), and why jobs that have more potency available will almost always out DPS other jobs (e.g. SMN lvl 70 for UCOB/UWU; exceptions for ranged physicals). The people who don't understand this are people who are confused by the fact that 2 is bigger than 1. Ironically, this population seems to include almost exclusively theorycrafters.
@@Sammysapphira But is it worse that showing that one spell does 17495 and another does 5914 damages per second over 3 seconds, and you have to figure out which does more with that knowledge instead?
Thanks Thor! Definitely learned so much with this vid that'll help out (I've never played WoW a day in my life)
This is actually a pretty simple calculation, despite not actually being all of the WoW Damage formula. After all, there's critical damage.
Additionally, games can sometimes feature seperate elemental damage that's a coefficient in and of itself, usually applied as base multiplier, not as a coefficient, and you often clamp values between a min and max. A lot of games prevent 0 damage by capping at 1, and sometimes games will cap damage numbers, though this used to be done more often when you had to allocate a specific fixed number of bytes to the damage number. (You can see that in the old final fantasy games, for example)
Also note that quite often, damage formulas will be invariably more complex when particular game experiences are desired. For instance, some games benefit from downscaling the value difference based on the level difference to ensure that attack does not outpace damage reduction too quickly. This is done, for instance, in games where it's desireable for the progress to be slow and gradual, so monsters don't become too much of a pushover too quickly and likewise, a small level handicap will not make a fight against a stronger creature immediately unwinnable.
There's a lot of magic happening under the hood to mathematically design a particular game experience.
Or go like D4 where you have a few different "damage increase buckets" where the buckets are multiplicative between themselves, but everything within the same bucket is additive.
When you get 100 new items and you have absolutely no idea if any of them is an upgrade of your gear or not - that's very, very bad design.
Idunno, there's a bit more to WoW's formula than this and crits, why is my actual damage double the amount it says on the tooltip while also still changing based on other known effects? Why does the damage of a skill that uses both of my weapons change by more than expected when I switch them around? Why are basic skills almost more damaging than higher tier ones that also cost more resources to use? The multipliers aren't that big in difference? Why do the odds of only some skills and items show a percentage? Does the damage from a trinket scale in any way? blizz is really plagued with not having an open book policy on stats
There are actually multiple spell effect types to do damage in WoW (thanks for original TBC for leaking all the effect names)
school damage --> plain damage that has a basepoints value
normalized weapon pct damage --> using a percentage of your normalized weapon damage
weapon pct damage --> non-normalized weapon percent damage
there are alot more but these are the big three and are used the most.
Since Cataclysm onwards, these spells have a scaling multiplier that scales with your level and/or vs the target level since Legion. So basepoints and weapon damage can scale as you level up
Then you have either a spellpower or attack power coefficient. Spellpower coefficients also scale with level delta data.
Then there are some special case spells which use a special formula which is often written down in tooltips and parsed by the client into a value format (e.g. "A disease dealing ${$m1*1.15+$AP*0.055*1.15} Frost damage every 3 sec") --> which means: min value of the first effect + 115% of your melee attack power * 0.055 * 1.15
In newer expansions they no longer split spellpower and attack power into separate coefficients, they instead use one coefficient for your primary stat.
Risk of Rain 2 has PROC coefficients on top of these damage coefficients, which affects the CHANCE of triggering item effects when attacking, which is pretty cool
This is why I love writing damage formulas
They are so much fun to work with and design
As a PoE addict who sits in planners half my playtime and reading spreadsheets, having never played WoW to an extensive level, this makes more sense than I thought it would.
I've scratched my head a few times thinking how Poe devs balance their game
@@NoChance-oz4dd The PoE devs seem to be very serious and motivated about their game, so there's a possibility they have combined simple systems like this one with extensive playtesting and post-release tweaking/hotfixing. I've only ever dabbled in PoE, I don't think I ever even made it to or past chapter... 9? So, I have no clue how often hotfix patches happen.
He definitely got the formula for damage to his reputation down 😂
Percentage-based damage is a highly useful tool for many different kinds of games and can be used in even more ways than this too. Some games that support having parties of multiple players at different levels implement percentage-based damage by having your attacks dealing a certain percentage of the enemy’s health bar, rather than a fixed value. This means a level 1 player and level 200 player on the same party will deal the same damage to the same enemy, making it so playing with highly over levelled or under levelled friends isn’t irritating or devoid of fun and challenge.
So, simply put, just use percentages to represent attack damage. Even if you don’t think you’ll need it now, it will save you time if you change your mind
Dofus had kind of a similar approach, where if you were going for multiple hits, flat reduction and flat + damage was a lot stronger than percentage. But when you were spinning up big numbers, percentage got a lot more interesting.
Eyyyy I was actually thinking about Dofus too, played that game so much.
The multiplier was the other way around tho, the attack had a base damage, and it got multiplied by (1+stat/100)
The whole formula was
(base*(1+(stat+potency)/100)+flatAttack)*(1-percentDefense/100)-flatDefense
Where base is a random number between two numbers, that depend on the spell.
If I remember correctly
There's also the talent tree aspect of it, which ideally would not be calculated for every attack. Rather than the code looking at how many points you've spent, looking up a % on a table, then using that, it should hopefully just store a value in a single place for the attack calculations to source in. This eliminates hundreds of thousands of unnecessary calculations. You also have mitigation buffs on the target of your spell which also have to be taken into consideration.
Brb, getting my doctorate in advanced Wow mathematics then I'll be able to watch this video without my brain slowly oozing out my ear.
Or like...a seventh grade understanding of Algebra. Whichever works faster for you.
It's all basic algebra, no way is anyone that even barely passed high school struggling at all with this
@@Daniel-zy1ir I wouldn't pass judgment like this, if I were you. People don't get math for all kinds of reasons.
Are you trully confused by multiplication? Cmon man... thats simply sad
Base damage x (1 - target armor) x (1 - target versatility) -flat reduction.
The problem with big numbers is that require all those calculations to reach a reasonable number at the end. That's why in Diablo III we reach trillions of damage (literally), because the numbers are inflated. I hate that, I rather have small numbers that make sense than big numbers that don't.
I really loved the whole elemental damage aspect of d3, until recently it was the only other rpg i was ever cracked out on like i was with wow.
That's kind of because the 40 000% dmg increase from sets and then have another 300% multiplicative increase from a legendary, and then have another 200% multiplicative increase from elemental, and everything was multiplicative of the "basic" multipliers. Can't remember if there were damage amplification debuffs on enemies like in D4 or not.
Yeah, this is one the things that disgusted me in D3. Not the numbers by themselves, but the absolutely ridiculous power jump just from getting your desired set.
The big numbers were fine. Its just numbers after all. The problem was how fast they scaled. This is why “no nerf” policy is so dumb. Nerfing isn’t always a bad thing.
yeah I’ve never liked ridiculous numbers in the game. just causally having one spell do 150k and it’s not even a big crit is just very zoomerish to me. I don’t miss a lot about old wow, but I do miss the numbers being lower
@@githaneIt can be when people pay real money for said equipment.
Risk of Rain 1/2/R work the same way, damage of abilities and items is (for the most part) based on a % scaled off of your characters base damage, which scales with character level.
This was tremendously helpful thank you. I've been trying to build damage calculators in excel for a while now and it's so complex 🎉
I realllyyyy want more content like this. There's little to nothing on how in game calcs or theorycrafting is done and some things like being able to think through what you did and make a conscious decision that yea i should wear my flat reduction trink on fort week would be so beneficial to the community.
bro the way this guy explain things is soo amazing and he always makes simple, sometimes i find some video or shorts of him explaning stuff and i always understand everything even tho english is not my first language
Fun fact this is similar to how League of Legends calculates Armor Penetration. League goes by Percentage based models first (Armor pen %) THEN applies flat lethality armor reduction (-20 enemy armor) to get the base armor you're striking against. THEN you take the damage you want to apply and filter it through the reduced armor number and you get the damage.
listen, ive played wow for 20 years, and when I step in the arena, I AM the coefficient
years of path of exile math helped me follow.
That is interesting. Having the characters overall damage then percentaging it out across his abilities.
I'm a huge fan of the thumbnails on these and editing. Shout out to the editors!!
Been watching your videos for a while just wanted to let you know I really enjoy you
There is (or was?) an AddOn called Dr.Damage, very popular for xpacs like WotLK which I assume are so old that all these coefficients have been calculated or reverse engineered long time ago, where it shows you all the stats for damage/heal of each spell on hover, excluding defenses of target ofc, and all numbers were updated in real time so it would show the change whenever you received a buff or a talent was allocated.
Sadly, I never encountered a similar addon last time I played, and Dr.Damage was discontinued for recent expansions :(
I wish I had this man’s brain, then maybe I can stop getting one shot in path of exile bahahaha
I found so funny this guy, knowing all the magic still enjoy playing games.
I liked the Math on Living Bomb pre cataclysm patch.. where you could replicate it on enemies around your target, damn the raids where funny.
I gotta say, this thumbnail got me good and I love that it’s all Quantum Mechanics math in it
deadass looks like some of my homework from during my undergrad
It's just basic algebra lol
All the private server devs be like: 'Yes please senpai, do leak more for us'
"and your homework is in your book on page 177 the task 1"
That's interestingly complex. I'm always a fan of how damage and defense work in games and while they usually work of the same calculations and principles, it's the outliers that interest me a lot.
I was always under the assumption that you did the flat calculations first then the armor/verse. That makes that trinket SOOOOOOOOOO much better wtf. Good thing I kept it in my warband bank for my blood DK alt
Yo lad I just saw you in the space marine reaction trailer, pretty cool :D
Wow, it's just as complicated as warframe maths
I think most games use something like the coefficient, in PoE we call it damage effectiveness. Although PoE separates additive multipliers and multiplicative multipliers into "increased damage" and "more damage" respectively, which I think is kinda cool.
Ah, okay, so to calculate my ability damage, I determine the classes base damage, determine the damage coefficient, apply it against their armo- Oh, wait, right, tier bonuses, okay, we'll add that in and oh, sure. Talent points, okay so we have that added in and- Oh, right, trinket effects! So we have those figured out and... Mastery adds damage percentage too? Okay, so we add in the percentage damage of mastery on top and OH! We almost forgot versatility.
I played WoW for over 15 years and i'm just now learning this...
Monster Hunter uses the same system.
You've got your Attack Value, which is that first number and what shows up on your weapon when you check your stats.
Then every move you can do has what's called a "motion value" which is the coefficient that determines how much damage the move gets relative to the weapon's Attack Value.
Sometimes they fudge this a smidge though and they will do what's called a Bloat Value, which is that slower weapons will display a higher Attack Value on the weapon screen. The idea is that because a slow weapon hits harder, it should have a higher attack right? But no it's all down to just significantly higher motion values.
Unfortunately, they still don't list the motion values in game.
How did I never realize you could open more than one calculator at the same time?!?!
Idk if its still the same now in calcs/game but it used to be stacking Armor Pen was a % multiplier once you got the target below 0 armor
As test professional, I find it very funny how similar damage calculations and financial valuation calculations are.
You saying math is the same between many disciplines? Bro you are behind something there :p Jk!
This guy gives out a college style lecture for damage percentages in WoW
Me: “big numbers go boom”
It all makes sense, it's just coming at you very quickly
I learned all of this 15 years ago on battle pirates.
Explaining damage calculations sounds like a rambling of a crazy scientist.
Dude is being surrounded by toys
This brings me back to buildcrafting in MMOs back in the day. Finding the optimal damage rotations for various cases (burst vs sustained or stationary vs mobile), the best way to mitigate damage against various opponents (are we taking lots of small hits or few strong hits?).
Also, with multiplicative vs additive vs flat scaling, how do you think this changes when you work in seconds per x or x per second? I remember one case in Warhammer Online, where you had auto attack speed buffs that worked on your attack speed. A common buff was 50% after a crit. So if you have a 2.0 speed weapon (1 attack every 2 seconds or 0.5 attacks/s), how does a 50% buff work? Does it reduce your speed by 50% to 1 second per attack (effectively doubling your speed)? Or does it work on the reciprocal taking you from 0.5 to 0.75 attacks per second (1.5 speed). In Warhammer this originally was the former. So a 2.0 speed weapon went to 1.0 speed. Now, how does this stack if you have multiple sources? Well, originally there weren't really that many sources each class could get. There was the 50% for some classes, and a 15% from an item set. They went with additive for those. So you had 50 + 15 = 65% reduction. Which takes your 2.0 speed weapon to 2 * 0.35 = 0.7 speed or ~1.4 attacks per second. That was strong, but not gamebreaking as auto attacks weren't the biggest source of damage, and you gave up more in other stats than you gained from the additional 15% buff so no one really bothered.
Then, they added some really strong, temporary weapon enchants. One of which was a 45% buff to attack speed on a % proc on attack for a total of 95% buff. This takes your 2.0 speed weapon all the way down to 0.1 speed, or 20 times faster attack rate than normal when you trigger both buffs. Which as you can imagine was quite broken. You went from doing normal damage to opponent is dead in less than a second once you proced both buffs... Conversely, if this worked on the attacks per second stat, it would simply take you from 0.5 to 0.975, an actual 95% increase. They quickly changed the scaling to be both multiplicative and work on the attack rate rather than the attack sped so that it could never tend to zero speed / infinite rate again.
the way he pronounce the 17.23% as "seventeen point two three percent" is mathematically accurate somehow
Somehow? That's the correct way to say it
@@treeaboo yes, but i think not many people realize it, even my friend who is currently chasing math majors still said .23 as "point twenty three" instead of "point two three"
Math teachers everywhere just got a new weapon against the real life defence
I think my vision went blurry about 5 times during this video. And it's not even that complicated 😀
something something bladestorm goes brrrt
I would LOVE an explainer on how mob scaling factors into this on events like Radiant Echoes. For example, a level 61 could do significant damage to the same mobs that are being fought by level 69s.
@@litmus4inanity you can apply something like adjustedDamage = damage * enemyRealLevel/myLevel. Then if you are higher level than the enemy it is going to reduce your damage and if you are lower level it will increase your damage. Then you can just write a similar HP view that is adjustedHP = normalHP * enemyRealLevel / myLevel. They likely have a ton more complexity because of things like armor scaling with level difference, I was a classic player/theorycrafter so I’m not sure what mechanics have changed since 4.0 and never worked on mob scaling but that’s likely a reasonable starting point for how they designed it.
What about level scaling?
I assumed it would take my final damage number as you described, scale it based on my level, and then subtract that from the enemies scaled hp, but confirmation would be good.
Also pretty sure that implies everyone sees different numbers depending on their level which is lame.
And I wonder if you know, is the final number I see my damage before or after level scaling (ie, does it calculate my damage, scale it and subtract that from the mobs scaled hp, and then scale it back up to show me a number, or just show me the first damage number it calculated before scaling. The numbers would be slightly different I think because of rounding)
Worst part about scaling is nobody knows how it works, Blizzard has never revealed. What we do know is the obvious, lower levels have a much easier time and higher levels are much slower even with better gear and talent points. Quite frankly it feels horrible and anti-RPG.
Fun fact: armor reduction formula is a lot more complicated in Minecraft
what i think is impressive is that the game or the server in this case has to do so many calculations of these in short times.
That was actually really interesting
Today i learned. That you can open two calculators at the same time.
I feel like this just common video game sense.
Depends on the genre
For some games the calculations can occur in different orders, or be additive instead of multiplicative. Some also have a scaling factor based on level differences. I like theorycrafting dps builds for games that i play, but accounting for defensives is usually beyond me lol
Risk of Rain 2 meta is basically just this
proc chains until god perishes (literally)
Today I learnt you can have multiple calculators opened.
This is a great way to trick kids into learning math
This is why I stopped playing in WotLK. Not because I didn't want to do this... but because once I started, I couldn't stop. My friends would all joke about how I respecced every couple of days because I wanted to figure out all the coefficients and formulas for maximal damage or damage mitigation.
Now I'm a math major...
and I do the same exact shit.
If Math teachers taught math like this, I would've paid attention more
they did, you were thinking about wow and boobs tho
they did, only issue is this is 4th-5th grade level maths. stuff after that is a bit harder to explain like this
A lot of students didn't have this kind of 1 on 1 learning, so if you didn't get it the first time, you were probably screwed.
number go up, number go down
I don't know anything about WoW, but I learned that you can open multiple instances of calculator today.
I've been trying to find the equivalent forumula for The Witcher 3 wild hunt, and it's a mess. You character has attack power, and the sword has damage, but % damage boosts work off the weapon's base damage and not your character's damage, and then there's crits and critical damage multipliers that also work off the base weapon damage as far as i can tell (so everything stacks linearly as percentage points, not multiplicatively like compounding +%), but then there seem to be some bound when combining damage boosts with crits that make it scale less than both multiplicative and linear percentage points when you stack a lot of both. I tried going full glass canon build with dodge tank (like i did in vanilla WoW with rogue on one of my characters) and while fun and powerful it scaled less well than I expected. I guess it would have been too OP to single-hit crit or 3-4 hit kill many bosses.
Do we know the order of operations for each affect though? If the flat is taken first, it's pretty bad, but if it's taken after all other calculations it's pretty good, for a tank in this case.
The thumbnail is hilarious
I just learned so much ty
This is actually a really good implementation
My brain melted out of a my nose 😢
im over 50, with a college degree, i did not understand anything you said math wise.... but i appreciate you working it out for us and making me not feel like a complete tool at the same time!
There was 1 fight i wanted and never got. A rogue with pure armor penetration gear vs my druid tank in full bonus armor gear.
I'm wondering about stat scaling in WoW. I liked smaller numbers of Vanilla, TBC and Wotlk, but in Cata those numbers rose quickly up and after MoP they did stat squish back to Wotlk, only to end up to nearly MoP numbers in single expansion.
Same basic math applies to games like Diablo and League too. Flat reduction is insane when you stack it atop % reduction.
What are the benefit of diminishing return on stat value? More progression in stat on a smoother power progression?
me agreeing
meanwhile me starts getting lost halfway thru
IDK about everyone else but I just learned you could have more than 1 calculator app open at once on windows
Pirate Teaching Math
Really miss the Cataclysm feral rotation
Pretty nice for me as I’m developing an mmo-like combat system (RuneScape combat, it won’t be mmo but I’m using GAS so I will be able to play with my friends) at the moment.
What's more surprising is that flat goes after %. Most games I've seen go with flat first to not make the two stack as strongly as here.
It makes sense in the context of, say either through weaknesses or debuffs, defense numbers can go into the negative, and damage gets _higher_ after the first defense steps, not lower. If you applied flat reduction _first,_ you could get into situations where an attack that's supposed to be super effective gets absorbed by the flat before getting multiplied by the vulnerability. Flat first works best in games where defense numbers can only ever be positive.
(I don't play WoW, but I've seen in other comments some mention of how armor penetration works, where it's a flat number that subtracts from the enemy's armor value, and if your armor pen is high enough you can cause defense to go negative, which results in a positive multiplier being added to damage. Flat being added after rewards situations like this.)
I think this is one of the reason grasp FFXIV potencies better than other MMO's because it always says that my stabby move will always do, say, 220 potency, regardless of level.
If you tell me something does X amount of damage, but behind the scenes it's actually does Y because of a bunch of behind the scenes calculations, you just end up confusing me when it says it does X, but it actually does Y, and I'll go through the entire game not realizing that a thing I obtain at lvl 20 is actually pretty damn good when the numbers keep changing depending on my gear.
Love the Thumbnail xD