+ Reply to Thread
Results 1 to 12 of 12
Like Tree2Likes
  • 2 Post By Kaelya

Thread: Theorycraft 101

  1. #1
    Soulwalker
    Join Date
    Dec 2015
    Posts
    7

    Default Theorycraft 101

    When I finally had time to start my Primalist theorycraft spreadsheet a few days ago, I realized that, as usual, there's not a lot of people who enjoy doing the same thing. Or sadly, there's not enough material to popularize the practice of theorycrafting. Really surprisingly, I didn't find any "Theorycrafting for Dummies" or equivalent in this forum (if there is, blame Google! ;D). So here I am, translating in English a guide I wrote 1+ year ago back when I was Warrior, a bit before stopping - while taking the opportunity to add some more content!

    This guide widely cover the basics of the topic - you'll be able to calculate really precisely how much damages this spell will do, build a DPS calculator / spreadsheet, and calculate yourself the real weights to cherry-pick your gear, and not just some static weights with no real meaning.

    Of course, if you have any question about any unclear detail (or not detail!), or bug report, just ask here, or whisp me at Kačlya@Brisesol EU, I'll happily answer.

    Last but not least, keep in mind that I used the term AP (Attack Power) because I wrote this guide as a Warrior, and I'm currently a Primalist, but everything in this guide could apply to every callings -).


    I - Theorycraft 101


    > How to calculate the damage of a spell? <

    1. Damages and Attack Power (or Spell)
    Well, theoretically, it's not that complicated; Rift, like many others, is only using a linear increase in attack damages based on AP/SP; basically, if with 10 AP you're doing 300 dmg, and 500 dmg with 20 AP, you'll do 700 dmg with 30 AP.
    Let's write this down,
    10 AP = 300 dmg
    20 AP = 500 dmg

    thus, we can easily understand that with 0 AP, we should do 100
    This can be summarized by this tiny formula:
    | = (Damage_B - Damage_A) / (AP_B - AP_A)
    | = (500 - 300) / (20 - 10)
    | = 200 / 10
    | = 20

    The result is 20, thus, for every 1 AP gained, we won 20 dmg; we just have to calculate/verify the base damage of this spells, that we assumed earlier to be 100:
    | = (Damage_A) - (AP_A * AP_Ratio)
    | = 500 - (20 * 20)
    | = 500 - 400
    | = 100

    As said before, it's a simple linear function: Base_Dmg + (AP_Ratio * AP), or with the previous digits, 100 + (20 * AP). Let's say you have 260 AP, how much damage this spell will do? Take a second.
    | 100 + (20 * 260AP) = 100 + 5200 = 5300 dmg

    In this example, I only used two values to do the math. However, due to the way how Rift truncate certain values, the calculation may be a bit flawed. You could use a 3rd (or even 4th, 5th, whatever) value, and round the results, to obtain a more precise value. Although I wouldn't bother too much considering the small difference it'll creates on the final value.

    ...and of course, during this first step, never, ever, put any buff, point in soul tree or crystal; it will make your calculations wrong.

    2. Damages and Weapon DPS + Real life example
    (in practice, this part only concerns the Warriors, Rogues and Primalists)

    So what... it's over?
    Wellll, not really, because you still have to know the ratio of the weapon DPS; you don't want your calculations to be screwed in case of a weapon change or a perk buffing your weapon DPS.
    The idea is exactly the same, but slightly more complicated in practice since you now have one more parameter.
    | = (Damage_X - Damage_Y) / (DPS_Weapon_X - DPS _Weapon_Y)
    and for calculating base damage with these:
    | = (Damage_A) - (AP_Ratio * AP_A) - (WeapDmg_Ratio * DPS_Weapon_A)
    Nothing really complicated, but yes, we have to keep the DPS of the weapon used to calculate the AP ratio.

    Concrete & complete example:
    Dmg_AP_A = 7245
    Dmg_AP_B = 6785
    AP_A = 5640
    AP_B = 4672
    Weap_DPS_A = 806.8
    (for the last step)
    | = (7245 - 6785) / (5640 - 4672)
    | = 0.4752
    is the AP ratio

    Dmg_Weap_X = 7212
    Dmg_Weap_Y = 5674
    Weap_DPS_X = 806.65
    Weap_DPS_Y = 161.98

    | = (7212 - 5674) / (806.65 - 161.98)
    | = 2.3857
    is the weap DPS ratio

    | = Dmg_AP_A - (AP_Ratio * AP_A) - (Weap_DPS_Ratio * Weap_DPS_A)
    | = 7245 - (0.4752 * 5640) - (2.3857 * 806.80)
    | = 2640.0892
    is the spell's base dmg

    Boom! The tested spell will do 2640 DMG with 0 AP & 0 weap DPS (=base dmg) ; their ratio are 0.4752 & 2.3857, thus, to calculate the DPS of this spell with 1124 weap DPS, and 17650 AP, we'll do:
    | = Base_Dmg + (AP_Ratio * AP) + (Weap_DPS_Ratio * Weapon_DPS)
    | = 2640.0892 + (0.4752 * 17650) + (2.3857 * 1124)
    | = 13708.896


    13708.896 damages!! of course, we shouldn't forget that we didn't have any...

    3. Damage multiplier!
    So, now, we have to add the damage multiplier... the buffs to be clear!
    There's a lot of type of them ; passives, actives, raid, raid but not really raid, debuff, some more debuffs, armor, etc, etc...

    The big problem is mostly the way of applying those buffs: are they additive? or multiplicative? which one is additive to another, which one isn't? and since we're here, additive, multiplicative, should we really care?
    Yes! The DPS at the end is really changed! Let's take a simple example, spell A do 100 dmg, and we have two 50% dmg buff.
    It could be either multiplicative:
    | = 100 * 50% * 50%
    or additive
    | = 100 * (50% + 50%)
    In the first case, the result is 225, in the second one 200. The difference is already huge! now, imagine that you have dozens of buffs, and spells that does 40k+ dmg!
    The goal is to do a lot of trying, and wise using of previous knowledge, to be sure of who is multiplicative or additive with another one.

    4. Sooo.. any definite formula?
    (Base_Damage + (AP_Ratio * AP) + (Weap_Ratio * Weap_Dmg)) * (Gift + Soul Tree Passives) * (Enrage + Self-buff) * (Orchestra / Lava Field + Volcanic Bomb) * (Power Core debuff) * (Self dmg debuff) * (5% magic debuff + 7% magic debuff)

    We could've also added Masteries which have a multiplicative category just for them, or some specific spells. There's a bit more details about multiplicative vs. additive in the 'Misc' section, but the general rule is Verify!



    > How to calculate the DPS of a build? <

    Bah, now that you read the previous part, it's almost done!
    As we saw, once we know the base damages of a spell, as well as his AP & weapon DPS ratio - we can know precisely how many damages it will make!
    ...at least if you correctly did your job on the damage multipliers ofc ;D

    Somewhat obviously, DPS stands for Damage Per Seconds - which really indicates how are we suppose to compute it:
    | = (Number_of_attacks_with_this_spell * Damage_of_this_spell) / (Length_of_the_encounter)
    Meaning that, if we attack 4 times with a spell dealing 1200 damages, in a 7-seconds fights, we will have:
    | = (4 * 1200) / 7
    | = 685.71 DPS
    Easy!



    > How to calculate the stat weights for a build? <

    Ahhh, stat weights...
    If we know that stat weights are only correct paired with the stats they had been calculated with, or more clearly, that we CANNOT say for example "the Crit Power weights X in this build, period." (= static weights are evil), it's a tool really useful; for the one who don't understand this simple fact, it's nothing more than a destructive weapon.

    It's actually quiet easy to calculate... as long as you already have a DPS calculator (like a spreadsheet), which works well.
    The principle is to write down the DPS the calculator gave you with you current stats, then with +1 in strength, then with +1 in dexterity, and that with every stats.
    For example:

    Current DPS: 13200
    DPS with Str+1: 13214
    DPS with Dex+1: 13205
    DPS with AP+1: 13212


    We will then take the AP as baseline, that is to say that it's value will always be equel to 1; it's not mandatory, but it's a rational move made with consistency in mind. This way, "Weight CP: 0.82" for example, will meant the same thing in every documents.
    Then...
    | Weight Str = (DPS_with_Str+1 - Current_DPS) / (DPS_with_AP+1 - Current_DPS)
    | = (13214 - 13200) / (13212 - 13200)
    | = 1.167

    In this case, the weight of the Str will be 1.167 - and doing the same with Dex will give us 0.417, and so on so forth.



    > Misc <


    1. Additive / Multiplicative
    The formula was already written down a few lines aboves, but this times it's way better... because it involves colors!
    The things with the same colors are additive between them, and the sum of that is multiplied by the things of the other colors.

    ("Gift" + Soul Tree passives) *
    (Self-buff DMG + Enrage [BM]) *
    (DMG boost in Mastery) *
    (Orchestra / Lave Field + Volcanic Bomb) *
    (Wild Growth / Power Core) *
    (Self debuff) *
    (5% magic + 7% magic)
    etc

    Things important to note:
    - Surprisingly, the Enrage is additive with the self-buffs and not with the others raid buffs like Orchestra
    - Masteries are renegade
    - Some weird spell might be renegade too, like the buff from Seismic Smash in Primalist - but once again, you'll have to verify to know that!


    Well, that's mostly it, once again, if you have any question / bug report, go ahead in this thread, or Kačlya@Brisesol EU.

    Happy theorycrafting,
    Hyllis
    Last edited by Kaelya; 12-28-2015 at 04:41 AM.
    Kačlya <Khalim'na> 8/9 MoM
    Hyllis <Khalim'na> 3/3 IG - 5/5 PBB - 4/4 BoB

  2. #2
    Soulwalker
    Join Date
    Dec 2015
    Posts
    7

    Default

    reserved /10
    Kačlya <Khalim'na> 8/9 MoM
    Hyllis <Khalim'na> 3/3 IG - 5/5 PBB - 4/4 BoB

  3. #3
    RIFT Guide Writer Muspel's Avatar
    Join Date
    Jan 2012
    Posts
    7,837

    Default

    Quote Originally Posted by Kaelya View Post
    - Every debuffs are multiplicative between them
    Are you sure of that? Debuffs (and buffs) from the same source (player) should be additive with each other-- if they aren't, then that's a bug.

  4. #4
    Telaran
    Join Date
    Sep 2014
    Posts
    66

    Default

    Quote Originally Posted by Muspel View Post
    Are you sure of that? Debuffs (and buffs) from the same source (player) should be additive with each other-- if they aren't, then that's a bug.
    Pretty sure indeed that 7% nonphys debuff of oracle + 5% nonphys from 12 defiler MH gives 112% and not 1.05*1.07=1.1235%. This is regardless of which player applies these type debuff (chon/bard/oracle/inquis & inquis/defiler/vulcanist) or even both the same player (the oracle spec with 12 defiler)
    But as far as I know nonphys-resist debuffs are the only debuffs which have multiple of the same kind that are additive (and don't overwrite eachother)... others like WG are one of a kind and will be multiplicative with the other categories

  5. #5
    Soulwalker
    Join Date
    Dec 2015
    Posts
    7

    Default

    Indeed thanks, I fixed that.

    However, for,
    (and buffs) from the same source (player) should be additive with each other
    be careful though, some buffs like Dervish's Air Cutter boost (via Seismic Smash) are multiplicative with other dmg boost, even though they are from the same source (player) - same for the Mastery DMG boosts.
    Last edited by Kaelya; 12-28-2015 at 05:00 AM.
    Kačlya <Khalim'na> 8/9 MoM
    Hyllis <Khalim'na> 3/3 IG - 5/5 PBB - 4/4 BoB

  6. #6
    RIFT Guide Writer Muspel's Avatar
    Join Date
    Jan 2012
    Posts
    7,837

    Default

    Quote Originally Posted by Kaelya View Post
    Indeed thanks, I fixed that.

    However, for,

    be careful though, some buffs like Dervish's Air Cutter boost (via Seismic Smash) are multiplicative with other dmg boost, even though they are from the same source - same for the Mastery, Elemental Affinity.
    Masteries are also their own separate category, and are multiplicative with everything else.

  7. #7
    Rift Master
    Join Date
    Dec 2013
    Posts
    657

    Default

    Another way to get the base damage and the AP/WP coef. is to use three different equip sets and with a spreadsheet or smiliar program calculate it out from that (that's how its done on the warrior spreadsheet).

    The base formula written a bit differently:
    ability damage = [1, wep. dps, AP]*[Base, Wep. coef., AP coef.]
    ( the [...] represent vectors )
    Now with the three (different) sets of gear you combine the above lines into a new equation. On the left you have a vector of ability damage and on the right you get a matrix multiplied by a vector of the base/coef.. If you inverse the matrix and then multiply it with the ability damage vector you get out the base/coef. values you are after.

    There are two things to note here:
    • work with as high values of weapon dps and AP as you can. The rounding system of Rift's tooltips will make a mess of low values and make them way less acurate. And yes, the difference becomes highly noticable very fast, it is not nothing! Weapon dps can also be calculated from its damage and swing time and should be acturate to more places if that's something you want.
    • Rifts tooltips are often wrong. In case of warrior, all dot tooltips and channeled abilites are not acurate. I have a feeling that cast time ones aren't as well but can't really test that as the only one that should confirm or denay that has a 5% variance even though i believe it shouldn't have it (Charged Pulse). In raw numbers we are talking up to 2% or so dmg difference in final value. In cases like this you will have to be more creative in getting the base/coef. values for abilites.

    One thing i haven't noticed is the resistances, don't think you mentioned them at all (or maybe i just missed it). The lvl 65 dumies have a base 15% resistance, meaning that any ability (physical or non-physical, but not bleeds) will do 85% of its full value as damage. This of course changes with any debuffs of that kind on the enemy or with your ovn talents (if you have any).

    Edit: I forgot about another "set" of talents. In the case of warriors it is the two so called contribution tallents (AoE in Champion and Ranged in Tempest). They seem to work inside the base formula and not like other passive tallents.
    Last edited by Jotunn; 12-28-2015 at 02:55 AM.

  8. #8
    Soulwalker
    Join Date
    Dec 2015
    Posts
    7

    Default

    @Muspel Yes, that's what I said twice in the first post.

    @Jotunn Thanks for making the post exhaustive by putting another calculation method! Though I read it already in the Warrior sheet, and personally finds the matrix work slightly overkill computation-wise.
    I'll do a comparaison run when I'll have some time.

    Rift's tooltips are sometimes wrong indeed, we also have some case where there's a 5% variance where it shouldn't, or also a DoT, Fury Blast, without tooltip.
    However, I find those pretty accurate - once we considerer the same rounding as they do.
    They're rounding (truncating in fact all over the place), if I recall correctly it's something like:
    - Truncating the AP/Crit when getting the Str/Dex from gear
    - Truncating the Str/Dex when applying the perk bonus...
    - ...then truncating the AP gained from that
    - Truncating the AP after the perk bonus
    - Truncating the tooltip damage after calculation
    - ...and again at each multiplicative step
    I don't take it into account in my spreadsheets because it makes it bothering to compute the weights - thus giving me 1-3 AP error marging. Which is basically 10 dmg, or with our actual damages per spell, -0.05% error margin on tooltip damage calculation.

    Nope, you're right, I didn't do the resistance part.
    The reason's because, if I recall correctly, providing they have the same level difference with us, the resistance of every boss in the game is the same? (could you confirm please?)
    Leading to a difference in practice, but nothing when it comes to picking the theoretical best build (except for the few perk) - thus not really useful for starting IMO.
    Though your right, I'll add a small part on this, thanks
    Last edited by Kaelya; 12-28-2015 at 04:02 AM.
    Kačlya <Khalim'na> 8/9 MoM
    Hyllis <Khalim'na> 3/3 IG - 5/5 PBB - 4/4 BoB

  9. #9
    Rift Master
    Join Date
    Dec 2013
    Posts
    657

    Default

    About resistances, yea, from what i know every boss has the same armor/resist and is the same as lvl 65 dummies. It's just for comparing the calculated hits with the actual dummy ones.

    For the rounding, same as with resistances, depends on what you would like to calculate in the end and how acurate you want them, you can get pretty close to the actual hit number or even hit it spot on.

    And the method of getting the values, i guess its down to personal prefference . I like the matrix one as it gives you everything in one go and you're comparing three different quipment values at the same time.

    One thing about masteries, provided they work the same as warrior ones, they only have base damage value and AP coef.. They don't seem to scale from weapon dps at all.

    A quick way to see how acurate the tooltips are is to go in your dimension and hit the lvl 10 dummy. At this point the resistance/armor of it is practically 0 and should give you back pretty much the exact tooltip value, provided the skill doesn't have the 5% variance. In case you or anyone wants to play with that .
    Last edited by Jotunn; 12-28-2015 at 04:03 AM.

  10. #10
    Soulwalker
    Join Date
    Dec 2015
    Posts
    7

    Default

    True, I actually don't really care of comparing the actual number; having the numbers or the numbers *0.85 is the same for me, as long as every spells follow the same scale. I'm building my things mostly to compare builds & cycles and find the best, not to build a Rift simulator
    But yea, personal preferences, I'll put some lines about Resist.

    Good catch! The guide was first written before the Mastery thing, so I forget to add it.
    Actually, in Primalist, they did it a bit weirder. Spiritualism takes both AP and Weapon DPS, while Savage Blow only takes from AP. I don't know for the two others, ya know, DPS.
    I'll add a quick note about that, thanks
    Last edited by Kaelya; 12-28-2015 at 04:52 AM.
    Kačlya <Khalim'na> 8/9 MoM
    Hyllis <Khalim'na> 3/3 IG - 5/5 PBB - 4/4 BoB

  11. #11
    Shadowlander ScannaIT's Avatar
    Join Date
    Jan 2015
    Posts
    38

    Default

    Few questions:
    1. Should i do this with a 0-points PA?
    2. Some abilities have got min and max damage values. Which one should i use?

    One more thing...
    Trion shares with us the xml files with every soul (+PA) for every class, every time there is a class update. Some abilites has got a PowerStatCoefficient and (for Warrior/Rogue/Primalist) WeaponDamageMultiplier.

    For example:
    Code:
    <Ability>
    
        <Name>Savage Strike</Name>
    
            <AbilityRank>
    
                <!-- Note: this is not the base damage! -->
                <Description>Deals 3370 to 3725 damage. Awards 1 Combo Point.</Description>
    
                <PowerStatCoefficient effect="0" action="0">0.850000</PowerStatCoefficient>
    
                <WeaponDamageMultiplier effect="0" action="0">0.850000</WeaponDamageMultiplier>
    
        </AbilityRank>
    
    </Ability>
    Can these tags be usefull?
    Last edited by ScannaIT; 01-12-2016 at 02:57 PM.

  12. #12
    RIFT Guide Writer Muspel's Avatar
    Join Date
    Jan 2012
    Posts
    7,837

    Default

    Quote Originally Posted by ScannaIT View Post
    Few questions:
    1. Should i do this with a 0-points PA?
    2. Some abilities have got min and max damage values. Which one should i use?

    One more thing...
    Trion shares with us the xml files with every soul (+PA) for every class, every time there is a class update. Some abilites has got a PowerStatCoefficient and (for Warrior/Rogue/Primalist) WeaponDamageMultiplier.

    For example:
    Code:
    <Ability>
    
        <Name>Savage Strike</Name>
    
            <AbilityRank>
    
                <!-- Note: this is not the base damage! -->
                <Description>Deals 3370 to 3725 damage. Awards 1 Combo Point.</Description>
    
                <PowerStatCoefficient effect="0" action="0">0.850000</PowerStatCoefficient>
    
                <WeaponDamageMultiplier effect="0" action="0">0.850000</WeaponDamageMultiplier>
    
        </AbilityRank>
    
    </Ability>
    Can these tags be usefull?
    About three years ago, I tried to put together a spreadsheet that would let me calculate Bladedancer's DPS. I never got very far, but as part of what I did I tried to work out the AP/WD coefficients for abilities.

    As I recall, I found that in terms of damage calculations, the game just adds 1/5th of your AP to your weapon damage (which makes sense, since AP's tooltip says that it increases weapon damage). So, if the XML files say that an ability has a .85 power ratio, that actually means that 85%/5=17% of your AP is added to the ability's damage.

    I never got around to testing how talents that claim to increase AP/WD scaling (like Contra Tempo) work. Also, I want to reiterate that this is my foggy recollection of an incomplete project I barely started on from 2012, so I might be misremembering things.

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts