Fun Fact #3: Starting ATB Timers

Talk about all aspects of the gameplay of Final Fantasy 3us/6j.

Moderators: General Moderator, Game Moderator

Fun Fact #3: Starting ATB Timers

Postby Assassin » Wed May 23, 2012 12:20 am

like my prior Fun Fact (#2 of 2), this is written in the style of an Algorithms FAQ section, and "Section 2.8" is referencing that guide.

also, there obviously is no "Section xxxxxxx" on Wait Timers, so for background on those, see:
http://www14.brinkster.com/assassin17/g ... stance.htm
and/or the first major paragraph here:
viewtopic.php?f=2&t=108&start=480#p6816 (it starts with "When you input a command")

*************************
X.Y Starting ATB Timers
*************************

Every entity (character or monster) has a two-byte ATB timer, which ranges from
0 to 65535 during battle, and is discussed in Section 2.8 Battle Timing.

When starting battle, a number of steps are taken to decide where each entity's
ATB Timer will begin.

0. Every entity's ATB Timer is set to an undefined 65535 (so the top byte is
255).

0b. If the entity is a monster with the "Attack First" attribute set, the top
byte of its ATB timer is set to 0, and the enemy is put in the Wait to
Attack queue (see Section xxxxxxx for Wait Timers).

1. GeneralIncrementor = (10 - Number of Entities present in battle) * 16

2. Each entity is randomly assigned a different SpecificIncrementor of:
0, 8, 16, 24, 32, 40, 48, 56, 64, 72

Then for each entity (i.e. a character or a monster):

3. If the top byte of the entity's ATB Timer is not 255, then skip to the next
entity.

4. If the battle is one of the last three tiers of the final four-tier
multi-battle, then skip to the next entity.

5. If the entity is a character (who's not acting as an enemy), and either the
encounter type is a Side attack, or it's a Preemptive attack (which can be
Front or Side), then skip to the next entity.

6. If the entity is a character (who's not acting as an enemy) and it's a Back
or Pincer attack, then
Top byte of the ATB Timer = SpecificIncrementor + 1 ,
and we skip to the next entity.

7. If the entity is a monster or a character acting as an enemy, and it's a
Side or Preemptive Attack, then
Top byte of the ATB Timer = 2 ,
and we skip to the next entity.

8. If it's a Front Attack, or if the entity is a monster or a character acting
as an enemy and it's a Back or Pincer attack, then we perform the following
steps to calculate the top byte of the ATB Timer:

a. TimerValue = [Speed .. ((2 * Speed) - 1)] + SpecificIncrementor +
GeneralIncrementor + 1. If it exceeds 255, set it to 255.
b. The top byte of the entity's ATB timer = TimerValue

-----------------------------

the starting timers are handled by C2/2575, which, until recently, was one of the few sizable uncommented battle mechanics functions remaining.
User avatar
Assassin
Moderator
Moderator
 
Posts: 1195
Joined: Tue Sep 14, 2004 5:10 am

Re: Fun Fact #3: Starting ATB Timers

Postby Assassin » Mon Jun 02, 2014 2:22 pm

besides the message atop the screen, i believe preemptive attacks affect only the starting ATB timers, and the Run Difficulty. as you can see from the above post, Preemptive Side attacks are treated no differently than normal Side attacks for purposes of initial timers. same deal with Run Difficulty: preemptive or side is enough to zero the variable. all this is at odds with Square at some point wanting Preemptive Side to do _something_, or else they wouldn't have bothered giving Side attacks a higher preemptive chance than Front ones (7/32 versus 1/8).

because i don't know what Square wanted, it's hard to say this is an issue that should be "fixed". for instance, treating non-preemptive Side and Front attacks alike would be overkill in the other direction, taking away most advantage of a comparatively elusive encounter type.

an interesting "feature" patch might be to nerf non-preemptive Side attacks somewhat, but still have them better than normal Front attacks. this could involve having character ATBs starting not quite full, and/or have monster ATBs commence at a value that's higher than 2 * 256, but still fairly small. and maybe give the encounter some small but nonzero run difficulty.

i'm interested in your thoughts on what adjustments, if any, would improve the game's balance here.
User avatar
Assassin
Moderator
Moderator
 
Posts: 1195
Joined: Tue Sep 14, 2004 5:10 am

Re: Fun Fact #3: Starting ATB Timers

Postby Master ZED » Tue Jun 03, 2014 11:17 am

Assassin wrote:all this is at odds with Square at some point wanting Preemptive Side to do _something_, or else they wouldn't have bothered giving Side attacks a higher preemptive chance than Front ones (7/32 versus 1/8).

because i don't know what Square wanted, it's hard to say this is an issue that should be "fixed".
If finding out what Square wanted is impossible, I'd zero out Preemptive chances for Side attacks, assuming I did anything to begin with. I can't imagine it would take more than a Game Genie can handle anyway (I didn't look at the code), so I wouldn't make a patch out of it.

I wouldn't touch what the two encounter types do in a fix sense, and I probably wouldn't do so in a hack either. Striking the right balance with a Side nerf would be both incredibly difficult and unworthy of the effort, and unless you wanted to do something neat like have Fight zero out the ATB gauge for an enemy hit from behind during a Preemptive Side, I'd forget doing anything with the concept. I wouldn't be surprised if Square looked it over and thought the same thing, right before they also forgot they'd left it in the code.
The Unoriginal White Sheet - http://masterzed.cavesofnarshe.com/
-Master ZED
User avatar
Master ZED
Moderator
Moderator
 
Posts: 472
Joined: Sat Sep 04, 2004 4:31 am

Re: Fun Fact #3: Starting ATB Timers

Postby Assassin » Fri Jun 06, 2014 7:52 pm

whoa; i didn't know you were still alive. what've you been up to lately?

Master ZED wrote:and unless you wanted to do something neat like have Fight zero out the ATB gauge for an enemy hit from behind during a Preemptive Side, I'd forget doing anything with the concept.


that is neat. it looks like setting Bit 6 of $3AA1,index will mark the ATB to be reset, though i'd have to test to be sure.

besides what we've mentioned (hits to the back had slipped my mind, so thanks), the only thing i can come up with is the idea of a pincered enemy not being able to run. now, Escape is normally unfazed by the attack formation; maybe i could turn Side+Preemptive into an exception here? the idea of it potentially screwing with plot behavior (i.e. Officer + B.Day Suit) irks me, however, even though lone Locke won't trigger a Side attack.

i do agree it'd be difficult to strike a balance with the starting ATB tweaking.

and agreed that Square might simply have scrapped the idea of non-Preemptive Sides altogether by design. Side attack is less than 1/6 as common as Front, so it's possible they made (effective) preemption have 8x the chance under the former to balance things, as a reward for landing Side.
User avatar
Assassin
Moderator
Moderator
 
Posts: 1195
Joined: Tue Sep 14, 2004 5:10 am

Re: Fun Fact #3: Starting ATB Timers

Postby Master ZED » Tue Jun 10, 2014 1:57 pm

Assassin wrote:whoa; i didn't know you were still alive. what've you been up to lately?
Trying to write a novel (and having a LOT of trouble with world building, I can't even start on the story proper because of it), messing with Tales of Xillia, and slowly working on the start of a page on Uncharted 3 for TCRF (I put .hack//G.U.'s page on hold until I'm ready to dedicate time to .hack again, I don't like doing things in spurts and I may need to transcribe all three games' voice clips to make sure I've done the games justice). I've all but quit UC3's MP for now because a new patch came out that will cut off offline access to a map/gametype combo that I need to document, though if I'm willing to forgo pics, I probably have all I need. I've been itching to play online again.

Also, I've been "around," I just haven't been posting, either because I have nothing to say or I convince myself what I've written's not worth posting. I think I've trashed ~200 posts so far this year on various boards.
Assassin wrote:the only thing i can come up with is the idea of a pincered enemy not being able to run. now, Escape is normally unfazed by the attack formation; maybe i could turn Side+Preemptive into an exception here? the idea of it potentially screwing with plot behavior (i.e. Officer + B.Day Suit) irks me, however, even though lone Locke won't trigger a Side attack.
Even if Locke did manage a lone Preemptive Side, I don't think it should matter in that particular case. Characters can escape from a Pincer by clearing out one side of enemies, so the same should be made true if both characters on one side of the Side attack are incapacitated or missing for enemies attempting Escape. If an enemy could Escape because two characters on one side Jumped, it'd be perfect (maybe? Is it possible for characters to escape a Pincer if one side of enemies is fully airborne from Jump or Palidor?).

Most cases won't work like that of course, so I'd suggest programming an "Escape clause" if you go down that road. Maybe you could employ an unused bit in formation data or something to determine whether Escape would work regardless of Preemptive Side? I don't know where you'd put the code for all this necessarily, and in light of that, it might be better to just prevent Sides altogether where plot-relevant Escapes might be impeded.
The Unoriginal White Sheet - http://masterzed.cavesofnarshe.com/
-Master ZED
User avatar
Master ZED
Moderator
Moderator
 
Posts: 472
Joined: Sat Sep 04, 2004 4:31 am

Re: Fun Fact #3: Starting ATB Timers

Postby Fiction Alchemist » Wed Jun 11, 2014 12:04 pm

As a fellow novelist, I'd like to appear from my hidden crypt to give a hearty "gambatte" to ZED on joining the novel game (if I'm write assuming it is ZED's first novel). My apologies if it is unwelcome, but I'd like to speak a little as a not-so-shiny veteran.

Personally, if I let myself become too entangled in world-building, I'd have never gotten any work done. I just made up that stuff as I went along (and when it became relevant to my characters/the plot) and made sure I remembered it all. The clumsiest approach can be made beautiful with the right editing. I don't know if it was the BEST thing to do, but I did manage to finish three novels (with a fourth upcoming) using this method. It helps if you draw maps. Mine are drawn in Paint with big colored dots representing cities!

I don't have much time to post in forums as I used to either (and also have that habit of scrapping posts), but I still pop on here and there to check for new bug discoveries and new patches, few as they may be these days. I did so enjoy Allergic Dog.

As for the topic, the theory I find easiest to believe is that Square didn't have the encounter system fully worked out when they coded the preemptive side attacks, then merely left behind the relevant code after it became obsolete. Thus, the bug here would actually be the preemptive side attacks still "existing" in the first place. It could be cool to make preemptive side attack actually do something, though.

EDIT: I was somewhat tired when I wrote this. The intention was to encourage Master ZED to just dive into that novel. Did I get that point across okay? :?
AKA Hollywood Narrator, C. V. Reynolds
Fiction Alchemist
Registered User
Registered User
 
Posts: 2
Joined: Sun Jun 12, 2005 11:47 am

Re: Fun Fact #3: Starting ATB Timers

Postby Assassin » Thu Jun 19, 2014 11:41 am

i haven't written anything, but think your advice is solid. if good bits of dialogue come to mind, for instance, jot them down, even if there's no structure to your story yet. maybe you can work outwards to see what sets up the conversations, or what events they trigger?

If an enemy could Escape because two characters on one side Jumped, it'd be perfect (maybe? Is it possible for characters to escape a Pincer if one side of enemies is fully airborne from Jump or Palidor?).

nope. i tried against 4 Reach Frogs (hacked to force Pincer), and even with them all airborne, i still couldn't run. this is arguably a bug.

those are good fallback ideas, so i'd probably adopt one if i tackled this project. at any rate, i'd lean towards implementing this for all Side attacks. after some reflecting since my last post, it doesn't make sense to have Preemptive sway this; either the enemy party is physically sandwiched, or it isn't.

and Fiction Alchemist: you've met the two-post moderator approval quota, so you no longer have to worry about waiting days to months for your messages to show up. you are now a full-fledged human being in the eyes of Mnrogar's Den staff. :P
User avatar
Assassin
Moderator
Moderator
 
Posts: 1195
Joined: Tue Sep 14, 2004 5:10 am

Re: Fun Fact #3: Starting ATB Timers

Postby Master ZED » Sun Jun 22, 2014 12:14 pm

Fiction Alchemist wrote:EDIT: I was somewhat tired when I wrote this. The intention was to encourage Master ZED to just dive into that novel. Did I get that point across okay? :?

Pretty much. I'd come to that conclusion myself, but it's very difficult getting that through my head.

However, I think I've solved my world-building problem for this story regardless. All I have to do is restart already. I *believe* this will be my sixth attempt at this same tale in the last, what, five or six years now? At least I know how to go about it finally.

Anyway, if I post more on this here, it'll be on General Discussion. I'm assuming you can see that board (now)?

Assassin wrote:nope. i tried against 4 Reach Frogs (hacked to force Pincer), and even with them all airborne, i still couldn't run. this is arguably a bug.

Eh, sounds like more of an oversight to me. There aren't many jumping enemies to begin with, much less full formations of them, so it's easy to see how no one would think to cover such an event.
The Unoriginal White Sheet - http://masterzed.cavesofnarshe.com/
-Master ZED
User avatar
Master ZED
Moderator
Moderator
 
Posts: 472
Joined: Sat Sep 04, 2004 4:31 am


Return to FF3 Gameplay Discussion

Who is online

Users browsing this forum: No registered users and 2 guests

cron