2
\$\begingroup\$

A character has a series of attributes.

Char {
    BaseStrength 1
    BaseHealth 100
    BaseLuck = 50
    BaseCharm = 20
}

and items will grant them modifiers

item0 {
  Modifier {
    Charm: + 1
  }
}

itemA {
  Modifier {
    Strength: ++ 1
  }
}

itemB {
  Modifier {
    Health: * 2
  }
}

itemC {
  Modifier {
    Luck: ** 1
  }
}

The way I was planning the operations + ++ * ** to work was if a player has 2 of each type of item. it would stack as follows.

finalCharm = BaseCharm + item0.Charm (no stacking)

finalStrength = BaseStrength + itemA.Strength + itemA.Strength

finalLuck = BaseLuck + BaseLuck*(itemC.Luck + itemC.Luck)

finalHealth = BaseHealth + (BaseHealth * itemB.Health) + (BaseHealth * itemB.Health)

All except charm could be considered 'stacking' buffs.

itemA stacks additively, items B & C stack multiplicative.

How can I describe the stacking behavior differences between B & C to the player using words?

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Just use additive and multiplicative. That's what ARPGs like Path of Exile and Diablo use. \$\endgroup\$
    – Ian Young
    Commented Aug 7, 2018 at 8:38
  • \$\begingroup\$ But then how do you differ between A being additive, and B being additive. \$\endgroup\$
    – Ryan Leach
    Commented Aug 7, 2018 at 8:39
  • 1
    \$\begingroup\$ This might get complicated to explain so I'll do it in an answer. \$\endgroup\$
    – Ian Young
    Commented Aug 7, 2018 at 8:44

1 Answer 1

6
\$\begingroup\$

The way most RPG games work is this:

  1. An item/spell etc increases a base stat by a fixed amount: eg +1 strength to base. This is your most basic stat increment. An example of this(which we will re-use) would be base strength of 10, +1. Adding another would be:

    100 + (+10) + (+10) = 120

  2. An item increases total strength by 1. This is post additive boosting, but as it is also additive, it is simple:

    (100 + (+10) + (+10)) +10 = 130

  3. Now we come to multiplicative effects (where things get complex), in this example, we are performing pre additive increases:

    (100 * 0.1) +10 = 120 (+10% to base strength)

  4. Post additive effects (multiplier to total strength):

    (100 +10) * 0.1 = 121

To put it in simple terms: you have two effects that modify base stats, and two which modify the post base stat modification. In each "stage" of performing stat modifications, you should add up the stat increase values, e.g. all base stat multipliers should be added together and applied as one:

base * (mod1 + mod2)

So the final equation looks like:

final = (((base * base_mul_total) + base_add_total) * final_mul_total) + final_add_total

This is what is known as additive stat increases.

Multiplicative stat increases work more like:

((base * (1 + mod1)) * (1 + mod2)) * (1 + mod3)

In terms of identification for the player, I wouldn't worry too much about it. An easy way I have seen done is to clearly specify whether is it total strength, or base strength that is being modified.

Most rpg theory-crafters know precisely what that means, and will work it out for themselves when min/maxing their characters. The rest of the players won't care what you call it, so long as it improves their character.

As an aside:

In general(for balance/progression), effects that modify final stat values tend to be powerful, and thus good for the end-game, whilst additive effects are your bread and butter effects, which you will accrue whilst levelling and getting better and better gear. Once your stats are high in the end game, multiplicative effects become very powerful and thus, very desirable (and more difficult to balance).

\$\endgroup\$

You must log in to answer this question.

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