Balancing Character Stats

Willfffff

Villager
Member
Joined
May 8, 2020
Messages
13
Reaction score
0
First Language
English
Primarily Uses
RMMV
So I recently started to get into RPG Maker and was wondering if any of you guys had any tips about creating characters that have varied stats, but are also balanced. Thanks!
 

Wavelength

Edge of Eternity
Global Mod
Joined
Jul 22, 2014
Messages
5,404
Reaction score
4,799
First Language
English
Primarily Uses
RMVXA
It's such a wide topic, but the best advice I can give you is to get the best understanding that you can of what each of your stats are actually doing in your game!

You have to go even deeper than "ATK is increasing the damage my physical damage-dealers do" - if your damage formula is 100 + a.atk * 4 - b.def * 2, then what each point of ATK does is raise your damage output on physical attacks by 4. Each point of DEF lowers your damage taken from physical attacks by 2. At first glance, this might make ATK look more valuable than DEF. However, this has a complex meaning based on other factors in your game:
  • How often will a character be attacking vs. taking damage? For example, in a single-character party with an average enemy party of 5 enemies, each point of DEF is actually saving you 10 points of damage per turn (with the benefit decreasing as you kill some of the enemies), whereas each point of ATK only increases your output by 4 per turn.
  • How often will a character use physical vs. magical damage? A mage might only be using physical attacks on one out of ten turns, meaning the real benefit of one point of ATK is 0.4 damage per turn. (Importantly, this means you can't balance two mages against each other by, for example, giving one better ATK and the other better MAT.)
  • How big are character and enemy HP totals? 4 points of damage against a 5000 HP enemy means less than 2 points of damage against a 350 HP character. Also, how does healing in your game factor into this? Healing makes damage reduction more valuable.
  • How long does combat last? This can affect a consideration like ATK vs. AGI. Higher AGI means you've gotten to use one additional attack (or action) in the combat at any given point during the battle. If battles generally last about two turns, that one extra attack earned with a higher AGI can be really big. If battles generally last about ten turns, that one extra attack means a lot less, and it's better to use ATK to increase the potency of each attack.
  • If you have a stat like DEX that controls, for example, Critical Hit rate, and Crits triple your damage, then compare a stat like DEX to a stat like ATK by calculating total increase to damage. If one extra point of DEX gives you a 1% higher chance to crit, then that's a 2% overall boost to average damage dealt. If one extra point of ATK raises your damage from 100 to 104, then that's a 4% overall boost to average damage dealt.
Some stats don't even have a function in your game by default - for example, the LUK stat essentially does nothing in RPG Maker (it has a negligible effect on the application rate for negative states). So no amount of LUK is going to compensate for a difference in ATK or DEF or Max HP, unless you give it a function in your game.

There's also the question of how to balance character stats against enemy stats. This is a tough process to perfect, and ultimately what you should do is to create your characters and enemies, create your dungeons, and then try running the dungeons yourself, and make adjustments appropriately (keeping in mind that your game will be harder for other players than it is for you, because you already know all of the mechanics, enemy behaviors, and layouts in your game). While doing a first pass, here are some things you can keep in mind:
  1. How much damage do you want characters to take in each encounter?
  2. How long do you want battles to last? Divide your answer to (1) by the number of turns you want battles to last, to get the amount of damage per turn.
  3. How many enemies are in this troop? Divide your answer to (2) by this number, and then multiply by the number of characters in your party, to get the amount of damage each enemy should do each turn.
  4. Now that you know how much damage an attack/skill should do, look at your damage formula to determine what stats will allow an enemy to deal this much damage. For example, if the answer to (3) was 40 damage, and your formula is 100 + a.atk * 4 - b.def * 2, then an enemy stat of 50 ATK and a character stat of 130 DEF (including all their armor) would get you to 40 damage.
  5. In order to get the correct number of turns in each battle, you need to determine defensive stats for enemies and offensive stats for characters. For example, if you want battles to last 4 turns, and the characters are going to have about 150 ATK (including weapons) at this point, then 100 DEF and about 1200 HP would get you to 4 turns (300 damage per turn based on the above formula), and 50 DEF and 2000 HP would also get you to 4 turns (500 damage per turn)
That process will give you a pretty good starting point, after which several rounds of playtesting and the ensuing adjustments are your best tool for creating a really satisfying, balanced experience.
 

Cythera

Veteran
Veteran
Joined
Jul 31, 2019
Messages
120
Reaction score
207
First Language
English
Primarily Uses
RMMV
Wavelength sums it up quiet nicely, though I'll throw in my two cents.
First, balancing can be really fun! I personally love that side of game development!
Second, I second everything Wavelength said. They have really good points to consider when it comes to balancing. If you are looking for a starting place, try messing around with the default stat set ups (the "A","B", etc in the class parameters) just to get a feel for them and growth rates. You can always modify them later!
Skill damage formulas are important too. Even a low stat can do big damage if it has a massive *12 modifier. Look up some example formulas in games with combat close to yours (low number games, games with an atb, etc) for a starting point. There are tons of plugins to help with balance and numbers though if you are brand new, play with the default engine first before leaping into plugins. Learn what it can and cannot do on its own.
Don't be afraid to start with character tropes: the squishy mage, the fast rogue, the tanky but slow knight, etc. They provide good beginner points, and you can easily customize them to make a memorable class.
Basically: start small, work your way up, consider what you really want this character to do in combat, and play test. Then play test again. Anndd play test some more! Always remember your game will be far easier to you than it is to other people. If you find your game hard, players will likely find it impossible.
Sorry for any Grammer or format issues; I'm on mobile :D
 

Anthony Xue

Ancient Architect
Veteran
Joined
May 9, 2016
Messages
94
Reaction score
96
First Language
German
Primarily Uses
Hmmm. Is this actually about balancing character stats or characters as a whole? There may be characters who have abilities that are not all that useful in combat, but all the more relevant when it comes to healing and curing thereafter, or are able to pick locks or disarm traps or other things. Then again, not every game goes in to a lot of detail when non-combat actions are concerned, so it would be really great if you could tell us more about your intentions.
 

Willfffff

Villager
Member
Joined
May 8, 2020
Messages
13
Reaction score
0
First Language
English
Primarily Uses
RMMV
so it would be really great if you could tell us more about your intentions.
Sure thing. Stats/characters are going to based more around acting in combat. Never thought about outside but as cool as it sounds I want to keep things simple.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,439
Reaction score
6,255
First Language
Indonesian
Primarily Uses
RMVXA
Some stats don't even have a function in your game by default - for example, the LUK stat essentially does nothing in RPG Maker (it has a negligible effect on the application rate for negative states). So no amount of LUK is going to compensate for a difference in ATK or DEF or Max HP, unless you give it a function in your game.
Technically speaking, the only stat that does not have a purpose in-game at all unless you give it meaning are ATK, DEF, MAT, and MDF. Luck has its influence by default which is affecting the buff/debuff and state application rate. The other four I mentioned are only used within the damage formula.

----------
Speaking of character stat, it is also important to remember that the progression of the number may also affect how your boss encounter is best to deal within a certain level. If you put an extreme stat difference (either that by using a massive multiplier in the damage formula, or a massive stat jump in the stat curve per level), your boss encounter may seem to be impossible to deal within a certain level and seems too easy after leveled up by 1.
 

Black Pagan

Veteran
Veteran
Joined
Feb 21, 2017
Messages
294
Reaction score
222
First Language
English
Primarily Uses
RMMV
I prefer this Formula for my Game with small numbers :
(a.atk * 0.5 - b.def * 0.25)

Meaning : Half of Player's attack stat is reduced by a Quarter of Enemy Defense stat to deal Final Damage

Using this Formula, Let me tell you that you don't have to worry about balancing anything too much, Things will balance themselves automatically. Just remember this General Rule :

HP > Attack > Defense (Life greater than Attack, Attack greater than Defense). You could vary one or two of these stats slightly to create unique Player Characters and Enemies.

For example,
A Tank Role Char would have higher Defense Stat but lesser Attack Stat
A Damage Role Char would have higher Damage Stat but lesser Health
A Support Role Char would have more Health Stat but Lower Stats in General

Demonstration of this Formula on Enemies :
(Choosing all "5"s and "0s" to make it look simple)

We pick 3 numbers for Player at random - 100, 75, 50
(Remember : HP > Attack > Defense)
Player has 100 HP, 75 Attack, 50 Defense

We pick 3 numbers for Enemy, Less than Player - 75, 50, 25
(Remember : HP > Attack > Defense)
Enemy has 75 HP, 50 Attack, 25 Defense

Result of a Typical Battle :

Player takes 12 Damage from Enemy and dies in 9 Turns
Enemy takes 31 Damage from Player and dies in 3 Turns

As you can see, This starts to feel decent, Player deals a lot more damage than Enemy while at same time taking considerable damage and you don't have to really balance anything out, Just remember the HP > Atk > Def Rule from above.

Use your Imagination and give your Entire Party varied Stats (Go ahead and do some Testing, Because there is no Game that can be made without Battle testing) and find out what works best for you !

If your Player Char is taking no damage, Raise Enemy attack. If Your Player Char is taking too much damage, Give them more Defense or Health. You would be surprised how much change you observe with varying basic stats, slightly.
 
Last edited:

Frostorm

[]D[][]V[][]D aka "Staf00"
Veteran
Joined
Feb 22, 2016
Messages
1,116
Reaction score
808
First Language
English
Primarily Uses
RMMV
In my game, I have renamed the following stats (but still functionally similar)
ATK -> Strength (increases physical damage and critical strike multiplier)
AGI -> Dexterity (increases crit/hit/counter chance)
MAT -> Intellect (increases magical damage and spell crit chance)
DEF -> Armor (mitigates physical damage)
MDF -> Resist (mitigates magical damage)
LUK -> Speed (increases evasion, dictates turn order, and also increases # of tiles movement)*
*fyi, this will be a grid based tactical RPG)

Here's what my normal attack formula looks like:
Code:
<damage formula>
if (user.isWtypeEquipped(3)) {
  value = (a.atk + a.atk + a.agi) / 2;
} else {
  value = (a.atk + a.atk + a.agi) / 3;
}
</damage formula>
The reason I have 2 possible formulas is for whether a character is using a 2-hand weapon or not. You'll notice that 1 point in ATK (Str) basically increases damage twice as much as AGI (Dex). After the resulting value is calculated, that figure is calculated against the target's armor/resist like so:
Code:
value *= (100 + target.level) / (100 + target.level + armor)
As you can see armor (at the end of the formula) represents the target's DEF or MDF value and are used in a armor scaling fashion (diminishing returns). There's a bit more to this that further adds value to DEF & MDF, but I won't get into that right now. I used to incorporate this manner of armor scaling in each and every skill formula until I saw that Yanfly had a plugin that basically did it for me using a nearly identical formula to what I had originally used.

Oh, I also wanted to mention that I've reduced MV's default Crit multiplier from x3 to a much more reasonable x1.5 and like mentioned earlier Strength will increase this at the rate of ATK/100 (so 50 Strength would increase this to x2). For context, an average late game melee character would have ~100 STR while an absolutely min-maxed character w/ best of everything could have up to 200 STR.

Anyways, my goal w/ all of this was to make each and every stat useful and desirable (players will have stat points they can spend to fine tune their characters). This is especially true for DEF/MDF since I've noticed that in many games, this is an undervalued stat. As in, I see a trend of people mostly just stacking as much of a single damage stat as possible and ignoring everything else.
 
Last edited:

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

Latest Threads

Latest Posts

Latest Profile Posts

Should be able to release Haxe MV/MZ next weekend.
It look that somehow MZ tracks are messed up (for example battle4 is obviously a theme, castle2 is a ship, ship1 is a scene and so on..). Maybe they just named them after with some ambiguity.
is there a script call that return how much turn has passed in battle?
Does anyone find this hard to read?

Enjoying my weekend at home to stay Covid free. How is everyone else doing?

Forum statistics

Threads
100,603
Messages
977,734
Members
132,214
Latest member
qwertyben
Top