Final Fantasy IX Perfect Stats Guide

"I want perfect stats! You have problem!?"

Version 3.10 (June 24, 2014)
Author: Letao (letao.faqs@gmail.com)
Copyright © 2014 Letao, All rights reserved.

Looking for the Perfect Stats calculator? Click here.

Contents

1. Introduction

2. Stat growth mechanics

2.1. Growth formula
2.2. Stat-boosting equipment

3. Choices to make

3.1. Stat priority
3.2. Final equipment
3.3. Character and gameplay-specific choices

4. Optimal stat paths

4.1. Ordered approach, without final equipment
4.2. Combined approach, without final equipment
4.3. Ordered approach, with recommended final equipment
4.4. Combined approach, with recommended final equipment

5. Frequently asked questions

5.1. How do I use equipment setups
5.2. Why don't the guide and the calculator give the same setups
5.3. Can multiple characters split forced experience from a battle
5.4. Can Steiner get better stats by using Defender in Pandemonium
5.5. How do I get Robe of Lords before Pandemonium in a speed run

6. Mathematics behind the scenes

6.1. Combinatorial optimization and linear programs
6.2. Basic ideas
6.3. Calculating optimal stats for the ordered approach
6.4. Calculating optimal stats for the combined approach and other factors

7. Miscellaneous

7.1. Email policy
7.2. Credits and thanks
7.3. Version history
7.4. Legal babble

1. Introduction

Welcome to the perfect stats guide for Final Fantasy IX! This guide will help you achieve the highest possible combination of Speed, Strength, Magic, and Spirit for all your characters.

Perfecting stats in FF9 is no trivial matter. The only way to permanently increase your characters' stats is by leveling up while wearing stat-boosting equipment. Since the total number of level-ups a character can get is limited, the extent to which you can increase their stats is also limited. For example, even though Strength and Magic can theoretically grow to 99, it's not possible to reach those values in normal gameplay no matter how much effort you put into it. The key to getting the best stats is to equip your characters with carefully calculated sets of stat-boosting equipment when they level up.

To achieve perfect stats, you'll need to follow these basic steps:

  1. Pick your stat path

    FF9's stat system forces you to make tradeoffs between the four stat attributes and other achievements. As such, there can be many different interpretations of how stats should be perfected. Section 3 of this guide will help you make your choices and form your personal path.

  2. Avoid gaining levels

    Most of the best stat-boosting gear only becomes available very late in the game, so you must save as many level-ups as possible until then in order to take full advantage of them. No character should absorb any experience points before you can obtain all the necessary equipment, unless there's no way to avoid it.

    There are only three places where you're forced to absorb experience points. The first is in Evil Forest, after defeating Plant Brain. You must avoid gaining levels in the forced battle against Plant Spiders by making sure only two of them are in the enemy party, and their experience is divided among all four of your party members for 11 Exp each. The second place is in Disc 3 in Alexandria. That's your last chance to defeat Tantarian and receive 12585 Exp if you choose to do so. Finally, three consecutive forced battles in Pandemonium will give you 26376 Exp a piece.

    Which character absorbs the experience from each forced battle is a decision you'll need to make for your stat path. Section 4 of this guide will help with this by showing you how much each character stands to lose if they take on the forced experience, and by suggesting ways to minimize the total loss.

  3. Find all necessary equipment

    For each case covered in Section 4 of this guide, you'll find a link to the exact sets of equipment that need to be equipped when your characters level up. Some setups will require rare and hard-to-obtain items, so be prepared to spend extra effort to find them all. Also keep in mind that some characters will leave your party immediately upon reaching Bran Bal and they don't return until the Pandemonium battles. Make sure to equip them with the proper setup for Pandemonium before you venture out of Terra.

  4. Train your characters

    This is probably the easiest part, but also takes the longest. Once you have chosen the stat path you want to take, determined the strategy for distributing forced experience, and found all the equipment you need, all that remains is to grind your characters. Simply equip each item for exactly the prescribed number of level-ups, and you'll achieve perfect stats when you reach level 99!

This guide will primarily focus on stat growth and equipment setups, and won't go into walkthroughs, battle strategies, or item locations. There are many high-quality guides on GameFaqs.com that cover those aspects of the game. I highly recommend Atomos199's Excalibur II Perfect Game Guide to help you through the game without gaining levels plus practically anything else you might want to accomplish along the way. Rebirth Flame's Equipment Location List is also an excellent reference for finding every item you need.

2. Stat growth mechanics

The four stats that can be increased permanently in FF9 are Speed (Spd), Strength (Str), Magic (Mag), and Spirit (Spr). Each character has a hard-coded set of "base" values that determine his/her initial stats at level 1:

CharacterSpdBaseStrBaseMagBaseSprBase
Zidane23211823
Dagger21142317
Vivi16122419
Steiner18241221
Freya20201622
Quina14182011
Eiko19132118
Amarant22221315

The effective stats of a character are determined by those initial values, plus any increases from levels gained and equipment used.

2.1. Growth formula

According to Terence's discoveries outlined in KADFC's Max Stats FAQ on GameFaqs.com, the values of stats that you see in the game's Equip and Status menus are calculated using the following formulas:

Spd = SpdBase + [Lv * 1 / 10] + [(LvUps * 0 + SpdEqBonus) / 32] + SpdEqCurr
Str = StrBase + [Lv * 3 / 10] + [(LvUps * 3 + StrEqBonus) / 32] + StrEqCurr
Mag = MagBase + [Lv * 3 / 10] + [(LvUps * 3 + MagEqBonus) / 32] + MagEqCurr
Spr = SprBase + [Lv * 3 / 20] + [(LvUps * 1 + SprEqBonus) / 32] + SprEqCurr

Terms enclosed in [square brackets] are rounded down to the nearest whole number before they are added to the result. "Lv" is the current level of your character. "LvUps" is the number of levels your character has gained since first joining your party. The various "EqBonus" values reflect the total number of bonus points accumulated while training your character with stat-boosting equipment. The various "EqCurr" values represent the amount of stat boosts given by your character's currently equipped gear.

EqCurr is only a temporary value. If you change the items equipped on a character, EqCurr will also change to update your character's effective stats. If you remove all your character's equipment, EqCurr will drop to 0. On the other hand, any gain made to EqBonus is permanent. Every time your character gains a level, a number of points equal to EqCurr at the time is added to EqBonus. Points added to EqBonus accumulate through level-ups and are never taken away.

For example, let's say Amarant was at level 10 when he first joined your party. You train him to level 19 (+9 LvUps) wearing only the Bandana (+1 Spr), followed by more training until level 33 (+14 LvUps) wearing only the Glass buckle (+2 Spr). You then change his equipment to only a Dark gear (+3 Spr). At this point, his Spirit would be calculated as follows:

SprBase = 15
Lv = 33
LvUps = 9 + 14 = 23
SprEqBonus = 9 * 1 + 14 * 2 = 37
SprEqCurr = 3

Spr = 15 + [33 * 3 / 20] + [(23 * 1 + 37) / 32] + 3
    = 15 + 4 + 1 + 3
    = 23

If Spr or Spd become greater than 50, they will be adjusted down to 50. If Str or Mag become greater than 99, they will be adjusted down to 99. Due to the Eiko/Marcus glitch, Eiko's EqBonus and LvUps include both values gained by Eiko herself, plus those gained by Marcus during his brief stay in your party in Disc 2.

As the formula suggests, Lv, LvUps, and EqBonus are the three quantities that contribute to permanent stat growth. Lv is effectively a constant, it will always reach 99 for all characters. LvUps can go as high as 98 (or 196 for Eiko if you use the Eiko/Marcus glitch) by having all your characters join your party at level 1. Finally, to maximize EqBonus, your characters must have the best stat-raising equipment with every level they gain.

The fact that there are four stats to handle simultaneously complicates the issue of maximizing EqBonus. Many items grant bonuses to multiple stats at the same time, and it's not easy to find the right mix to achieve a balanced growth. Having stats limited by a maximum bonud and having numbers rounded down in the formulas also add to the complexity. It's not necessarily best to always greedily choose gear that simply gives the highest bonus.

2.2. Stat-boosting equipment

This table lists all equipment that gives bonus points to at least one stat. Also shown are the characters who can equip each item (in this order: Zidane, Dagger, Vivi, Steiner, Freya, Quina, Eiko, Amarant, Marcus), and whether each is available when you fight Tantarian and in Pandemonium. An item with "*Yes" as its availability means it's very time-consuming to obtain, and it won't be possible to get the Excalibur II if you spend the time to find that item.

NameTypeStat bonusCan equipAvailable
SpdStrMagSprTantPand
Ancient AromaAddon0200-D--F-E--NoYes
Angel EarringsAddon0200-D--F-E--YesYes
AnkletAddon0031-D--F-EA-YesYes
BandanaHead1001ZDV--QEAMYesYes
BarbutHead0002---SF----YesYes
BaretteAddon0311-D--F-E--YesYes
Battle BootsAddon0200ZDVSFQEAM*YesYes
Black BeltAddon0202ZDVSFQEA-YesYes
Black RobeBody0020--V--Q---NoYes
Bone WristArms0100ZDV--QEAMYesYes
BracerArms0100ZDV--QEA-NoNo
Brave SuitBody0001Z------A-NoNo
BrigandineBody0100Z------A-YesYes
Bronze GlovesArms0001---SF----YesYes
Bronze VestBody0001ZDV--QEAMYesYes
CachushaAddon1021-D--F-E--YesYes
Carabini MailBody1001---SF----NoNo
Chain PlateBody0100Z------AMYesYes
Coral RingAddon0002ZDVSFQEAMYesYes
Cotton RobeBody0110-DV--QE--YesYes
Cross HelmHead0100---SF----YesYes
Dark GearBody0003ZDV--QEA-NoNo
Dark MatterAddon0320ZDVSFQEA-YesYes
DefenderWeapon0003---S-----NoNo
Demon's VestBody0010ZDV--QEA-NoYes
Desert BootsAddon0011ZDVSFQEAMYesYes
Diamond ArmorBody0110---SF----NoYes
Diamond HelmHead0001---SF----NoYes
Dragon MailBody0110----F----NoNo
Dragon WristArms0001ZDV-FQEA-NoYes
ExtensionAddon0121-D--F-E--YesYes
Fairy EarringsAddon0002ZDVSFQEAMYesYes
Feather HatHead0001ZDV--QE-MYesYes
Flash HatHead1000ZDV---EA-NoYes
GauntletsArms1000---SF----NoYes
Genji ArmorBody0020---SF----NoYes
Genji GlovesArms0020---SF----NoYes
Genji HelmetHead0020---SF----NoYes
Germinas BootsAddon0100ZDVSFQEAMYesYes
Glass BuckleAddon0112ZDVSFQEAMYesYes
Glutton's RobeBody0110-----Q---*YesYes
Gold ArmorBody0010---SF----NoYes
Gold ChokerAddon0020ZDVSFQEAMYesYes
Gold HelmHead0010---SF----YesYes
Golden HairpinHead0010ZDV--QEA-NoYes
Grand ArmorBody0100---SF----NoNo
Grand HelmHead1000---SF----NoNo
Green BeretHead1100ZDV--QEA-NoYes
Holy MiterHead0012-DV--QE--NoYes
Iron HelmHead0001---SF----YesYes
Judo UniformBody0101ZDV--QEA-NoYes
Kaiser HelmHead0110---SF----NoNo
Lamia's TiaraHead0011-D--FQE--YesYes
Leather WristArms0001ZDV--QEAMYesYes
Light RobeBody0111-DV--QE--NoYes
Linen CuirassBody0010---SF----YesYes
Madain's RingAddon0002ZDVSFQEAMYesYes
Mage's HatHead0010-DV--QE--YesYes
Magic ArmletArms0020-DV--QE--YesYes
Magic RacketWeapon0020-D----E--NoYes
Magician CloakBody0010-DV--QE--YesYes
Magician RobeBody0020-DV--QE--YesYes
Magician ShoesAddon0020ZDVSFQEAMYesYes
Maiden PrayerAddon0010-D--F-E--NoYes
Mantra BandHead0011ZDV--QEA-NoYes
MasamuneWeapon0020Z--------NoNo
MaximillianBody0003---S-----NoNo
Minerva's PlateBody0120-D--F-E--NoYes
Mythril ArmletArms0001ZDV--QEAMYesYes
Mythril GlovesArms0001---SF----YesYes
Mythril HelmHead0001---SF----YesYes
N-Kai ArmletArms0002ZDV--QEA-NoYes
Ninja GearBody1000Z------AM*Yes*Yes
OrichalconWeapon1000Z--------NoYes
Pearl RougeAddon0024-D--F-E--YesYes
Plate MailBody0001---SF----YesYes
Power BeltAddon0300ZDVSFQEAMYesYes
Power VestBody0200ZDV--QEA-NoYes
Power WristArms0200ZDV--QEA-NoNo
Promist RingAddon0200ZDVSFQEA-NoYes
Protect RingAddon0001ZDVSFQEAM*YesYes
PumiceAddon1010ZDVSFQEA-NoYes
Pumice PieceAddon0220ZDVSFQEA-NoYes
Rebirth RingAddon0004ZDVSFQEA-YesYes
Reflect RingAddon0101ZDVSFQEAMYesYes
RibbonAddon0131ZDVSFQEA-NoYes
Ritual HatHead0100ZDV--QEA-YesYes
Robe of LordsBody1111-DV--QE--*YesYes
Rosetta RingAddon0010ZDVSFQEA-NoYes
Running ShoesAddon2000ZDVSFQEA-NoYes
Silk RobeBody0110-DV--QE--YesYes
Stardust RodWeapon0002-D-------YesYes
Steepled HatHead0100ZDV--QE-MYesYes
Survival VestBody0002ZDV--QEA-YesYes
Thief GlovesArms1000Z------A-NoYes
Thief HatHead2000Z--------NoNo
Twist HeadbandHead0100ZDV--QEA-YesYes
Venetia ShieldArms0110---SF----NoYes
White RobeBody0020-D----E--NoYes
Yellow ScarfAddon0200ZDVSFQEAMYesYes

3. Choices to make

Because stat growth is limited by level-ups and access to stat-boosting equipment, how high each stat can become will depend on how you choose to play the game and distribute bonus points. Ultimately different people will prefer different styles, so this guide will try to address the most common views, and let you decide what you like best. Your choices for two main factors will determine the general approach to follow, and five additional factors will have more targeted impact on specific characters.

3.1. Stat priority

This factor addresses how the meaning of "maximize" should be applied over the set of four stat values. You can rank them according to their importance, maximizing the most important ones first while sacrificing less important ones. Or you can consider the combined sum of all stats, trading a small number of points from more important stats in exchange for a higher number of points to less important ones.

3.2. Final equipment

This factor addresses whether temporary stat bonuses granted by final equipment should be considered in the calculations. Final equipment is the set of gear that you plan to equip after your characters have reached level 99. You might want your characters' raw stats without wearing any final equipment to be perfected, or you might want to leave some room for final equipment bonuses in the target calculations.

3.3. Character and gameplay-specific choices

These choices affect the availability of items in specific situations and the growth path of individual characters.

4. Optimal stat paths

Here is where you'll find listings of optimal stats for every character and every choice described above. Each case will have a link pointing you to the equipment setup to use. Refer to the FAQ in section 5.1 to learn how to use the equipment setups.

At least one of your characters will inevitably gain levels during forced battles with Tantarian or with Amdusias, Abadon, and Shell Dragon in Pandemonium. In most cases, whoever gains those levels will also lose a few points from his/her perfect stats. Here you'll also find information on how to distribute all the forced experience in order to minimize everyone's stat loss. As a general rule, only one character should absorb the full Exp from any single battle. Do this by putting everyone else in KO status before the battle ends.

This section is divided into four parts, each one covering one common interpretation of perfect stats. Each part will then address any applicable character or gameplay-specific factors on a case-by-case basis. Use these links to skip to the part relevant to your preferences:

Ordered approach, without final equipment
Combined approach, without final equipment
Ordered approach, with recommended final equipment
Combined approach, with recommended final equipment

If you want to use unique setups that aren't covered by this guide, the perfect stats calculator will always be there to help explore your options and plan out your own strategies.

4.1. Ordered approach, without final equipment

The optimal stats for the ordered approach without final equipment that each character can achieve, if they don't absorb any forced experience, are:

CharacterOptimal statsEquipment setup
Zidane50 Spr, 78 Str, 62 Mag, 35 Spd[onzn-01]
Dagger50 Spr, 89 Mag, 56 Str, 30 Spd[ondn-02]
Vivi50 Spr, 83 Mag, 54 Str, 26 Spd[onvn-03]
Steiner50 Spr, 79 Str, 65 Mag, 27 Spd[onsn-04]
Freya50 Spr, 71 Str, 68 Mag, 29 Spd[onfn-05]
Quina (strength-oriented)50 Spr, 67 Str, 63 Mag, 23 Spd[onqsn-06]
Quina (magic-oriented)50 Spr, 73 Mag, 59 Str, 23 Spd[onqmn-07]
Quina (balanced)50 Spr, 65 Str, 67 Mag, 23 Spd[onqbn-08]
Eiko50 Spr, 87 Mag, 56 Str, 29 Spd[onen-09]
Eiko (with Marcus glitch)50 Spr, 99 Mag, 84 Str, 29 Spd[onmn-10]
Amarant50 Spr, 72 Str, 56 Mag, 31 Spd[onan-11]

And the effects of absorbing forced experience on each character's stats are:

CharacterAbsorbed experienceEffect
Zidane1 Pandemonium battle-1 Str, +2 Mag, +1 Spd
2-3 Pandemonium battles-1 Str, +1 Mag, +1 Spd
Tantarian-1 Str, -1 Spd
Tantarian and 1 Pandemonium battle-1 Str, -1 Mag, -1 Spd
Tantarian and 2-3 Pandemonium battles-2 Str, +3 Mag
DaggerShell DragonNone!
ViviTantarian-1 Mag, -1 Str, -1 Spd
SteinerAbadon-1 Str, -1 Mag
FreyaAmdusiasNone!
Tantarian, with or without Amdusias-2 Mag
Quina (strength-oriented)Abadon-1 Mag
Quina (magic-oriented)Abadon-1 Mag, +1 Str, +1 Spd
Quina (balanced)Abadon-2 Str, +2 Mag
AmarantAmdusias-2 Mag
Tantarian-1 Str, -1 Mag
Tantarian and Amdusias-1 Str, -2 Mag, +1 Spd

Doing an Excalibur II speed run makes no difference for these stat paths.

It's clearly optimal to have Dagger defeat Shell Dragon and Freya defeat Amdusias since they don't lead to any stat loss. Zidane, Vivi, and Amarant will all lose one primary stat point from fighting Tantarian, leaving Freya as the best choice. For Abadon, Steiner loses one primary plus one secondary stat point, more than anyone else. Zidane will suffer smaller losses than a Magic-oriented Quina, but higher losses than a Strength-oriented one. Balanced Quina won't lose any net stats, but will become less balanced.

The best ways to distribute forced experience in this case are:

4.2. Combined approach, without final equipment

The optimal stats for the combined approach without final equipment that each character can achieve, if they don't absorb any forced experience, are:

CharacterOptimal statsEquipment setup
Zidane50 Spr, 77 Str, 68 Mag, 35 Spd[cnzn-18]
Dagger50 Spr, 86 Mag, 59 Str, 33 Spd[cndn-19]
Vivi50 Spr, 82 Mag, 56 Str, 28 Spd[cnvn-20]
Steiner50 Spr, 79 Str, 65 Mag, 27 Spd[cnsn-21]
Freya50 Spr, 69 Str, 71 Mag, 29 Spd[cnfn-22]
Quina (any orientation)47 Spr, 62 Str, 73 Mag, 26 Spd[cnqn-23]
Eiko50 Spr, 85 Mag, 58 Str, 30 Spd[cnen-24]
Eiko (with Marcus glitch)50 Spr, 93 Mag, 88 Str, 34 Spd[cnmn-25]
Amarant50 Spr, 70 Str, 60 Mag, 31 Spd[cnan-26]

And the effects of absorbing forced experience on each character's stats are:

CharacterAbsorbed experienceEffect
Zidane1 Pandemonium battle-1 (-1 Str)
2 Pandemonium battles-2 (-1 Str, -1 Spd)
3 Pandemonium battles-2 (-1 Str, -1 Mag)
Tantarian-2 (-2 Str)
Tantarian and 1 Pandemonium battle-3 (-1 Str, -2 Mag)
Tantarian and 2 Pandemonium battles-3 (-2 Str, +1 Mag, -2 Spd)
Tantarian and 3 Pandemonium battles-3 (-2 Str, -1 Spd)
DaggerShell DragonNone!
ViviTantarian (No speed run)-1 (-2 Mag, +1 Str)
Tantarian (Excalibur II run)-2 (-2 Mag)
SteinerAbadon-2 (-1 Str, -1 Mag)
FreyaAmdusiasNone!
Tantarian, with or without Amdusias-1 (-2 Str, +1 Mag)
Quina (any orientation)AbadonNone!
AmarantAmdusias-1 (-1 Str)
Tantarian-1 (-2 Str, +1 Spd)
Tantarian and Amdusias-2 (-1 Str, -2 Mag, +1 Spd)

Quina gets the same stats for every orientation, because any change to his/her Str or Mag will cause Spd to decrease.

Incredibly, all three Pandemonium battles can be fought without anyone sacrificing their stats. The only choice is who, if anyone, will absorb experience from Tantarian. If you choose to fight Tantarian, only Freya, Vivi, and Amarant can get away with only 1 point of net loss. However, Amarant's setup gets you one less secondary stat point than Freya's, making Freya the better choice. Vivi can do just as well as Freya, but only if you're not doing a speed run.

The best ways to distribute forced experience in this case are:

Both Dagger and Quina require the Holy Miter in their Pandemonium setups, but only one copy is available at that time. They also both need Robe of Lords, but it's impossible to obtain more than one in an Excalibur II speed run by that time. To get around this problem, you can start training them with their "Any time" setup before you enter Pandemonium, up to a point where one of them is at least 26377 Exp away from the next level-up. This character won't level up during the Pandemonium battles, so you are free to equip anything without worrying about stats. (Thanks to genkaku666 for suggesting this strategy!)

4.3. Ordered approach, with recommended final equipment

The optimal stats for the ordered approach with recommended final equipment that each character can achieve, if they don't absorb any forced experience, are:

CharacterOptimal statsEquipment setup
Zidane48 Spr, 79 Str, 64 Mag, 35 Spd[orzn-32]
Dagger48 Spr, 90 Mag, 57 Str, 30 Spd[ordn-33]
Vivi48 Spr, 84 Mag, 55 Str, 27 Spd[orvn-34]
Steiner49 Spr, 79 Str, 65 Mag, 27 Spd[orsn-35]
Freya49 Spr, 72 Str, 67 Mag, 29 Spd[orfn-36]
Quina (strength-oriented)48 Spr, 69 Str, 63 Mag, 23 Spd[orqsn-37]
Quina (magic-oriented)48 Spr, 75 Mag, 59 Str, 23 Spd[orqmn-38]
Quina (balanced)48 Spr, 67 Str, 67 Mag, 23 Spd[orqbn-39]
Eiko48 Spr, 88 Mag, 56 Str, 28 Spd[oren-40]
Eiko (with Marcus glitch)48 Spr, 95 Mag, 90 Str, 28 Spd[ormn-41]
Amarant48 Spr, 74 Str, 55 Mag, 32 Spd[oran-42]

And the effects of absorbing forced experience on each character's stats are:

CharacterAbsorbed experienceEffect
Zidane1 Pandemonium battle-1 Str, +2 Mag, +1 Spd
2-3 Pandemonium battles-1 Str, +1 Mag, +1 Spd
Tantarian-1 Str, -1 Spd
Tantarian and 1 Pandemonium battle-1 Str, -1 Mag, -1 Spd
Tantarian and 2 Pandemonium battles-1 Str, -2 Mag
Tantarian and 3 Pandemonium battles-1 Str, -3 Mag
DaggerShell DragonNone!
ViviTantarian-1 Mag, -2 Spd
SteinerAbadon-1 Mag
FreyaAmdusiasNone!
Tantarian, with or without Amdusias-2 Mag
Quina (strength-oriented)Abadon-2 Mag
Quina (magic-oriented)Abadon-1 Mag, +1 Str, +1 Spd
Quina (balanced)Abadon-1 Str, +1 Mag, +1 Spd
AmarantAmdusias-2 Mag
Tantarian-1 Str, -1 Spd
Tantarian and Amdusias-1 Str, -1 Mag

Doing an Excalibur II speed run makes no difference for these stat paths.

It's clearly optimal to have Dagger defeat Shell Dragon and Freya defeat Amdusias since they don't lead to any stat loss. Freya can defeat Tantarian without losing any primary stats and Steiner can do the same with Abadon, so they are more preferable than the other options. Balanced Quina may also take on Abadon without net stat loss if you are willing to upset the stat balance. The only real choices are whether you want to exchange two points of Freya's Magic to defeat Tantarian, and whether you want to have Quina in a balanced stat orientation.

The best ways to distribute forced experience in this case are:

Both Dagger and Quina require the Holy Miter in their Pandemonium setups, but only one copy is available at that time. To get around this problem, you can start training them with their "Any time" setup before you enter Pandemonium, up to a point where one of them is at least 26377 Exp away from the next level-up. This character won't level up during the Pandemonium battles, so you are free to equip anything without worrying about stats. (Thanks to genkaku666 for suggesting this strategy!)

4.4. Combined approach, with recommended final equipment

The optimal stats for the combined approach with recommended final equipment that each character can achieve, if they don't absorb any forced experience, are:

CharacterOptimal statsEquipment setup
Zidane48 Spr, 78 Str, 69 Mag, 34 Spd[crzn-48]
Dagger48 Spr, 88 Mag, 58 Str, 33 Spd[crdn-49]
Vivi48 Spr, 83 Mag, 57 Str, 28 Spd[crvn-50]
Steiner49 Spr, 79 Str, 65 Mag, 27 Spd[crsn-51]
Freya49 Spr, 70 Str, 71 Mag, 29 Spd[crfn-52]
Quina (any orientation)47 Spr, 62 Str, 73 Mag, 26 Spd[crqn-53]
Eiko48 Spr, 85 Mag, 59 Str, 31 Spd[cren-54]
Eiko (with Marcus glitch)48 Spr, 92 Mag, 89 Str, 35 Spd[crmn-55]
Amarant48 Spr, 72 Str, 60 Mag, 31 Spd[cran-56]

And the effects of absorbing forced experience on each character's stats are:

CharacterAbsorbed experienceEffect
Zidane1 Pandemonium battle-1 (-3 Mag, +2 Spd)
2 Pandemonium battles-1 (-1 Str, -1 Mag, +1 Spd)
3 Pandemonium battles-1 (-1 Str, -2 Mag, +2 Spd)
Tantarian-2 (-1 Str, -1 Mag)
Tantarian and 1-2 Pandemonium battles-2 (-1 Str, -2 Mag, +1 Spd)
Tantarian and 3 Pandemonium battles-3 (-1 Str, -2 Mag)
DaggerShell DragonNone!
ViviTantarian (No speed run)-1 (-1 Mag)
Tantarian (Excalibur II run)-2 (-1 Mag, -1 Str)
SteinerAbadon-1 (-1 Mag)
FreyaAmdusiasNone!
Tantarian, with or without Amdusias-2 (-2 Mag)
Quina (any orientation)AbadonNone!
AmarantAmdusias-1 (-1 Str)
Tantarian-1 (-2 Str, +1 Spd)
Tantarian and Amdusias-2 (-1 Str, -2 Mag, +1 Spd)

Quina gets the same stats for every orientation, because any change to his/her Str or Mag will cause Spd to decrease.

Incredibly, all three Pandemonium battles can be fought without anyone sacrificing their stats. The only choice is who, if anyone, will absorb experience from Tantarian. If you're doing an Excalibur II speed run, Amarant is the best choice because he's the only one who will lose only 1 net stat point. If you're not doing a speed run, then Vivi is preferable since he doesn't lose 2 primary stat points unlike Amarant.

The best ways to distribute forced experience in this case are:

Both Dagger and Quina require the Holy Miter in their Pandemonium setups, but only one copy is available at that time. They also both need Robe of Lords, but it's impossible to obtain more than one in an Excalibur II speed run by that time. To get around this problem, you can start training them with their "Any time" setup before you enter Pandemonium, up to a point where one of them is at least 26377 Exp away from the next level-up. This character won't level up during the Pandemonium battles, so you are free to equip anything without worrying about stats. (Thanks to genkaku666 for suggesting this strategy!)

5. Frequently asked questions

5.1. How do I use equipment setups

The equipment setups given in this guide and the stats calculator contain a list of items that you need to equip in each situation. Here's an example of a setup:

For Tantarian:
Barbut, Bronze Gloves or Mythril Gloves, Plate Mail, Pearl Rouge

At any time:
Head: 57 Barbut, 24 Kaiser Helm
Arms: 4 Bronze Gloves or Dragon Wrist or Mythril Gloves, 77 Venetia Shield
Body: 81 Minerva's Plate
Addon: 77 Barette, 4 Pearl Rouge

The items under the "For Tantarian" heading gives you the exact set of equipment your character should be wearing for that battle. Since you can't change equipment mid-battle, this will always be a single set. Equipment setups for Pandemonium battles will appear the same way.

The items under the "At any time" heading come with a number that tells you how many level-ups your character should gain while wearing that item. In the example, "57 Barbut, 24 Kaiser Helm" means the character should gain 57 levels while wearing a Barbut, and gain another 24 levels wearing a Kaiser Helm. An entry like "4 Bronze Gloves or Dragon Wrist or Mythril Gloves" means you should gain a total of 4 levels while wearing any of those items.

Your character must wear each of the listed items for exactly the specified number of level-ups before reaching level 99. Make sure your character is fully equipped any time you level up, and as soon as an item has reached its number of levels, exchange it immediately for a different one. You can do the items in any order, and you can substitute different items as long as the item you use has the same or better stat bonuses than the one you're supposed to have.

As an example, one way to carry out the setup given above (for Freya) is:

  1. Have Freya join at level 1, and remain at level 1 until you find Tantarian in Disc 3.
  2. Equip Freya with Barbut, Mythril Gloves, Plate Mail, Pearl Rouge, and any weapon you like before triggering the battle with Tantarian. Defeat Tantarian and have Freya absorb all of its experience (KO all other characters before the battle ends), gaining 17 levels.
  3. Don't let Freya gain any more levels until you get all the remaining equipment.
  4. Once you get all necessary equipment, train Freya so that she gains 57 levels wearing Barbut, Venetia Shield, Minerva's Plate, and Barette. You can use any weapon you like.
  5. Gain another 20 levels wearing Kaiser Helm, Venetia Shield, Minerva's Plate, and Barette.
  6. Gain 4 more levels wearing Kaiser Helm, Dragon Wrist, Minerva's Plate, and Pearl Rouge.

Doing these steps will bring Freya to level 99, and account for all required level-ups for all items. This will complete the equipment setup and give Freya her target stats.

5.2. Why don't the guide and the calculator give the same setups

If you try to calculate some of the stat paths in the guide using the stat calculator, you might find that the calculator doesn't always find the same setup as the one in the guide. This is because I have manually tweaked some setups for a variety of reasons. For example, if the calculator returns a solution that requires a hard-to-find item in Pandemonium, I could have chosen to find a different solution which doesn't need that item. Some setups could also have been manually simplified to reduce the number of times you need to switch equipment. The tweaked solutions would be presented in the guide, while the calculator has no way of offering those solutions automatically. You can choose to follow any setup you like, it's only the final optimal stats that matter.

You might also find setups in Atomos199's Excalibur II Perfect Game Guide to be different from both this guide and the calculator. This is because all the setups were found and tweaked at different times, so they could have been adjusted in different ways.

5.3. Can multiple characters split forced experience from a battle

It's possible to have multiple party members absorb the experience from a single battle. Doing this will reduce the maximum level anyone reaches, and might theoretically reduce the impact on stats. In practice however, I've never found a case where this helps.

The reason has to do with the fact that characters at lower levels take fewer Exp to level up. Dividing Exp points among multiple party members will actually increase the total number of level-ups you suffer. Take Tantarian for example. A character absorbing its full 12585 Exp will gain 17 levels. Two characters sharing the Exp will gain 14 levels each. The benefits of one character avoiding 3 level-ups is easily offset by the other one gaining 14. Three-way or four-way divides are even worse.

5.4. Can Steiner get better stats by using Defender in Pandemonium

No. Defender is available in Bran Bal which technically comes before Pandemonium, but Steiner and Dagger leave the party right before you enter the village and you'll never get a chance to equip the sword before the forced battles.

5.5. How do I get Robe of Lords before Pandemonium in a speed run

This is probably the single hardest item to obtain. In short, you need to upgrade to a gold chocobo, find Yans and get Virus status for all your party (to avoid the upcoming Exp), and defeat Ozma using your Virus'd Level 1 party. Robe of Lords can be stolen from Ozma. Atomos199's Excalibur II Perfect Game Guide on GameFaqs.com will have more detailed strategies on how this can be realistically done.

Other ways of obtaining Robe of Lords before Pandemonium, either exchanging for 10000 Chocobo Hot & Cold points or stealing from Quale, are much more time consuming and aren't feasible in an Excalibur II speed run.

6. Mathematics behind the scenes

This section gives an overview of all the theory and algorithms that go into finding optimal setups. It's written for those of you who are mathematically inclined and curious about how the calculator works. However, it isn't meant to be a comprehensive course on the subject and won't go into too much depth. If you want to learn more about any particular topic mentioned in this section, a web search is always a good place to begin.

The source code for the calculator, written in Java, can be downloaded from http://letao.is-a-geek.net/ff9stats/ff9stats.zip. This is a stand-alone version that runs on any Windows computer with Java Runtime Environment version 6 or higher installed, and doesn't include the web interface of the online version (which requires a web server with Servlet capabilities to run).

6.1. Combinatorial optimization and linear programs

The problem of optimizing stats in FF9 is one of combinatorial optimization - the goal is to find a combination of equipment to wear during level-ups that optimizes the final outcome. This type of problem is generally difficult to solve due to the enormous number of possible combinations, as you would know if you ever tried solving it by hand. For example, if a character only had 5 different pieces of head gear to consider, then the possible number of ways to distribute 98 level-ups among those 5 items is (98 + 5 - 1)! / (98! * (5 - 1)!) = 4249575. That's already much more than a person can handle. In fact, the number of possibilities becomes so high when all five types of equipment are considered, that even a computer would take millions of years to "try them all" using a naive approach. The number of possibilities can be reduced by eliminating ones that aren't worth considering, but efficiently throwing away useless combinations is in itself a difficult problem.

Mathematicians have devoted a considerable amount of research on solving optimization problems because of their practical applications. A mathematical program is a construct that mathematicians use to describe these problems (despite the name, it's not related to computer programs). It consists of a set of variables, a set of constraints, and an objective function. A solution to the mathematical program is a set of values which, when assigned to the variables, satisfies all the constraints and at the same time optimizes the value of the objective function.

More specifically, a linear program is a mathematical program where all constraints are linear equations or inequalities, and the objective function is a linear combination of the variables. Relatively efficient ways to solve this class of problems have been found, the most well-known being the Simplex algorithm. Furthermore, if all variables are also constrained to be integers, then the problem becomes an integer linear program (ILP). With some thought, the problem of optimizing stats in FF9 can be encoded and solved as a series of ILPs. This is the approach taken by the calculator.

Good algorithms for solving ILPs are very complex and I didn't implement any myself. The one actually used in the calculator is an open-source package called GLPK. In the sections below, whenever I say "solve the ILP", it means pass the problem onto GLPK, let it crunch all the numbers, and retrieve its solution.

6.2. Basic ideas

As stated before, the central idea for the calculator is to encode the problem of optimizing stats into a series of ILPs. For this to happen, we need to define the variables, constraints, and objective function that make up an ILP. As an example, consider the case for Dagger:

Base stats at level 1: 17 Spirit, 23 Magic, 14 Strength, 21 Speed

Useful equipment for her (all items that are inferior stat-wise are ignored):

TypeNameStat bonus
SprMagStrSpd
WeaponMagic Racket-+2--
Stardust Rod+2---
HeadBandana+1--+1
Green Beret--+1+1
Holy Miter+2+1--
ArmsMagic Armlet-+2--
N-Kai Armlet+2---
Power Wrist--+2-
BodyDark Gear+3---
Minerva's Plate-+2+1-
Power Vest--+2-
Robe of Lords+1+1+1+1
AddonBarette+1+1+3-
Black Belt+2-+2-
Cachusha+1+2-+1
Dark Matter-+2+3-
Glass Buckle+2+1+1-
Pearl Rouge+4+2--
Ribbon+1+3+1-
Running Shoes---+2

Variables should represent the basic quantities we're trying to find. It makes sense to define variables as the number of level-ups to train with each piece of equipment, because this is the number we're trying to find for the optimal setup. Once we have this information, everything else including final value of stats achieved can be calculated very easily. So the list of variables for Dagger can be written as:

x_magicracket
x_stardustrod
x_bandana

etc., where x_magicracket represents the number of levels gained while having Magic Racket equipped, and similarly for the others.

Constraints are rules that every solution must respect. The fact that a character can only wear one equipment of each type (weapon, head, arms, etc.) at a time is a constraint. Dagger can only gain 98 levels, and in order to maximize her stat growth, we'll want to use one item of each type during every level-up. That gives us a total of 98 level-ups per type of equipment. These constraints can be written as:

x_magicracket + x_stardustrod = 98
x_bandana + x_greenberet + x_holymiter = 98
x_magicarmlet + x_nkaiarmlet + x_powerwrist = 98

etc., where the first line accounts for all her weapons, the second accounts for all her head gear, and so on. Later in the calculations there will also be other constraints for stat values, which will be covered below.

Finally, the objective is the quantity that we're seeking to maximize, namely the number of stat points. Recall the formula for calculating stats. For example, the one for Dagger's Spirit, with known quantities plugged in:

Spr = SprBase + [Lv * 3 / 20] + [(LvUps + SprEqBonus) / 32] + SprEqCurr
    = 17 + [99 * 3 / 20] + [(98 + SprEqBonus) / 32] + SprEqCurr
    = 31 + [(98 + SprEqBonus) / 32] + SprEqCurr

where SprEqBonus is the sum of all bonuses for Spirit from equipment, which is:

SprEqBonus = 2 x_stardustrod + x_bandana + 2 x_holymiter + 2 x_nkaiarmlet + 3 x_darkgear + x_robeoflords + x_barette + 2 x_blackbelt + x_cachusha + 2 x_glassbuckle + 4 x_pearlrouge + x_ribbon

and similarly for the other stats. Unfortunately, the formula contains a term in [ square brackets ] that needs to be rounded down. The "round down" function isn't linear, and so this can't be adequately represented in an ILP. To get around this problem, a separate ILP must be solved for each stat without any rounding, and the rounding operations done manually on the result.

6.3. Calculating optimal stats for the ordered approach

Consider the simplest case for Dagger, with the ordered approach without any final equipment and without absorbing forced experience. Since we have a strict ordering of stats, the top priority is to maximize Spirit with no regard for any other stat. Using the variables, constraints, and objective function seen above, we can find the maximum achievable SprEqBonus with the following ILP:

Objective to maximize:
SprEqBonus

Constraints:
x_magicracket + x_stardustrod = 98
x_bandana + x_greenberet + x_holymiter = 98
x_magicarmlet + x_nkaiarmlet + x_powerwrist = 98
x_darkgear + x_minervasplate + x_powervest + x_robeoflords = 98
x_barette + x_blackbelt + x_cachusha + x_darkmatter + x_glassbuckle + x_pearlrouge + x_ribbon + x_runningshoes = 98

Solving this ILP gives the optimal SprEqBonus = 1274, which involves training all 98 level-ups with Stardust Rod, Holy Miter, N-Kai Armlet, Dark Gear, and Pearl Rouge. This solution should come as no surprise, since those are the items that provide the max Spirit boost. With this setup, Dagger's Spirit will end up being:

Spr = 31 + [(SprEqBonus + 98) / 32] + SprEqCurr
    = 31 + [(1274 + 98) / 32] + 0
    = 73

which of course is a huge waste since it will be capped at 50. In reality, we only need SprEqBonus = 510 to raise her Spirit to exactly 50, and can allow the remaining points to go into other stats. We can now define an additional constraint to represent exactly this fact:

SprEqBonus >= 510

As long as this constraint is obeyed, Spirit is guaranteed to be optimal. Now with the value of Spirit settled, the next priority is Magic. The number of bonus points to her Magic can be calculated as:

MagEqBonus = 2 x_magicracket + x_holymiter + 2 x_magicarmlet + 2 x_minervasplate + x_robeoflords + x_barette + 2 x_cachusha + 2 x_darkmatter + x_glassbuckle + 2 x_pearlrouge + 3 x_ribbon

And the maximum achievable MagEqBonus Dagger can achieve, without ruining her Spirit, can be found by solving the following ILP:

Objective to maximize:
MagEqBonus

Constraints:
SprEqBonus >= 510
x_magicracket + x_stardustrod = 98
... (same equipment constraints as before)

The solution to this ILP includes a more carefully balanced set of equipment than the one for Spirit alone. While maintaining 50 Spirit, the highest MagEqBonus that can be achieved is 908, which yields 89 Magic when rounded down. Are all of the 908 bonus points necessary to achieve 89 Magic? Again the answer is no - having only 890 is already sufficient, and the extra 18 points are simply rounded away. From this, we can derive yet another constraint concerning the optimization of Magic:

MagEqBonus >= 890

Now that we have both Spirit and Magic fixed, Strength comes next. The idea is the same as before, simply maximize StrEqBonus while respecting goals for both Spirit and Magic. The ILP would look something like this:

Objective to maximize:
StrEqBonus

Constraints:
SprEqBonus >= 510
MagEqBonus >= 890
x_magicracket + x_stardustrod = 98
... (same equipment constraints as before)

Finally, once a constraint for Strength has been determined, the max Speed can be found by extending the same process. The optimal setup is a solution to the ILP that satisfies all the constraints, including reaching the optimal target values of all four stats.

6.4. Calculating optimal stats for the combined approach and other factors

The combined approach is more difficult to calculate. Ideally, the problem should be solved by a single mathematical program with Spr+Mag+Str+Spd as the objective function, but this can't be written as an ILP because each of Spr, Mag, Str, and Spd involves rounding down a term. And unlike the ordered approach, it's not possible to calculate combined stats one at a time in sequence because all four stats affect each other. The calculator actually uses a "branch-and-bound" algorithm for this case. The process often involves solving dozens of ILPs, continuing by trial and error.

Using Dagger as an example, we know her optimal stats in the ordered approach (without final equipment or forced experience) is 50 Spr, 89 Mag, 56 Str, and 30 Spd, for a grand total of 225. This number is useful as an initial lower bound, because it has three nice properties:

Once this "bound" is established, the "branch" part of the algorithm tests all other possible stat values to see if a better one can be found. One such possibility is keeping Spr at 50 and Mag at 89, but lowering Str to 55. If this could allow Spd to increase by 2 or more, then that would give a better solution. Translating this into an ILP, we get:

Objective to maximize:
SpdEqBonus

Constraints:
SprEqBonus >= 510
MagEqBonus >= 890
StrEqBonus >= 90
x_magicracket + x_stardustrod = 98
... (same equipment constraints as before)

The solution to this ILP tells us that the maximum Speed achievable under these conditions is still 30, which doesn't help. Similar calculations will prove that lowering Str to any other value will not help either.

On the other hand, if we only keep Spr at 50 but lower Mag to 88, the situation changes. Using this ILP:

Objective to maximize:
StrEqBonus + SpdEqBonus

Constraints:
SprEqBonus >= 510
MagEqBonus >= 858
x_magicracket + x_stardustrod = 98
... (same equipment constraints as before)

We can calculate that a maximum StrEqBonus+SpdEqBonus of 224 can be achieved with Spr at 50 and Mag at 88. Taking base stat values and level-up bonuses into account, that means the sum of Str+Spd can be as high as 89 in this case. Compared to the initial bound which had 56 Str and 30 Spd (for a sum of 86), this is better. This branch is therefore worth exploring further by trying different values of Str and Spd while keeping Mag at 88. Similarly, setting Mag to 87 or 86 will yield even better results. Repeating the same kind of calculations will eventually exhaust all remaining possibilities. The optimal stats for the combined approach is the best solution found among all these possibilities.

When adding forced experience into the calculations, we need to introduce additional variables to represent equipment used during those battles. Since it is not possible to change equipment mid-battle, the variables will represent whether the equipment is used during the forced battle, not the number of levels. Each variable can take on a value of 1 or 0, representing used or not used. The number of levels gained with these equipment is fixed, determined by the amount of Exp gained from the battle. For example, the equipment that Dagger can equip for the Tantarian battle during a speed run can be represented by these variables:

t_stardustrod
t_lamiastiara
t_bandana

etc.

To reflect the fact that each equipment is responsible for 17 level-ups for the Tantarian battle, their stat bonuses are multiplied by 17 in the equipment bonus calculations. Thus Dagger's SprEqBonus formula would gain all these terms, with coefficients that are multiples of 17:

SprEqBonus = 34 t_stardustrod + 17 t_bandana + 17 t_lamiastiara + 17 t_robeoflords + 34 t_survivalvest + 17 t_mythrilarmlet + 17 t_leatherwrist + 17 t_barette + 17 t_cachusha + 17 t_extension + 17 t_anklet + 34 t_blackbelt + 34 t_glassbuckle + 68 t_pearlrouge + 2 x_stardustrod + x_bandana + 2 x_holymiter + 2 x_nkaiarmlet + 3 x_darkgear + x_robeoflords + x_barette + 2 x_blackbelt + x_cachusha + 2 x_glassbuckle + 4 x_pearlrouge + x_ribbon

With these variables added, the same processes described above for ordered and combined approaches can be used for all the calculations that include forced experience.

Including final equipment in the calculations is simple. Its only effect is to limit the theoretical max that a stat can reach. For example, with final equipment that raises Spirit by 3, the calculator proceeds as if the theoretical max for Spirit is 47 instead of 50. All other methods remain the same as before.

The calculator doesn't have the algorithm to directly calculate stats for balanced Quina. To do so manually, see Calculating balanced Quina.

7. Miscellaneous

7.1. Email policy

All email messages pertaining to this guide, stat maximization, and any related issues are welcome. If you spot an error, omission, or anything that's not explained clearly in this guide, then I'd really like to hear about it. Your input will help make this guide better and make life easier for other readers.

7.2. Credits and thanks

7.3. Version history

3.13: Fixed equipment available for Marcus. Thanks to Vizuino for spotting the errors.

3.10: Changed calculations for balanced Quina to prioritize balance of Str and Mag over Spd.

3.01: Made minor edits.

3.00: Updated setups to include Robe of Lords for Pandemonium in speed runs, added balanced Quina setups, reorganized and edited most of the content again, improved the calculator

2.00: Reorganized and edited most of the content, improved some paths, added setups for Eiko with Marcus glitch, added math section, added reference to online calculator, linked to external setup pages, added downloadable calculator package, and made other minor corrections

1.00: Initial draft

7.4. Legal babble

This guide is published on letao.is-a-geek.net for the sole purpose of private, personal use. It may not be placed on any other web site or otherwise be distributed publicly without explicit advance written permission from the author. Use of this guide on any other web site or as a part of any public display is strictly prohibited, and is a violation of copyright.

All trademarks and copyrights contained in this document are owned by their respective trademark and copyright holders.

The author and authorized distributors shall not be held responsible for any damages resulting from the use or misuse of this guide. Types of damage include, but are not limited to: wear and tear of your playstation/calculator/computer/game discs, addiction to FF9, increased interest in math, and Goblin Punches.

No animals were harmed in the writing of this guide, but if you decide to print this out on paper, some plants will be harmed.