# I NEED A MATHEMATICAL GENIUS (RPG MAKER VX "GENERATE CURVE" MYSTERY)

## Posts

Pages: 1
Okay, so I'm still working on this spread sheet used for balancing damage and skill damage in Rpg Maker VX. This could be the most useful thing ever, except that it's completely ridiculous to enter in the character's stats all the time.

So here's the mystery: How does RMVX's "Generate Curve" button work? I've always been okay at math, but for whatever reason, I cannot figure this out. If you don't know what I'm talking about, take a look:  So, what is the math behind this? More specifically, what is the formula? My end goal is to have the same thing in my spread sheet, where you enter that max and min values, as well -10 to +10 late and early factor, with the output being the entire array of that stat for every level of the character.

So, can anyone help me with this? Go!
I don't know the exact formula, but I have a rough estimate.

s = d * (1 + c / 10 - c / 5 * L / 99)

c = The curving speed, from +10 to -10, including 0
d = The difference between the stat at Lv 1 and Lv 99 divided by 98 (aka average stat gain per level)
L = level before leveling up
s = Amount of stat gained when leveling up from level L, if the stat's value were to not be rounded down

t = b + L * d * (1 + c / 10 - c / 10 * (L + 1) / 99)

t = Base stat at level L
b = Stat at level 1
(The second c being also divided by 10 isn't a typo.)

Thus if d were to be 100 and c were to be +10, your character would start off by gaining 198 points at level 1, and that would slowly go down as you level up, until it becomes a mere 2 point gain from level 98 to 99. The opposite would happen if c were to be -10 instead. Remember this is only a rough estimate and these numbers won't match up exactly with the real ones, except for level 1, 99, maybe 2, and other low levels when the numbers are small (or any level if c is 0).
So far, the first formula works great if the line is straight, IE, the curve is 0. However, it doesn't work if the line is curved, but this is awesome progress! I haven't had a chance to try out the second formula. I'm a little unclear on the purpose of the second formula however. Do they both do the same thing?

I just can't seem to get the c value to work, if we get that to work, we could have a hell of a spread sheet on our hands. :)

If it helps, I'll show you where I'm going with this.

So, this is the first sheet. Ideally, you should only have to enter data in those boxes on the left. This first page displays the stats for each level. Currently, the stats have to be manually entered. Now, this second page is where the resulting damage happens, these are calculated with data from the first page. It shows the damage to and from both parties at all possible levels of each hero. There is also another page that deals with skill damage. The spreadsheet so far works perfectly, but it's completely annoying to manually enter the data. But if we didn't have to enter the data, this thing would be awesome. :)
post=98059
So far, the first formula works great if the line is straight, IE, the curve is 0. However, it doesn't work if the line is curved, but this is awesome progress! I haven't had a chance to try out the second formula. I'm a little unclear on the purpose of the second formula however. Do they both do the same thing?

Well, as I've said, it's only a rough estimate. The real formula probably uses exponents.

The first formula is used to calculate how much a stat is increased by at a certain level. The second formula adds up all the increments up until a certain level and the stat at level 1, effectively telling you how high a character's stat is at that level. The second one isn't needed if you simply add the previous level's amount and the current level's gain together.

Edit: I've managed to find this: http://etheon.net/public/dl/macl_complete.txt

It's apparently called the "Method and Class Library" and is for RMXP. I don't understand what it does, but if you Ctrl+F "Level_Generation" and scroll down a bit, it mentions curves and stuff. If it is about XP's parameter curves, if XP's parameter curves are the same as VX's, and if you can figure out what the calculations are doing, then something good happens. I'm apparently suddenly feeling dumb and can't explain what I'm trying to say you can implement it into your Excel thingy.

Editmore: The parameter curves from XP and VX seem to be the same, so yay.
Hmm, the bad news is that it is 3 different formulas :(.
I'm not sure how to make that work in excel, but there might be a way using if/then statements regarding the curve constant but I have no idea.
You could hide the different parts away from the table to make it easier, instead of trying to put it all in one cell. That imperfection might bother you though, so it could be a temporary solution until you can simplify it into one cell.

A suggestion I'd have is to allow the user to edit the coefficients for A's attack and B's defense. I don't know if you ever intend to make it public, but it might be useful even if it's just for yourself.
Bah, I think I'm going to give up on this for now. I was hoping it was going to be one consistant formula using the variables: min level, max level, min stat, max stat, and growth factor.

I am going to release two spread sheets I think, one with no curve simulation, and one that is automatic but limited to linear growth (no early or late curves). It's a damn shame that these curves are out of my league, it would have been awesome. :(
Well, I definitely don't need to release anything now, someone made a far better battle test method. :)

http://www.hbgames.org/forums/viewtopic.php?f=179&t=67456

This thing is amazing.
Pages: 1