display | more...

The battle programming of the SNES RPG Final Fantasy VI (FF6) was recently discovered to contain a bug which has rather serious effects on game balance. The bug was first spotted via empirical observation, and its existence and exact nature were later confirmed by disassembly of the game code. The bug affects every known version of the game: the original Japanese Super Famicom cartridge, the English-translated cartridge known as Final Fantasy III, and the PlayStation port.

The person who disassembled the game and confirmed the bug has released a patch to correct the bug in ROM copies of the game for use in emulators. This patch, as well as a partially commented disassembly of the entire FF6 battle program (to see the bug for yourself, grep the disassembly for "bug"), can be found at http://www.geocities.com/teriisenshi/ff6/hack/index.htm.

The bug is located in the subroutine which determines whether a character (either player character or enemy) hits or misses with an attack. Almost all attack forms in FF6 are divided into two categories: "physical" and "magical". The main effect of this categorization is in how damage is calculated: physical attacks' damage increases in proportion to the attacker's Vigor statistic and is reduced by the target's Defence statistic, while magical attacks are affected by the attacker's Magic Power and the target's Magic Defence.

In addition to damage, the physical/magical categorization was intended by the designers to affect the determination of hits and misses; however, because of the bug, all attack forms are treated as magical attacks for the purpose of determining hits.

The bug has the following consequences on gameplay:

1: The Evade% statistic (which is supposed to indicate a character's ability to avoid physical attacks) is completely meaningless; since all attacks are treated as magic, the evasion ability which gets used is invariably MBlock%. This means that shields (all of which increase Evade% as their main effect) are significantly less valuable to a PC than they "should" be. This in turn means that the Genji Glove accessory (which allows a character to give up a shield in order to wield two weapons instead) is significantly more valuable than it "should" be.

2: Since MBlock% is used to evade all attacks, a PC with MBlock% of 128 or better is invulnerable to all attacks except for those which automatically hit (note that statistics listed as "percentages" in FF6 are actually fractions out of 128) It is fairly easy to get 128 MBlock% in the endgame of FF6 by piling all the equipment with high MBlock% values on one character.

3: Being blinded has no actual effect on a character or monster whatsoever. Blindness is supposed to greatly reduce the accuracy of physical attacks, but to have no effect on magic. Since all attacks are treated as magic from the standpoint of accuracy, blindness ends up having no effect whatsoever. This means that items which cure or prevent blindness are completely unnecessary, and attacks which cause blindness (like Edgar's Flash) are worthless.