Sign in to follow this  
BTownTKD

Trouble finding info on FF-style ATB system

Recommended Posts

BTownTKD    205
Hey guys; I've been spit-balling some pseudocode, and brainstorming some flow diagrams on MS Visio, trying to come up with a loop that accurately recreates the type of battle system used in oldschool final fantasy games (specifically FF7 if that makes any difference). I have what I believe to be a solid prototype -- I'm all about figuring stuff out on my own -- but now I'd like to see what other people tend to use. I'd like to check my work against the "standard" method for implementing FF-style battle systems, if such a thing exists. I'm actually having trouble finding code for FF-specific battle systems, which kind of surprised me, considering its popularity. Can someone give me a hand? I'm looking for program-flow diagrams, pseudocode, specific code, or anything of that sort outlining the design of an Active Time Battle system. Thanks in advance! -Brian

Share this post


Link to post
Share on other sites
BTownTKD    205
It seems almost impossible that someone else would not have tried to implement a Final Fantasy-style battle system: nobody knows where to find any information on it?

I guess I'll offer up the information I've found so far: there's a fairly helpful description of a similar battle system (i.e. it implements a "wait bar") in the book "Programming Role-Playing Games in DirectX" (1st edition I think... I haven't looked to see if it's in the 2nd edition, yet).

Share this post


Link to post
Share on other sites
Winegums    286
isn't it just a cooldown after any ability has been used? if so can't you just timestamp the character, then compare the time each game cycle and, if enough time has passed, let them do something again?

Share this post


Link to post
Share on other sites
Armand    164
Can I assume that your trying to do this in a single state flow diag.
If so, that would be your problem.

IMO you need 2 types.
One for the battle, one for the entitys in said battle.

The Battle one does set up, and any eviro elements you may wish to put in. EI time limit, random stage bonuses such as respawn of bad guy, alter attributes of combatinats due to events.

The other is a looping SM that handels wait time, action display, action warm up, the action, action cool down, with side forays in to damaged states.

but thats my $0.02

Armand

Share this post


Link to post
Share on other sites
Daaark    3553
What's the problem specifically? Active Time battle from FF7 wasn't that complicated. Everyone has a ATB guage for when they can take their next active, it advances at a rate of

(delta time * speed stat) * modifier (normally 1.0).

When the guage is full, that character can take an action (this is when the menu pops up). Then they execute that action almost immediately.

There are some modifiers. The slow spell being 0.5, the haste spell, being 2.0, and stop being 0.0 (which obviously, stops the guage from filling up until it's removed). Someone who is sleeping, or KOd won't advance their guage either. Also, WAIT is a modifier, which stops everyone's guage from filling up while someone has a command menu opened. This is an ingame option for those who don't want to be attacked while browsing the menus.

The attack stat is your chance to hit someone
Defense is used to counter attack
Damage is calculated by the weapon in hand - armor
Magic is used for magic effectiveness
There is a stat for magic resist, I forget what it's called, but you get the idea.

You just go through your loop, and add the delta time to everyone's guage until one gets full, then they get their command window... until then, everyone just stands in place with in their battle stance animation, or another specific status animation.

People with specific statuses will have certain effects applied to them at a certain time interval (I think the battle speed option). Poison will remove HP at this time, regen will add some, etc...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this