[RMMV] Giving things stats

SCG4473

Villager
Member
Joined
Jun 6, 2018
Messages
8
Reaction score
5
First Language
English
Primarily Uses
RMMV
Sorry if this' already been asked one hundred thousand times but,,,,,,

How do I balance out the numbers in my games?
For example, how do I determine how much damage my weapons do, how much defense my armors give, damage + MP/TP costs of my skills, how much MP/HP my potions restore and even the gold costs?

Statting classes is a challenge but manageable because of how the menus handle it, with A - E presets and the curve generator and stuff but whenwver I have to input a number on my own, be it damage, price or really anything else, I get stumped. Is there some kind of formula I can use to, for example, define how much my tier 1 health potions heal based on the average max HP of my characters or something? Any advice? A million thanks in advance :kaoluv:

sorry for my cluelessness lol, as it's probably obvious i'm new
P.S: hope i put this in the right section lol,,,

P.S 2: also, side note but what do the Hidden Item A and B options do???
 
Last edited:

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,713
First Language
English
Primarily Uses
RMVXA
If you use the Search function, with the term 'balance', checking both the 'Search titles only' and 'Search this forum only' boxes, you will get several threads which you may find helpful.
 

SCG4473

Villager
Member
Joined
Jun 6, 2018
Messages
8
Reaction score
5
First Language
English
Primarily Uses
RMMV
If you use the Search function, with the term 'balance', checking both the 'Search titles only' and 'Search this forum only' boxes, you will get several threads which you may find helpful.
ooh, didn't think of that, thanks a lot!
 

Frogboy

I'm not weak to fire
Veteran
Joined
Apr 19, 2016
Messages
1,704
Reaction score
2,208
First Language
English
Primarily Uses
RMMV
One thing you can do is simplify your formulas to something like a.atk - b.def. It's a good way to get the hang of things when first starting out.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
What I did was the following:

First, I decided what value do I want an average value in a stat to be for a level 1 and a level 99 character. Then I set all of my class stats as Bad, Poor, Average, Good, Great (and set numbers to each). For my game I used 15/18/20/23/25 for a level 1 character, with 15 being Bad in a stat, 20 average, and 25 Great.

Then once I set that I used excel and a lot of trial and error to set my damage formula, based on the HP of my characters and ATK values.

With that set, I then set my weapon and armor tiers, keeping in mind what level I want the characters to be when they get to these weapons. This took a lot of tweaking BTW as I had to make the game first to get these values good.

Then I did weapons and skills as well, and for skills since I use a skill learn system I based it on the average level you should be learning the skill, and how much damage I wanted it to do.

Form there, it was a LOT of testing. To give you an idea, I think I redid my skills and numbers for them 6 times throughout my game.
 

Sauteed_Onion

Mmm Tasty
Veteran
Joined
Dec 13, 2017
Messages
554
Reaction score
3,665
First Language
English
Primarily Uses
RMMV
I notice an that sometimes gaining 1 level worth of stats on an unmodified hero class as defined by new project in mv sometimes puts att up enough that it goes over the defense of a creature and it seems like the damage goes up insanely. I realize this may be a little off topic but is there some variance formula that gives you a bonus when you get a point over a certain threshold in att vs defense? Maybe I'm asking this in a weird way.
 

AsuranFish

Veteran
Veteran
Joined
Jan 3, 2017
Messages
119
Reaction score
88
First Language
English
Primarily Uses
Playing with Excel spreadsheets is very helpful. Come up with a "test equation" for a skill, and run the numbers for a variety of situations.

- A low level character, vs a low level enemy.
- A low level character, vs a high level enemy.
- A high level character, vs a low level enemy.
- A high level character, vs a high level enemy.

Factor in what the skill would look like if used by an OP (end game) character, or against a super powered boss. Try the skill out with mid-level enemies as well.

a.atk - b.def is pretty basic, but it can result in a lot of zeros being processed, and make it impossible to damage certain enemies if you're not careful or fight enemies over your level.

I typically determine an "skill power" for each skill, and a constant to apply to a.atk and b.def, and process the damage as such.

(a.atk * skill power) * ((constant + a.atk) / (constant + b.def))

So if a player has an Attack stat of 25, uses the skill Power Slash, which has an skill power of 8, against an enemy with 45 defense, and use a constant of 30, the damage output would be:

(25 * 8) * ((30 +25) / (30 + 45)) = ~147

If instead, the player had 45 attack, versus 25 enemy defense, the output would be...

(45 * 8) * ((30 +45) / (30 + 25)) = ~491

Why the constant of 30? It grounds the damage a bit, and keeps the variance from getting too out of whack in more extreme cases.

Without the constant in the above equations, the damage outputs would be 111 and 648, instead of 147 and 491. That may seem perfectly fine, but what happens when a low level character with 6 attack stumbles upon an enemy a few levels higher with 18 defense? Or low-mid level player with 32 attack versus a level 1 trash mob with 2 defense?

With constants:

(6 * 8) * ((30 + 6) / (30 + 18)) = 36
(32 * 8) * ((30 + 32) / (30 + 2)) = 496

Without constants:
(6 * 8) * (6 / 18) = 16
(32 * 8) * (32 / 2) = 4096
....and to illustrate the problem with this, give the enemy two more defense, which should be mostly irrelevant against 32 attack...
(32 * 8) * (32 / 4) = 2048
...take away one defense instead?
(32 * 8) * (32 / 1) = 8192
Should one defense increase/decrease the damage by 4096? Probably not.

The constant of 30 is an arbitrary number. You can change it to fit your needs. Increasing it will put less emphasis on defense and pay more attention to the raw attack power of the attack (a.atk * skill power), decreasing it will put more emphasis on the importance of defense.


(45 * 8) * ((0 +45) / (0 + 25)) = 648 damage
(45 * 8) * ((5 +45) / (5 + 25)) = 600 damage
(45 * 8) * ((50 +45) / (50 + 25)) = 456 damage
(45 * 8) * ((500 +45) / (500 + 25)) = ~374 damage

Notice the higher the constant, the closer the output gets to (45 * 8) = 360. If the enemy had higher defense than the player has attack, then the constant of zero equation would yield significantly less than "(a.atk * skill power) = damage", but increasing the constant would bring that number up.

If, for certain skills - you wanted to make the equation simply something like (a.atk * 8), then you'd effectively be giving the attack an "ignores defense" effect. Such an attack would be useful against higher defense enemies, but it wouldn't really shine against enemies you already over-power.

Editting to add:

Also, consider the extreme outliers of your attacks. Let's say the lowest defense an enemy can have is "1", and the highest attack a player can have is 100. Let's assume the strongest attack in the game has a Skill Power of 25.

Here are some possible outcomes for the strongest possible player using the strongest possible attack, against the weakest possible enemy.

(100 * 25) * ((0 + 100) / (0 + 1)) = 250,000 damage (no constant)
(100 * 25) * ((10 + 100) / (10 + 1)) = 25,000 damage
(100 * 25) * ((30 + 100) / (30 + 1)) = 10,484 damage
(100 * 25) * ((50 + 100) / (50 + 1)) = 7,353 damage
(100 * 25) * ((500 + 100) / (500 + 1)) = 2,994 damage

Same skill, same player, but an enemy with 50 defense. Still much lower than the player.

(100 * 25) * ((0 + 100) / (0 + 50)) = 5,000 damage (no constant)
(100 * 25) * ((10 + 100) / (10 + 50)) = 4,583 damage
(100 * 25) * ((30 + 100) / (30 + 50)) = 4,063 damage
(100 * 25) * ((50 + 100) / (50 + 50)) = 3,750 damage
(100 * 25) * ((500 + 100) / (500 + 50)) = 2,727 damage

Notice how the scenarios with low constants yield a massive variance in damage? Should an attack do 250,000 to an enemy with 1 defense, 125,000 to an enemy with 2 defense, and 5,000 to an enemy with 50 defense? No, that's just insanity, right?

But also beware of setting your constant too high. Look what happens if I set my constant to 500. An enemy with 1 defense takes 2,994 damage, and an enemy with 50 defense takes 2,727. There's very little difference. In this case, the all the extra defense the enemy has counts for almost nothing. I would say, in this case, a constant between 30 and 50 seems appropriate.

This way, defense matters enough to justify buffing/debuffing it as much as you can, but not so much that you can enfeeble an enemy a few times and break the game.
 
Last edited:

mobiusclimber

Veteran
Veteran
Joined
May 3, 2018
Messages
265
Reaction score
150
First Language
english
Primarily Uses
RMMV
Remember too that you can set the amount of variance a skill will have built into it. I usually turn this down from the 20% (!) or whatever craziness it is by default. Otherwise, the player really has no idea of how much damage or healing their spell is going to do.
 

OnslaughtSupply

Ssshhh...
Veteran
Joined
May 14, 2017
Messages
731
Reaction score
764
First Language
English
Primarily Uses
RMMV
What @mobiusclimber said. A Great way to battle test your skills and balance is to make the variance 0% and criticals off until you've had time to balance things and then add in a little RNG variance. I like to start off with flat numbers and work backwards. Like a slash does 30% damage to a low level enemy. So if that low level enemy has 100hp, slash needs to deal -30hp. So now I need a formula to get there so, a.atk-b.def would be something like 50-20. But as levels progress this is going to spiral out of control so let's aim down to (a.atk*2)-b.def would be something like (25*2)-20. Now attack and defense have stats that are more similar and easier to manage. Now we can figure that our character needs to add his atk up to 25 with a low level weapon. Yanfly's enemy levels calculator gives a good impression of how you can scale up too.
 

SCG4473

Villager
Member
Joined
Jun 6, 2018
Messages
8
Reaction score
5
First Language
English
Primarily Uses
RMMV
First of all, thanks for all the really helpful replies, now I have something to go off of when planning my battle system.

This is my first project and first time messing with anything game development related at all, so it's really just basic, something I'm doing to test and improve my skills.
And yeah, I always thought the standard variance percentage was crazy lol.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Are we allowed to post about non-RPG Maker games?
I should realize that error was produced by a outdated version of MZ so that's why it pop up like that
Ami
i can't wait to drink some ice after struggling with my illness in 9 days. 9 days is really bad for me,i can't focus with my shop and even can't do something with my project
How many hours have you got in mz so far?

A bit of a "sparkle" update to the lower portion of the world map. :LZSexcite:

Forum statistics

Threads
105,883
Messages
1,017,236
Members
137,608
Latest member
Arm9
Top