# Trying to balance Yanfly ATB/CTB

#### Falcon At

##### Veteran
I know perfect mathematical balance is difficult/impossible, but I like having formulas to reference and guesstimate by. It really helps me get a feel for what will fly and what should die.

That being said, I'm not sure how Yanfly's ATB and CTB systems work. I love the idea of using them, but I'm just don't like using tools I don't understand. I tried to check the code, but I am no lunatic. I can't figure out what it's doing.

My general impression is that in the grand scheme of things, an ATB system adds a multiplier to a character's relative average damage per round. This is due to an increased number of attacks that a faster character may make. For instance, a character with 250 AGI would deal on average 1.25x as much damage as an otherwise identical character with 200 AGI, as 250/200=1.25.

Am I right? If not, then how DOES it work in the grand scheme of things? Does CTB work the same way? How is CTB different? What about rubber-banding? What is rubber-banding and how does it work?

#### Crimson Dragon Inc.

##### Crimson Dragon
ATB adds a damage per second aspect to your game (think games like final fantasy 6/7/8/9/4/5) yes the faster character will deal more damage, but the exact differance is determined by variance, and how much the bar has to fill before the turn comes up anywhere from a 1 to 1.75 multiplier (more bar to fill the bigger the gap)

Last edited by a moderator:

#### Falcon At

##### Veteran
Variance evens out in the grand scheme of things, so I'm just ignoring it when it comes to average damage estimates.

And CTB was the mechanic behind FFX. (Which I always thought was ATB with better visualization. I'm still not sure what the difference is.)

#### ATT_Turan

##### Villager
Variance evens out in the grand scheme of things, so I'm just ignoring it when it comes to average damage estimates.

And CTB was the mechanic behind FFX. (Which I always thought was ATB with better visualization. I'm still not sure what the difference is.)
If I correctly recall the older Final Fantasy games, your ATB gauge would refill faster if you sat there jamming on a button, so it was a method of forcing increased user interaction. For Final Fantasy X, the difference is that it reduces downtime (you don't have to wait between turns for your next character's gauge to fill) and allowing increased strategy on your part since you could know specifically when each enemy would activate and try to prevent it.

In other game series (I don't recall Final Fantasy X doing this), having effects that manipulated the visually accessible turn order was a huge point of strategy. The perfect example of this is the system from Grandia 2 onward, where you have specific kinds of attacks that do less or modified damage but can push enemies back in their turn order. Yanfly discusses this and shows some examples in his demo video for the CTB plugin.

#### Crimson Dragon Inc.

##### Crimson Dragon
ahh yeah the grandia series... the game that change its machanics dramiticly with every game, though the battles were more or less the same..... even grandia 1 had power attacks to push an enemy back with a chance of stun for a few seconds (though grandia 2 did add in the ability to cancel enemy actions using the power attack)

#### BTez

##### Villager
I know perfect mathematical balance is difficult/impossible, but I like having formulas to reference and guesstimate by. It really helps me get a feel for what will fly and what should die.

That being said, I'm not sure how Yanfly's ATB and CTB systems work. I love the idea of using them, but I'm just don't like using tools I don't understand. I tried to check the code, but I am no lunatic. I can't figure out what it's doing.

My general impression is that in the grand scheme of things, an ATB system adds a multiplier to a character's relative average damage per round. This is due to an increased number of attacks that a faster character may make. For instance, a character with 250 AGI would deal on average 1.25x as much damage as an otherwise identical character with 200 AGI, as 250/200=1.25.

Am I right? If not, then how DOES it work in the grand scheme of things? Does CTB work the same way? How is CTB different? What about rubber-banding? What is rubber-banding and how does it work?
Speaking with default values in mind:

• ATB sets the "target speed" required to fill the ATB by manipulating the highest base agility of any battler in a given encounter.

• ATB then begins working on RPGMMV's "tick" system which increments every battler's ATB gauge equal to their agility score every tick. There are 60 ticks per second.

• If a battler's ATB fill rate is lower than the configured minimum speed, rubber banding overrides the battler's ATB fill rate with it's set minimum rate.

• If a battler's ATB fill rate is higher than the configured maximum speed, rubber banding overrides the battler's ATB fill rate with it's set maximum rate.

• States and skills who's length is determined in "turns" run off the ATB's "number of ticks in a turn". For example if the formula equals 360 ticks per turn, then a buff which lasts three turns will last 18 seconds (360 * 3 / 60 = 18)

Your 250/200=1.25 is correct unless you're using rubber banding and the values fall outside of the set minimum/maximum thresholds (sans variance, critical hits, evasion, and other RNG which may be present).

And I have not worked with Yanfly's CTB, so I cannot comment nor help run down the basics like ATB.

#### Falcon At

##### Veteran
@BTez

Thanks, that was a lot of help.

I still want to know more about CTB though.

### Latest Profile Posts

Have fun with English: a "fire grenade" is not portable napalm but a fire extinguisher tool.
2 days ago someone tried to convert me to Islam. Today youtube tried to convert me to Catholicism. The only thing left would be to meet sone Jehova's witnesses.
I just successfully tested changing music by region, and changing it between continents on the world map after getting on/off the airship. I had to override the default audio transitions with eventing to make it change smoothly but it worked.
Stream will be going live shortly with some more Witcher 3, then we will switch to another game! Feel free to drop by~
Finally scripting out the story after WAYYYYY too long of having 0 idea of how to approach said scripting.