A Final Fantasy 6 four-esper challenge generator.
Aerdan e34a93c537 README.md: Requirements section added 7 months ago
asura complete asura 7 months ago
.gitignore gitignore: omit ROMs and generated data 7 months ago
COPYING COPYING: Add license 7 months ago
ChangeLog ChangeLog: Add a changelog 7 months ago
README.md README.md: Requirements section added 7 months ago
main.py main: Support "None" special seed 7 months ago



Asura is a program for generating a 'four esper' challenge run for Final Fantasy 6. Only the US releases for the Super Nintendo and all official releases for the Game Boy Advance are supported.

Asura is copyrighted under the GNU Affero General Public License, version 3.


  • Python 3.4+
  • A US release of Final Fantasy III for the Super Nintendo OR any official Game Boy Advance release of Final Fantasy VI.


./main.py rom.ext [seed|None[ A,List,Of,Spells]]

rom.ext must be a ROM image of Final Fantasy III for the SNES (either revision) or Final Fantasy VI Advance (Japanese, US, or European releases).

seed, if passed and not 'None', uses the time as of the running of the script for the seed.

The final argument is a list of spells to prohibit. All official spell names are recognized.


The spell selection mechanism uses two separate kinds of slots. The game itself supports up to five spells per esper, but for balance purposes each spell costs a number of points in the range [1,5], and each esper has 6 points to 'spend'. The following table enumerates the current point assignments (spells not enumerated cost one point):

Quick5 Arise4 Death3 Cura2
Ultima5 Blizzaga4 Graviga3 Haste2
Gravija5 Curaga4 Hastega3 Raise2
Firaga4 Esuna3 Reraise2
Meltdown4 Osmose3 Slow2

Special Thanks

The following people contributed to this project:

  • Lenophis: Provided the esper-gain offsets for the SNES US release.
  • ff6hacking.com: Provided the esper data offsets and lists.
  • Can of Worms: Figured out the esper-gain offsets for the GBA releases, including the bonus content espers.