• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

How to make Jump not worthless

Started by Dokurider, May 15, 2012, 04:34:29 am

Dokurider

First, let's do a little reinterpretation of what the Jump stat is. Let's pretend that Jump is more akin to Agility than just how high you can jump. Think about it. Jumping high involves the whole body, it's not just how strong your calves are. It's how well you can coordinate your body, your range of motion and flexibility. So let's treat Jump as an acrobatic stat.

So now that the immersionist fluff is out of the way, let's start applying it. Let's start by using it as a evasion modifier. When using Jump outside of a terrain factor, understand that Jump should function simultaneously as an offensive and defensive stat and that it should be it's own worst enemy. What do I mean by this? Let's look at how Jump can be implemented in evasion. It's as simple as (Target Jump/Caster Jump) = Jump Evasion. This means a target with a high jump will have very good evasion as well as accuracy. Let's try it out:


3 / 3 = 1
3 / 4 = 0.75
4 / 3 = 1.33
3 / 5 = 0.6
5 / 3 = 1.66
3 / 6 = 0.5
6 / 3 = 2


Hmm, even if we lowered evasion across the board dramatically, this is too much. It makes Jump the dominating evasion stat instead of Evasion itself. We merely want it to be a factor. Let's try using it's square root on the quotient then:


(3 / 3) ^ 1/2 = 1
(3 / 4) ^ 1/2 = 0.87
(4 / 3) ^ 1/2 = 1.15
(3 / 5) ^ 1/2 = 0.77
(5 / 3) ^ 1/2 = 1.29
(3 / 6) ^ 1/2 = 0.71
(6 / 3) ^ 1/2 = 1.41


Excellent, but unfortunately, FFT cannot do square roots, so we'll have to come up with another method. How about [(Target Jump/10) - (Caster Jump/10)] + 1:


(3/10 - 4/10) + 1 = 0.9
(4/10 - 3/10) + 1 = 1.1
(3/10 - 5/10) + 1 = 0.8
(5/10 - 3/10) + 1 = 1.2


It's doesn't quite have the oomph I want IMO, so let's replace 10 with 8:


(3/8 - 4/8) + 1 = 0.87
(4/8 - 3/8) + 1 = 1.12
(3/8 - 5/8) + 1 = 0.75
(5/8 - 3/8) + 1 = 1.25
(3/8 - 6/8) + 1 = 0.62
(6/8 - 3/8) + 1 = 1.37


Much better. Evasion being lowered to compensate goes without saying. This alone would turn Jump from the most worthless stat, to being almost as important as Move.

It doesn't have to end with incorporating it into evasion, it can also be factored into attacks as well. Suplex is a 1 range instant unevadable move that deals damage depending on the Jump stats of both Caster and Target:



(Target Jump / Caster Jump) * (PA! * PA/2), with PA! being boosted by Martial Arts

If PA = 12, PA! * PA/2 = 108

3 / 3 = 1 * 108 = 108
3 / 4 = 0.75 * 108 = 81
4 / 3 = 1.33 * 108 = 144
3 / 5 = 0.6 * 108 = 64
5 / 3 = 1.66 * 108 = 180
3 / 6 = 0.5 * 108 = 54
6 / 3 = 2 * 108 = 216


Units with low Jump will suffer massive damage from this attack, while units with high Jump will suffer minimum damage. Suplex alone will not make Jump a real stat to watch, but implementing Jump Quotient into more skills will remedy that.

It can even be used in a more conventional matter with Jump (the attack) itself.


[2 - (2 / Jump)] * PA * WP


It's designed to deal more damage the higher your Jump is, but it has diminishing returns, so stacking Jump doesn't get out of hand.

Celdia

...I'd like to subscribe to your newsletter, sir. How much for the first year's worth? Will a personal check be acceptable?

Alternately:
  • Modding version: PSX
  • Discord username: Celdia#0

Glain

May 15, 2012, 11:21:45 am #2 Last Edit: May 15, 2012, 11:26:47 am by Glain
Very interesting idea! That would be cool to implement. However, we have to use integer math, so:

5 / 3 = 1
2 / 3 = 0
3 / 4 = 0
And so forth. That decimal truncation would be a big problem with the formulas as-is.

I think I've found formulas for all of these that should be the same as the original ones but without the precision loss.

Evasion modifier
Evasion = Evasion * (TarJump - CasJump + 8) / 8

Looks somewhat weird but I think it works. Division is at the end to avoid the loss of precision.
Nice choice of divisor, by the way... it's much easier/faster to deal with multiplication/division by powers of 2 in ASM.

Suplex Damage
Mod_PA * PA * TarJump / (CasJump * 2)

This is just a simple reordering. Again, division at the end.
I didn't use "PA!" because that looks like PA factorial, which would make this insanely OP.

Jump
PA * WP * (Jump * 2 - 2) / Jump

Divison at the end. Got here by way of:
[2 - (2 / Jump)] = [(2*Jump) / Jump] - [2 / Jump] = [(2*Jump-2)/Jump]

These seem right to me but it wouldn't hurt to double-check them.
  • Modding version: Other/Unknown

Dokurider

May 15, 2012, 02:25:42 pm #3 Last Edit: May 15, 2012, 06:38:09 pm by Dokurider
Oh shoot, I forgot about that. Dumb truncation.

QuoteMod_PA * PA * TarJump / (CasJump * 2)

Should be Mod_PA * PA * CasJump / (TarJump * 2), otherwise damage decreases with the Caster's Jump instead of increasing and that would be counterproductive to punishing units with low Jump. Otherwise, everything seems to check out.

EDIT: Wait, I made that mistake in -my- post. Derp.

Pickle Girl Fanboy

May 15, 2012, 05:23:41 pm #4 Last Edit: May 15, 2012, 08:00:32 pm by Pickle Girl Fanboy
I'd prefer it be renamed to Agility in this context.  Though I'd like to change things around a bit - the following is not related to your context of Jump, but to something that I just cooked up in reply to it.

It reminds me of Parkour and rock climbing in a way.  Vertical Jumping, even up a cliff, is a matter of total-body strength, agility, coordination, flexibility, and endurance.  Same with Horizontal Jumping, though this is much closer to Parkour than it is to rock climbing.  Even Move is equivalent to stride length, movement speed, coordination, strength, and endurance.

My point is that both "physical" stats - Speed, and PA - should be used to calculate Move and Jump, and perhaps HP can serve as endurance, so it will modify them.

Move = ((PA + SP) / 2 ) * (Current HP / Max HP)

Divisor depends on patch (average PA and SP), obviously.  It would keep in line with Physical classes having better move and Jump.  And I'd like to limit the amount of Move you lose when your HP drops, but I don't have the math to represent it.  Like, if you're HP is at 100%, then you get the normal Move.  If your HP is at 50%, then you get 75% of the normal Move.  And if your HP is at 1% or below, then you get 50% of the normal Move.  This, along with the modifications of Jump listed below, would make Razele's Flee Movement ability incredibly useful.  By which I mean it will save your ass when you're in a bind.

Vertical Jumping = Move * (7 / 8)

Vertical Jumping (the visible Jump stat in Vanilla, though the vanilla stat isn't derived from other stats) would be invisible in this case, unless someone does so GUI hacking.  I'd love it to be visible, and for it to be recalculated as it you change your equipment and job class in the formation menu.  And I'd want it named as Vertical Jump, or just an up arrow and the word Jump.

Horizontal Jumping = calculated Vertical Jumping / 2

This is  the vanilla formula for Horizontal Jumping by the way.  And I'd like it to follow the same rules as Vertical Jumping when it comes to recalculation in the Formation menu, and I'd like a sideways arrow with the word Jump.

There are a lot of other things I'd like visible in FFT.  The "Stepping Stone" attribute is one of them.

And one other thing: if I change it like this, then how would equipment an abilities that modify Move and Jump stats fit into this?  It's probably easier to clone FFT than it would be to rearrange FFT to fit this in.

EDIT

I should probably change Class Physical Evasion to be derived from PA and SP somehow, too.

Dokurider

First off, the divisor for the Move formula is too low. With a PA of 12 and SP of 12, you get a Move of...12. Even if you were to give it a more reasonable divisor of 6 (PA = 12, SP = 12, then Move = 4), it still presents some serious issues.

What about Mages and classes with low PA/Speeds? At starting levels wizards with a PA of 2 and a Speed of 6, and using a divisor of 6, they'd only get a move of 1! They'd be completely worthless. Even Knights starting out at 6 PA and 6 Speed, they'd just barely have a Move of 2.

Another problem is that it's makes PA and especially Speed too important. In a game of Speed>Move>Everything else, making speed even more important, basically combining Speed and Move and Jump is just flat out awful. Units with neither PA or Speed to move effectively are just left out to suffer, while units with both, like say Archers, are free to run circles around them.

Ultimately, what does this accomplish? In exchange of less viable builds and options and overpowering Speed and PA, we get a closer model to reality? I can't see myself wanting that. After all, the point of my post was to make an ignored stat, unignorable and thereby create more variety and add more depth to the game, and this would do the opposite and then some.

Pickle Girl Fanboy

Sorry, I meant it to be (((PA + SP) / 2) / n), where n is the variable divisor.

All mages in Vanilla have awful PA and move/jump stats, so it makes sense to me.


Pickle Girl Fanboy

May 15, 2012, 09:44:42 pm #8 Last Edit: May 15, 2012, 09:57:40 pm by Pickle Girl Fanboy
Whatever the modder wants, it's a static number.  Obviously, mods with more stat growth will have higher divisors, while ones with lower total stat growth will have much lower divisors.

It would also make a modder think twice about equipment that grants bonuses to PA and SP, so they'd have to balance it out with equipment that gives penalties to PA and SP, for classes that are typically stronger and faster (like Knights, with heavier armor).  This way, theives and monks will come out ahead with their expected bonuses to move and jump, but if you give them equip armor, those bonuses disappear when they get that -2 SP Iron Helm and that -1 PA Iron Plate Armor.

Or just make the game not count bonuses to PA and SP for Move and Jump, but do count the penalties.

What I mean by this is that a Glove that gives +2 PA has nothing to do with Movement or Jump, so it obviously shouldn't be considered in the formulas for those things.  But -2 SP heavy armor that weighs you down should be considered.  I figure the best thing to do is make a table, where the rows are the different equipment types, with two columns; one for "Are bonuses considered when calculating Move and Jump?", and another for "Are penalties considered when calculating Move and Jump?".  Then you have a yes/no situation, and the modder can decide what is considered and what isn't.

Sorry if I'm glib sometimes.  I'm often an asshole, and you should call me out on it.  I like that you take this seriously.

Neophyte Ronin

July 06, 2012, 09:04:01 pm #9 Last Edit: July 06, 2012, 09:23:23 pm by Neophyte Ronin
Possibly the greatest patching mod I've seen since curing the FFVI Evade Bug.  Virtually every hacker should incorporate this, as it makes Evasion variable and makes Jump+3 more than just a convenient means of getting around some of the really tricky landscapes.  When I hack, this one's going to be involved.

About Glain's Jump Damage determination: does this mean the same value (Caster's) of Jump is used, or would the Target's Jump serve as a divisor?  When I conducted some samples, I noticed that using the same value resulted in less overall Jump Power than if I used an adjusted value, like a superior Caster Jump against an inferior Target Jump.  The reverse would thus be true.  If we're incorporating Jump into Evasion and renaming it something like Agility (or something that can fit five symbols), then a similar comparison of Jump ability should be applied when using the Dragoon's Jump.  It's less of a realism issue than a balance one.

Dokurider

Oh look, people actually read my posts.

Yeah, the Target's Jump would be the divisor. I goofed on the initial formula. The point is, higher Jump = better evade and accuracy.

Neophyte Ronin

Of course I read it.  I never got the stigma behind Jump because I use it to get around the really crazy parts of a landscape; not everything is Move + 3, you know.  And a way to realistically modify Evasion so as not to be absolute is something that a lot of people would look into for their mods.

formerdeathcorps

This needs to be moved to FFT Hacking.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

Sterling LaVaughn

Curious to see how good these work with Behemoths/Dragons/other 128+ Jump monsters.

formerdeathcorps

The game ignores the upper bit on Jump when it gets translated into BATTLE.BIN Unit RAM; this isn't an issue.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

The Damned

(Wait, where was this before?)

Yeah, this is a rather good idea with potential, Dokurider, even just on the evasion level. I'm admittedly not sure how I feel about using it for formulas--sans the actual Jump attack--and all, but it certainly would be a way to make Jump more than just "there" most of the time.
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

Dokurider

Quote from: The Damned on July 08, 2012, 04:55:37 pm
(Wait, where was this before?)

Yeah, this is a rather good idea with potential, Dokurider, even just on the evasion level. I'm admittedly not sure how I feel about using it for formulas--sans the actual Jump attack--and all, but it certainly would be a way to make Jump more than just "there" most of the time.


Nah it was in General for a while until it was determined it would be a better fit here, it's feasibility be damned (no pun intended).