When the Damage is Just Too High

ScientistWD

Innocuous
Veteran
Joined
May 28, 2016
Messages
72
Reaction score
59
First Language
English
Primarily Uses
RMMV
So, I have a bit of a design problem. It hasn't become a huge problem yet, but I anticipate that it might become one, and in that event I'd like to have a solution made up ahead of time.
Part 1: Damage Formulas. I'm using simple ratio damage formulas. They tend to take the form (a/b) * c, were a is the attacker's Attack, b is the defender's Defense, and c is a Base value individual to the skill. In this way, a skill does more damage as the stats change in a linear way, proportioned around a base value so one can make "strong" skills and "weak" skills.
Part 2: New Skills. As my actors become stronger, they will naturally learn skills. Those skills will be "stronger" than the last. Which means that the Base value (or c) goes up. And normally this is good, because opponents will have more HP and more Defense, and in theory it should all balance out.
The Twist: But in my game (in my signature), I am afraid that it doesn't. You see, as actors increase their Attack stat, they gain skills with better damage formulas (more "c"). This effectively means that "a" and "c" above increase at the same time, causing damage to blow up for an actor invests in their Attack. Investing in other stats also gives better damage formulas, but for Attack specifically it's clear that the actors that invest in it have an overpowering advantage.
Allow me to be clear; increasing other stats does give other advantages. But because Attack is so simple and so straightforward, I'm afraid that players will default down that route without exploring other opportunities. I would still like Attack to be effective, but I'd prefer if it wasn't... as effective so ubiquitously.

I have a few ideas to fix it, and I was wondering what folks thought before I just hammered away at my database.
Solution 1: Damage Dampening. Imagine if, instead, the formulas were like this: ((a + d)/(b + d)) * c, where "d" is some "dampening number". See, because of math, this formula will reduce how much damage is done; the resulting damage will be closer to the Base value "c" the higher that "d" is set to. Kinda like Yanfly's Armor Scaling.
I'm hesitant to use this one because it will also reduce the effect of Defense. If anyone has a variation of this technique that works well for them, do let me know.
Solution 2: Skew Base Values. I could make it so skills earned through Attack have smaller "c" values than skills earned through other stats. It feels kinda weird to balance it that way, especially when the draw of the Attack stat is supposed to be the better damage formulas in the first place...
Solution 3: Tight Damage Cap. Right now, through YEP_DamageCore I have a 999 damage cap, but I could lower it to 99 or 200 or something. This might seem like a bad move at first glance, but right now it looks like my best shot. On one hand, players might see "oh, I don't need more Attack now". Which is a bit double-edged. But on the other, it means that multi-hit attacks have a unique and interesting advantage if used properly. At the same time, dealing max damage isn't exactly a bad thing. It might actually feel good for a player. Plus, it's not like I'd make it easy to get to unless you invested in it, anyway.

Do people prefer a particular solution, or do they have their own ideas on how to make high-damage skills balanced without needing to install weakness? As a player, what would you like the best?
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
I actually hit this in my game, and I ended up using the following formula:

{[(a)*(a + c)] / (d + 20)} * 2. What I've noticed is if your ATK and enemy DEF match, you will always do about 2 * a in damage, so an 100 ATK and 100 DEF does about 200 damage.

However, because that feels pathetic in my game when you hit 100 in stats about the point when you got 2000 HP, I had to modify it. So I ended up with, where L is the level of the attacker:

{[(a + L)*(a + c)] / (d + 20)} * 2 + 2 * L

What this did was it made it so that every level you went up, you did a minimum of 2 * L in damage on all skills. So it took unique skills to bring damage down to 1 (the minimum). And adding L to the top formula allowed your skills to all slowly strengthen over time.

Still, I found that with this I had to make sure that ATK and DEF were not equal often, as the damage output was still pretty pathetic. Usually I set my ATK at about 20% more than the DEF at that point in time in the game, with numbers adjusted based on how much damage I want the monster to do. If it focuses heavily on physical attacks, it might be 50% more than DEF at that point in time. But if it is a spellcaster with bad ATK, then it might be equal or even lower. It all depends.

As it is, I think in my next game I'm going to use a different damage formula, as this one was a pain to balance. I think next time I may go Base damage * a bonus based on how much your ATK is above the enemies DEF. Would mean that if you go back to those monsters with 10 DEF when you got 999 ATK you would do max damage, but what's the harm in that?
 

Redeye

Chronicles Creator
Veteran
Joined
Jun 21, 2013
Messages
441
Reaction score
261
First Language
English
Primarily Uses
So basically, you mean to tell me that you're using a Fire/Fira/Firaga skill system, which means that each new skill you get is better than the last.

Don't use this system. This system is by far the worst possible thing you can do to your gameplay. Please, for the love of all that's good, do not use it.

By allowing your player to obtain skills that are better than their predecessors, and in turn make other skills obsolete, will almost immediately bore your player. If you have a bunch of skills in which each one deals more damage than the last, you're doing something wrong. The best skill systems out there provide the player with sidegrades, not upgrades. Each skill should have their own situational use that promotes strategy and critical thinking, not just LOL JUST SPAM THE STRONGEST SPELLS AND RESTORE MP WHEN I CANT USE EM ANYMORE. Not only will this solve your problem, but it will also make your game fun, instead of boring.

These are just my two cents.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
@Redeye : By your reasoning then, every Final Fantasy game and every Shim Megami game is boring. There has to be a reason about every AAA dev uses that system so often, if we see it so often. Maybe we just are not thinking about it well?
 

Redeye

Chronicles Creator
Veteran
Joined
Jun 21, 2013
Messages
441
Reaction score
261
First Language
English
Primarily Uses
@Redeye : By your reasoning then, every Final Fantasy game and every Shim Megami game is boring. There has to be a reason about every AAA dev uses that system so often, if we see it so often. Maybe we just are not thinking about it well?
The games themselves are not boring, their skills, however, lack variety and reduce to most of their skills to being obsolete.

By your reasoning, do you mean to tell me that you actually prefer brainless and monotonous power-spamming over interesting mechanics and tact?
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
No, I didn't say that. But don't automatically assume that skill replacement is better. I've had games force that on me when I actually wanted the lower cost MP version. So there is benefit to having those skills/spells still.

For example: In Persona 4 I actually kept a cast of Mediarama around, even when Mediarahan was available, as the MP cost was so much lower (12 vs 30 in Persona 5, don't remember for 4, and I didn't always need a full party heal. So it can work out well.

Edit: And honestly, almost every game turns into spam strongest skill and heal MP, even those that do skill replacement, if we are honest with ourselves. But that is probably a topic for another thread if you wish to debate this further. Let's return to the question asked, which is about damage formulas.
 

Redeye

Chronicles Creator
Veteran
Joined
Jun 21, 2013
Messages
441
Reaction score
261
First Language
English
Primarily Uses
I'm not promoting Skill Replacement, I'm promoting the usage of a wide range of abilities that each have different effects and uses. Simply ramping up the power of each skill you have and calling them "new skills" is not interesting. Lowering MP Costs and changing Elements is sort of a lazy way to create diversity as well in my eyes. To me, every skill needs to feel different, not based off of previous abilities that do the same thing but at a different power level. You know what I mean?
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
True, which there are many ways to fix. Usually it is done by high MP costs to offset it. But again, this is offtopic now, so can we please return to the discussion of the damage formula? If you wish to discuss the rest it would be best to make a new thread for it.
 

Aoi Ninami

Veteran
Veteran
Joined
Sep 22, 2015
Messages
413
Reaction score
513
First Language
English
Primarily Uses
RMVXA
I wouldn't put it as strongly as the above poster, but it does sound like you're only thinking about (or at least, only presenting) part of the picture.

For balance to be meaningful, there has to be more than one thing you're comparing. Okay, maybe you're comparing the number of hits it takes to kill starter enemies with a starter party, versus the number of hits it takes to kill late-game enemies with a late-game party. But if it's only that, then the answer is trivial: increase late-game enemies' HP.

More likely, you're thinking of balance between the different choices the player has: increasing the Attack stat versus increasing another stat. And you've only described what increasing Attack does. What are the other options, and what skills do you get from them?

Let's say that increasing Attack gives you the strongest raw-damage skills. Some other possibilities for skills are: healing; giving temporary stat buffs in combat; debuffing the enemy; inflicting negative status; granting* positive status to allies; preventative measures (e.g. entering a state that prevents poison)... I'm sure you can think of many more. And the thing is, if you have a good variety of enemies, with different ranges of attacks, and different strengths and weaknesses, so that all of these are useful, then the player is really missing out if they concentrate on basic attack and neglect everything else. Doesn't matter whether basic attack can hit the damage cap (just so long as this isn't one-shotting everything in the game). Make the situations and strategies varied enough, and the player will feel rewarded for trying out other skills.

*What actually is the converse of "inflict"? Not sure.
 

ScientistWD

Innocuous
Veteran
Joined
May 28, 2016
Messages
72
Reaction score
59
First Language
English
Primarily Uses
RMMV
Friends @Redeye and @bgillisp, allow me to explain myself and end this feud!
The reason the "Fire, Fira, Firaga" thing is done like that (based on my understanding) is because maxMP increases with each level, too. Which means that skills need to cost more MP, or MP just stops working as effectively. Sometimes those low MP skills can still work, but from a balancing perspective a developer might not want a certain staple ability earned at the beginning of the game to be basically free by its end.
In my game, maxMP is constant throughout the entire thing. MP is different in my game. I assure you that it works out. I think. Like @bgillisp says, it is another question entirely.
I dunno, play it if you want.

Now, @Aoi Ninami, you do make a good point and I've done just that with the other avenues of the game other than Attack. When it comes to balancing, though what I mean is simple.
Say one of the game's actors has the highest Attack, so they get the best raw damage skills. As their Attack increases further, it spirals up and out of control like I describe. When you say "the things I'm comparing" what I'm comparing is the characters to each other. And the dilemma is like this:
  1. On one hand, I often do what you suggest and envelop battles in a certain degree of strategy. And I think that's why this hasn't surfaced as much of a problem yet, and why it maybe never will.
  2. But on the other... I mean, say you have an actor A with high Attack and actor B with high Defense. It is very hard to argue that their efficiency in defeating an average enemy is equal. Even if B can heal or provide other supports, A will dominate on the field of battle. And while this isn't always a bad thing... I feel bad that B doesn't even have a chance to. If B increases their attack, they might get something, but if A's league is unreachable to B then how could a player even consider moving B into that kind of role?
  3. And on the third hand! I can make lots of foes resistant to high-damage attacks or some such, but as I do so I simultaneously reduce the damage of all other actors, including the non-Attack ones.
I guess the bottom line of my issue is that I want all of my actors, not just the Attack-heavy ones, to be allowed an offensive position in battle when the time is right. And this isn't possible when one blows all the others away.
Hence. The damage just being too high.

But maybe, @Aoi Ninami, you are onto something. But do you at least see what I'm saying?
 

Sarlecc

Veteran
Veteran
Joined
Sep 16, 2012
Messages
453
Reaction score
211
First Language
English
Primarily Uses
RMMV
Here's some different ways to go about this without messing with your formulas.
1. Adding a cool down to more powerful skills.
2. Drastically increase mp cost the higher the c value is.
3. Have a negative effect on skills that gets worse the higher the c value.
4. Limit the number of uses a skill has; before you have to re-buy it/re-obtain it. (I did this in a game I made where damage could go into the millions).

And messing with damage formulas.
1. The more you use a skill without using others lowers its damage.
 

Tai_MT

Veteran
Veteran
Joined
May 1, 2013
Messages
5,472
Reaction score
4,859
First Language
English
Primarily Uses
RMMV
Okay, sure, I'll add my two cents. Not sure how useful it'll be, but I'll go with it. I'll talk about the OP's stuff first.

Your first formula seems silly to me. The "base value" always being multiplied? Why are we always dividing Attack by Defense? This formula looks like a complicated way to do "small amounts of damage". 50 Attack divided by 25 Defense means a value of 2. Base Damage of 20 means you're doing 40 damage. Which, begs the question, "Why not simply accomplish the same thing by having a formula that uses addition and subtraction instead so that it's easier to balance?" 50 Attack minus 25 Defense means a value of 25. Add a base value of 15 to the skill itself (5 points lower) and you get the same 40 Damage. Meanwhile, the closer the Attack and Defense stats in your first proposal are... The much less damage you'll ever do, exponentially. This means you'll have to create monsters with much lower defense stats to even get the skill to scale up properly... And, if they've already got low defense stats, why not just hit "Attack" and kill them outright instead of wasting MP dealing with them? I honestly don't see how you could ever get really large number amounts here unless you're seriously jacking up the multiplier (base damage). I mean, what if you have 50 Attack and the Enemy has 50 Defense. Net wash of 1... Now multiplied by a base damage of 100 is.... 100 damage. It just doesn't work if your goal is to "scale up damage". That would require extreme investments into outclassing enemy defenses just to maintain an edge with your multiplier. I mean, it looks like to me that your damage formula in the first example is just a really complicated way to keep damage values low.

The second damage formula to me looks like an even more complicated version of formula 1... which exists merely to keep damage values low. Okay, let me try this out. Not sure what you'll use as a "dampening number". If you're going to use a stat or a flat rate. Either way, doesn't matter. Still accomplishes the same thing as Formula 1... while making it pointlessly complicated again. We'll use my same example above. 50 Attack plus a Dampening number of 20. 25 Defense plus the Dampening number of 20. (70)/(45) * 20. 1.5 Repeating for the first half of the equation if I'm not mistaken... 1.55 * 20 = 31 damage. Your more complicated formula just jacked your damage down even further.

So, here's what I think you should consider doing here quickly. Add an extra 0 to each of the stats I just used. ((500+200)/(250+200)) * 200. Keep in mind that 500 is close to halfway to max Attack stat at 999. 250 is close to one fourth of the max Defense stat at 999. 200 is a huge multiplier. 700/450 = 1.5 repeating again. Look at how far the gap is between those two numbers. 250 full points (one fourth of any max stat, that tops out at 999). 1.5 * 200 = 311 damage. Does that seem pretty small to you?

To even get a massive scaling problem with your formulas, you have to create a very large gulf between Player Attack and Monster Defense. We're not even talking 250 points. It would have to be much larger. 500 points or more. Are you willing to give characters an attack stat of 500 while giving the enemies a defense of 1? Just to get a very high number? Let's try that for a moment. Base damage and "dampening" numbers will remain the same as the above examples. (500/1) * 20 = 10,000 damage. ((500 + 20)/(1+20)) * 20 = 495 damage (I just omitted any remainder). Look at that huge gulf that it takes to even get a massive number like 10,000. The minute an enemy even has a Defense of 2 in that first formula reduces that damage by half.

Your formulas really only prove one thing to me: You're wanting to create a game with low damage numbers and low stats. And, you're using really complicated mathematical formulas to try to do it. To me, this doesn't make a whole lot of sense.

If you want to play around with small numbers, all you have to do is cut out the multiplication and division and simply use addition and subtraction.

If you want to balance out actual high damage skills, I suggest changing your formulas to first get some high damage in there. As for simply balancing "high damage skills"... You can do that in a variety of ways. I'm partial to putting such skills strictly in the land of "can only be used via TP" or have really high MP costs. Or, even, have such skills buff the enemies in some way to make it more strategic to use said "high damage" skills. Though, some of the default formulas work quite well to an extent. Could even change some of them into things like (a - b) * c +/- d to get more consistent results. I'll plug in the above numbers to show you how that works. (50 - 25) * 20 + 20 = 520 damage. Using a subtraction instead of addition of the "Dampener" merely changes damage output to 480 instead. These low numbers would get you some really high damage. The formulas are also simple enough that it's easily controlled by just tweaking the Attack or Defense stats (takes less of a difference between attack and defense in order to get higher numbers, especially if you leave the Base Damage at 2 or 3 or 4.). Add or Subtract Dampener as necessary. You could tweak enemy Defense stats as necessary to get the numbers down.

As for my own damage formulas? I tend to enjoy using small numbers myself. A.ATK - B.DEF . Simple formula. So long as you've got more attack power than the enemy does defense, you do damage. Skill formulas add a "base damage" to it. A.ATK + 25 - B.DEF . The more powerful skills add in multipliers. A.MHP - A.HP * 2 . Skill can only be activated by TP. It's only useful if you're missing a lot of HP. I have several skills of this nature.

But, I think a really good question to be asking you is, "What do you consider to be 'too high' for damage?". If we're talking just raw numbers, then that's going to vary. If we're talking about the numbers being "too high" in terms of the rest of your game, the rest of combat, or even just what the editor allows... These are going to be different kinds of topics.

But, if you'd like some balancing advice, here's how you should handle your formulas: Balance around how many hits it takes for an enemy to kill you and how many hits it takes you to kill an enemy. If an enemy should die in 5 hits, tweak your formulas until this is a reliable outcome (barring or using equipment as necessary). If an enemy should kill you in 10 hits, tweak your formulas to get that consistently. Doesn't matter if it takes 500 damage to kill an enemy in a single hit or if it takes 20. It's still dead in one hit. The number doesn't really matter at that point. Doesn't matter if the enemy hits you for 99999 damage or if it hits you for 100... if you die in a single hit. The goal becomes "how to not die in one hit" for the player. The number of damage doesn't really matter at that point either.

Anyway, I hope that's helpful to you.
 

velan235

Veteran
Veteran
Joined
Dec 7, 2014
Messages
70
Reaction score
36
First Language
Indonesia
Primarily Uses
take a glance at your formula , I think its pretty weird to divide attack with defense. so attack is a add/subtract value but defense is a divider? there are a lot of difference with -2 and /2 , especially with bigger number.

yanfly armor scaling actually pretty good , but you should remember that attack and defense didnt scale at the same value in default armor scaling. armor scaling is based on moba games, which we must take into account how those armor scaling works with the game and translate it into turn-based combat in RM. moba damage happen very fast , if we translate 1 second in end-game moba as 1 turn , one actor can deal up to 4 hit in 1 turn , stunned the entire turn , or use 2 - 3 spell in 1 turn and immediately re-run their turn next second

this is different with turn-based combat , which in general 3 - 4 action is already enough to end the combat , armor scaling can prolong the combat almost 2 times if done wrong.

my advice regard balancing :

use armor scaling , but dont stop there ! calculate how much damage that armor reduce. remember 50% reduction (100 armor in default yanfly scaling) is small for 5 damage in 100HP , but a great difference in 1000 damage in 2000HP. this can actually make your balancing harder. instead , you can control how much armor you want to give to actor and add HP as armor calculation too. 100 armor become stronger later in the game , but 25 armor (20% reduction) + 500 HP seems more reasonable as it doesn't ultimately half any damage you recieve , but give you a 'harder' vibe in larger number. just make sure the number match the power level in the game.

or in general , you can include HP as modifier , and use defense as minimal scaling as possible. it gives more acceptable in number and understanding for the player. using plain divide like you did could be a problem in the long run , especially after a powercreep in your game
 

Calvynne

Veteran
Veteran
Joined
Oct 23, 2015
Messages
104
Reaction score
67
First Language
English
Primarily Uses
I am often using low numbers (stats cap at 99) for most of my projects, so I've got a formula like this for one:
a.atk * (a.atk/10 * (1 + a.level/100)) * (1 - b.def/65)

There are some assumptions baked in, I'm assuming that characters aren't attacking other party members, and that monster defense after all possible buffs is capped at 64. (I use Yanfly's plugins to enforce these limits, but it's something you have to plan out in advance. Since I want players to have higher defense values, I have a modified formula for monsters, with a higher b.def limit.

When I want more granular control over the damage (like using an fire/fira/firaga system) I have a formula that looks a bit like this: (spellpower*2 + a.mat) * (a.mat/10 * (1 + a.level/100)) * (1 - b.mdf/65)

While not to everyone's tastes, I find that formulas like these provide damage that scales nicely with progression. Your levels are important, and defense (more importantly buffs and debuffs) all feel essential.

One of the things that I dislike about the stock RPG Maker is the difficulty in separating weapon power from a character's attack power. Usually I use a plugin to help, or get rid of a stock stat I don't use frequently and replace it with "Strength" or whatever I want to call my multiplier.
I use a formula like this with my high stat, 9999+ maximum damage systems:
weapon_power + ((a.atk*2 * a.level * weapon_power ) / 256 ) * 2 * (defcalc <whichever defense calculation I'm employing, this formula works best with armor scaling)

It provides a feel very much like the classic SNES final fantasy games, where around level 30-40 your damage starts ramping up significantly. Without damage caps, it can go into some absurdly high numbers when you add enough buffs and debuffs to the mix.

In summary, I would say plan out a few things before you get to far along with your project: 1) What are the maximum attributes you'll be using, and how will your characters get to those numbers? 2) How important and frequent are buffs and debuffs to be used? 3) What is the maximum damage you want to see?

Once you have those sorted out, take your maximum damage, reduce it by the rating of your buffs and debuffs (e.g.: if you're expecting all enemies to have 200% defense from buffs, but all attackers have 200% damage at the same time, not much to be done here), then divide the remaining number by what you want to use as your X factor (level, attack power, both, something else). This will give you a number that is an approximation of your "raw" damage per point of your X factor. Once you've got that, adjust your formula until your X factor fits with your damage calculation. I suggest using excel and playing around with a dozen different formulas and weights until it feels right.
 

kirbwarrior

Veteran
Veteran
Joined
Nov 13, 2014
Messages
732
Reaction score
418
First Language
English
Primarily Uses
N/A
It looks similar to the Pokemon damage system, which is "level * (power/100) * (attack/defense)", or at least very close. What this means is
1) the damage of your attack starts equal to level
2) Power is a percentage. If the skill has 50 power, it does half damage
3) Attack divided by defense applies another multiplier. If your attack is double their defense, then it does double damage. With 50 power, the end result is damage equal to your level.

Pokemon gets away with this because it knows that as you get higher level, everything starts getting deadlier and you have to focus on how to avoid dying from only two or even one attacks. That's not a bad thing. Really, the only thing you actually have to really keep reined in is C, since it is compared to HP, while A is compared to B. Damage will climb faster than HP rates, but that's not a problem if you look at max levels and compare how numbers look. It just means battles get deadlier in the long run.

Now, non-damaging skills usually are MUCH better than in most rpgs because they have to stay comparable. Most people skip over skills that double your stats because combat is too fast for them to matter. But an rpg with a battle can get away with it. My suggestion is that C shouldn't climb too fast from tier to tier. For instance, you could make it so C is always a specific fraction of HP chosen when the ability is made. For instance, if we are assuming that enemies defenses scale at the same rate as the PCs attacks, then you can scale C to how fast enemies scale HP.
 

Clexor

Level 2 Bugbear Scripter
Member
Joined
Sep 9, 2017
Messages
13
Reaction score
9
First Language
English
Primarily Uses
RMVXA
If your only goal is to reduce the overall effectiveness of higher end attack values without reducing the effectiveness of everything else, have you considered using a formula that could incorporate diminishing returns for both attack and defense?

a simple base for this would be: y = a*x/(x+n)
where a is the max value percentage wise you want y to hit (1 if 100%), y is the ending value, x is the stat and n is a constant that determines the rate of change

The trick to this is just figuring out your n value. To do that you just plug in your maximums in all cases. for example:

a = in this case is 1 so we can omit it
y = the output = the max damage you would expect from max attack power versus 0 damage reduction = lets say 500
x = attack stat cap = lets say 200

so 500 = 200/(200+n1) = -199.6 for n1 (it works out, trust me)

following that our new equation is: y = x/(x-199.6)
where x is the attack power and y is the expected damage

Now we do defense the same way but we change variable names so as not to confuse the system and incorporate an "a" value because we never want the enemy to reduce damage by 100% (omit a again if you want 100% reduction to be possible):

a2 = max damage reduction (keeping in mind this will produce a percent) = lets say 60% or .6
y2 = a target % you want damage reduced by for a certain amount of defense = lets say 40% or .4
x2 = what amount of defense should equal a reduction of y(.4) = lets say 100

so .4 = .6*100/(100+n2) = 50 for n2

so our new damage reduction equation is: defy = 0.6*defx/(defx+50)
But we need this to be the amount of damage to reduce to so it should be 1-(defx/(defx+50)
(this makes it so that damage will be reduced to a percentage out of 100)

so our final equation becomes:

damage value = x/(x-199.6)*(1-0.6(x2/(x2+50))

This will create a general curve towards a max point for attack and defense. It stops attack from spiraling out of control by creating a max value that you slowly work towards. This will make attack based characters excel in the early stages because they will get more of a damage boost for attack at first but taper off later on. Meaning the difference in damage from 1-100 will be grater than that of 101-200.

If my math doesn't work or I am missing something that makes this impossible (my current project doesn't use the built in stats or any of Yanfly's scripts, so I may be unaware of limits) please let me know. I would be just as interested to learn from this.

EDIT: I forgot the 0.6 for "a" halfway through the defense equation. My bad :p
 
Last edited:

Ninakoru

Veteran
Veteran
Joined
Aug 5, 2017
Messages
70
Reaction score
26
First Language
Spanish
Primarily Uses
RMMV
So much personal preference here. Diminishing results if definitively the solution for what you are suffering. More attack has slowly less effect on final result...
 

lianderson

Veteran
Veteran
Joined
Dec 27, 2012
Messages
441
Reaction score
340
First Language
English
Primarily Uses
N/A
I personally am a fan of direct damage reduction.

a.atk - b.def
or
a.mat * 2 - b.mdf

A simple subtraction helps keep the reigns on numbers of digits as oppose to multiplication and division, which honestly, just doesn't make sense. Like, if a tank had say, 100 armor, and then a spoon had 1 attack, the tank would just be immune to the spoon, not get a 99% damage reduction from it or whatever. But, as people have said before, preferences.

Anyways, that's my 2 cents. Good luck on your game.
 

Ninakoru

Veteran
Veteran
Joined
Aug 5, 2017
Messages
70
Reaction score
26
First Language
Spanish
Primarily Uses
RMMV
I would like add an insight of some possible options:

- Defense sustracts from Damage: Hard to balance due to how is calculated, you could go from one-shotted to 0 damage, on the other side is the easiest formula to represent and to keep in mind balancing your characters and enemies.

But the real problem comes with multi-hit skills vs strong multiplier skills. These are a hell to balance. However you may want add that specific layer of complexity: multi-hits perform better against low armor while strong hits perform better against high armor. Want very high physical defense enemies with low HP? Forget about this formula, will be 0 damage or one-shotted.

- Defense is divided against Damage: Harder to balance than the first one, because damage need an extra boost per level to keep the ratio when both values are on the same level. You could ignore this if your new skills do more damage as you level, or they scale with an increasing value appart from attack (IE 1% extra damage per level)

Here multi-hit damage vs strong multiplier damage is a non-issue, as both will deal the sum of their base damage multiplied by the number of hits. No extra layer of complexity, so 4x damage once = 2x twice. Things get complicated if your attack damage formula increases exponentially to counter the division from defense.

That is about how defense mitigates daamge, but how damage is calculated is another thing to consider:

- Could be based multiplication (2 x ATK, 3 x ATK...): Easy to balance, easy to keep scale.

- Could be exponential (ATK x ATK): Could scale out of bounds

- Could be with diministhing returns (ATK EXP 1.75 / ATK): The values will be soft capped no matter how much you invest.

If I have to choose, formulas are whatever you like you can mix and match as much as you like. For simplicity I would go with def percentage and damage multiplied.
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
One of the best questions that's ever been asked in Game Mechanics Design.

I think that your base concepts are right on here; the problem is probably your skill design.

(a/b) * c is a good formula to use. ((a+d)/(b+d)) * c, and my similar personal preference of (a/(b+d)) * c, are both even better.

So it seems like your stats themselves are balanced, except that the combination of higher base values (on your new skills in the "ATK Tree") for investing in ATK, multipied by the actual increase in your ATK stat, is what throws the balance out of whack.

That brings up the question: Besides the stat itself, what are the benefits for investing in other trees besides ATK? These benefits will need to be equally useful to the better base values you're getting in the ATK Tree!

For instance, maybe a mid-tier DEF Tree skill will reduce all damage done to you by 40% for a turn, in addition to doing its normal damage formula, and a high-tier one will reduce it by 70%. Now you'll see a very different damage pattern between battlers who are investing in ATK and battlers who are investing in DEF, but neither one will spiral out of control when compared to the other. Maybe an AGI Tree skill can guarantee critical hits. Stuff like that.

Depending on the rest of your design, you may or may not also be running into the problem where overspecialization in a single stat seems to be an objectively better path for most characters than diversifying among several stats. If you don't like that, then you can introduce diminishing returns on the "input" side - e.g., every point of ATK that you want to buy costs more than the last, but the costs for each stat are calculated separately, so that, for example, buying your 5th point of ATK will cost 25 JP, while buying your 2nd point of DEF will cost only 10 JP (but buying your 5th point of DEF will cost 25 JP).

This all assumes the player has a reasonable amount of control over which stats they build. If you as the designer are mostly controlling the characters' stats, or tying them to level alone in a fixed ratio, then you don't need any of this - you just need to make sure that HP is scaling at an appropriate rate (probably an exponential rate) to offset the multiplicative effect of Attack * Base Skill Power.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD

Forum statistics

Threads
105,868
Messages
1,017,074
Members
137,578
Latest member
JamesLightning
Top