View Full Version : What's up with

November 11th, 2011, 02:58 AM
... absurdly complicated damage formulae in MMORPGs/RPGs?

I was reading a site on RO and found this:

The full damage calculation for each ranged Hit by a Player is:
(([({(DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ImpositioManus + ATKCards + (rnd(ATK/100*min(ATK, dex*(0.8+0.2*WeaponLevel)), max(ATK, ATK/100*min(ATK, dex*(0.8+0.2*WeaponLevel)) + rnd(0, ArrowATK - 1)) * SizeModifier) * SkillModifiers * (1 - DEF/100) - VitDEF + BaneSkill + Upgrades} + EnvenomSkill) * ElementalModifier * DamageBonusModifiers * DamageReductionModifiers] * NumberOfMultiHits) - KyrieEleisonEffect) / NumberOfMultiHits

Doesn't this kind of thing slow servers down? What's the point, really?

November 11th, 2011, 03:10 AM
I bet Nasu would have put that in the Servant character sheets, if they had let him.

November 11th, 2011, 05:28 AM
A computer can do how many calculations per second? -.-

Without complexity, ANY game lacks flavor. It's like if we take away the complexity, we take away things like stats, skills, armor, different weapons, melee/range differences, different spells, movement speed, attack speed, chance to hit anything, critical damage, etc...

Also, that kind of formula isn't all that complex if you are actually reading it. Atl east, it seems very simple to me.

November 11th, 2011, 05:33 AM
To make it less transparent and balanced.

November 11th, 2011, 05:39 AM
While I suppose the above wasn't a good example of what I was trying to illustrate, I've seen formulae with arbitrary numbers like STR divided by 3057 or the like. There are calculations that include numbers that are just... there (like the aforementioned example, but from which game I can't recall anymore) for no reason whatsoever. How does randomly adding a constant create 'flavor'?

Attack speed, defense, and other variables I get, but some calculations are just piled with weird multipliers/divisors which seem to be sitting there taking up the computer's capacity to do sums just because the computer can handle it. Adding variables for the sake of variables does not net you a 'flavorful' game.

This second example had nothing to do with balance. I mean seriously, if you're getting an average character with 600 odd str? while the rest of damage is illustrated in round numbers, then 600/3057 is just utterly ridiculous to even bother beginning to calculate and add into the equation.

November 11th, 2011, 05:45 AM
Compared to all the other calculations a Server needs when running an MMO or a computer needs when running a single player RPG, those calculations are nothing, so the complexity of the formula doesn't really matter.
And constants are probably added for more intransparency.

November 11th, 2011, 05:58 AM
I don't see how practically making a section of the calculation irrelevant aids with transparency. At least if it was something like dex/5 you could go, 'oh, that's because dex plays a secondary factor as opposed to the main stat' but when it basically amounts to no change in your perceivable damage, then there's really no point.

Or maybe I'm misunderstanding what you mean by transparency? In which sense of the word?

November 11th, 2011, 06:00 AM
Having a constant in the formula gives you a place to tweak if you want to balance out a certain stat's contribution.

And intransparency isn't a word Buster. You could have saved two letters if you just said "constants [were] probably added for less transparency".

November 11th, 2011, 06:05 AM
You could always add a constant in when you need it.

Putting in a constant prior to that which amounts to nothing doesn't make it any easier or more difficult for you to do that.

Or we could talk about MapleStory, where there is a class called the Dual Blades. Each weapon in each hand has its individual range, but they display the combined range in the stat window. (which is calculated some formula that ahohgod I can't be bothered committing to memory)

They never use the combined range. The individual weapons' ranges are ALWAYS used instead. (this is Dual Blades before chaos)

November 11th, 2011, 06:10 AM
They probably added the constant during testing.

Your new content generally isn't given its maiden voyage on public realms. They usually undergo meticulous testing on test servers before being implemented.

The MapleStory example is more a description of a residual artifact after deciding not to implement the formula. That is, it's strictly classified as a tooltip typo. The fact you seem to recall the formula was ridiculously complicated was most likely the reason why they ditched it for the individual ranges to begin with.

November 11th, 2011, 06:12 AM
And intransparency isn't a word Buster. You could have saved two letters if you just said "constants [were] probably added for less transparency".
It is one in German (http://www.duden.de/rechtschreibung/Intransparenz) :neco_arc:

November 11th, 2011, 06:16 AM

November 11th, 2011, 07:57 AM

You're just upset that they use these formulas.

The thing is, in many games, you don't see the formulas anymore, but they are still there. Some of these formulas are needed to make a standard for which people need to reach to reach a point in the game. Like in WoW, you need X defense to be at Y. Or you need Z hit rating to go to A. Or anything else. Without these formulas, you can't have "end-game" and you can't even separate players apart.

I've yet to see any game that uses a needless formula for something like skills, so I'd like to see you give some examples.

November 11th, 2011, 08:02 AM

November 11th, 2011, 04:51 PM
Nope, not upset about the formulas. I have no reason to be, why would you assume that? And what do you mean by 'X defense to be at Y'? Is this concerning a ranking of some sort?

Either way, I can't recall the name of the game with STR/3057, but I'm certain it exists. So idk, you can believe whatever you want to believe. I just think that useless parts of formulae which exist for no reason apart from making them needlessly complex are stupid.

November 13th, 2011, 07:11 PM
Pokemon Red & Blue had formulae every bit as complex as that.

As in, not very.


As for the /3057, that's probably a constant that has stabilized there after testing/balacing over time. It's tough to judge what effect it may or may not have on the game without an actual, in-context application of it. Just looking at the formula, there's no way of telling whether that constant is actually that big a deal. If it's there, it's there for a reason. If they throttled the contribution of STR, perhaps it wasn't a weapon where STR should be a major contributor to damage or something?
Perhaps they tried it at 3000 initially, but found it was still too strong with STR, so they increased the denominator?

What if that fraction is the power of an exponent, or contributing to a log?

Without context, there's no way to judge whether it's worthwhile, but you can bet that it's there because the person who designed the formula wanted to offset the primacy of strength in the calculation, or else it was to control the possibility of an explosive, exponential effect that would make the number ranges terrible to see.