This patch modifies Final Fantasy II (USA) to create a version of the game suitable for practicing the speedrun. A short list of included features:
* The player can save anywhere
* Cutscenes are reduced in length
* Random encounters can optionally be disabled
* Optional auto-dash or Y-button dash
* Automatic in-battle timer
* Step route seed configuration
* Guaranteed grind fight
* Configurable battle simulator
For full information about these, please read the included README.
# Final Fantasy II (USA) Speedrun Practice
This is a modification of the original Final Fantasy IV for SNES, released in
the United States as Final Fantasy II. This patch adds several features to the
game that are useful for practicing the speedrun.
## Requirements
This patch currently requires an unheadered USA 1.0 ROM. For purposes of
verification, the SHA256 digest of the file should be:
`680535dc1c4196c53b40dc9c2c9bc159a77802ab8d4b474bef5dc0281c15ad06`
As far as I know, this patch should work on all commonly used emulators and
flash carts. If you experience differently, please let me know.
## Patching
You will need to apply the patch to your clean ROM using a bps-compatible
patching tool, such as Floating IPS (flips). Alternately, you can use a
web-based patcher, of which several seem to be available.
## NoCW Compatibility
This patch uses some additional memory locations that may affect your ability to
proceed normally through the glitch maps. To maximize your chances of success,
you may wish to adjust some settings upon reaching that point of the game:
Disable encounters, disable auto-dash, set the custom seed to 0 and disable the
forced seed option. Other settings may work as well, but these should be
foolproof. In one instance, I did experience a weird issue in the very late
floors (determined by spell lists), but an attempt to reproduce worked fine. To
mitigate this, you may wish to make a safety save at some point. Since you can
save anywhere, this is simple.
## Known Issues
* When using the battle simulator, buffered inputs entered prior to the fight
starting (during the black screen) may not work correctly as they would in a
normal battle. This may affect practicing the Milon Z., Golbez, or other
fights, depending on your exact strats. Finding a fix for this may be
difficult.
## Features and Changes
This patch changes the following things in the game:
### Save Anywhere
You can now save anywhere, which allows you to create practice saves closer to
the relevant location.
### Abbreviated Cutscenes
Cutscenes are now reduced to an abbreviated form to get the primary point
across. The initial cutscene during the Zeromus battle has been reduced
considerably, (hopefully) without affecting initial ATB. If you have any
problems, please let me know. (The NoCW version of the fight will likely have
the wrong turn order, but this is of minimal consequence due to the nature of
the fight.)
### Disable Encounters
Encounters can be optionally disabled. This has been designed in such a way to
maintain the step route. In other words, if you disable encounters but enable
them later, you will get the same encounters you would have gotten if you had
never disabled encounters.
### Optional Auto-Dash
Either by pressing the Y button or by enabling the Auto-Dash feature in the
menu, your character can walk faster. In addition, holding Y while in a vehicle
will set the vehicle's speed to that of the Black Chocobo (making slower
vehicles slightly faster but slowing the airships down).
### Automatic Battle Timer
Each battle is automatically timed with a visible timer in-battle. The timer is
updated every frame, but is only copied to the screen at intervals of the game's
choosing, so it will appear to stutter, but it is nonetheless accurate. The
timer begins at the start of the battle and stops when the battle is over. The
final displayed time should be accurate. Do note, however, that it assumes a
frame is exactly 1/60th of a second, whereas the actual SNES runs at
approximately 60.0988 FPS. This consideration is most likely irrelevant for the
intended use (comparing battle strategies). The timer will stop if the game is
paused. Note that the digits after the decimal point refer to the frame count,
and range from 0 to 59, not 0 to 99.
### Step Route Seeds
Seed 92 is guaranteed at the start of the game. In addition, once you've begun
the game, you can (using the Custom menu), configure the `Seed` option to `On`
and set the `Custom Seed` option, which will force your seed to the configured
value when you next save and reset. By default, this is set to force seed 43 on
reset, but you can alter or disable this as desired. This feature will
automatically disable itself after reset, so any further save and resets will
update the seed randomly as normal. (You could, of course, re-enable the feature
to choose another seed.)
To be clear, the `Off` choice for the `Seed` option will default to a new random
seed each time you reset. The third choice, `Save`, will preserve your existing
seed and index when you save and reset, allowing you to maintain the current
step route even if you reload.
### Guaranteed Grind Fight
A new tile on the bridge in the Giant of Bab-il Lung provides a guaranteed grind
fight, in case you're practicing with encounters disabled or have lost your step
route.
### Experimental ATB Display
Experimental ATB display is available in battle by tapping the Y button. This
currently will not function usefully in the Zeromus battle. Feel free to try it
to see why.
### Battle Simulator
A fully-featured battle simulator is available by speaking to the soldier
outside the training room in Baron. Within the simulator, you will be able to
practice every important fight in the game (from the speedrun perspective).
(The simulator has been implemented by replacing the Big Chocobo to some
extent. As a result, talking to the Big Chocobo will also activate the
simulator.)
After choosing a battle, you can then load a preset which sets up your party
and inventory. The currently available presets correspond to the route followed
by my [no64-rosa guide](https://ff4kb.aexoden.com/guides/no64-rosa/). If you
intend on using this feature and would like additional presets added for your
own route, please contact me.
After choosing a preset, you can customize the party further by selecting
`Party`. You can swap characters by choosing one and then choosing the other.
You can switch between the two-front and three-front formations by tapping left
on the d-pad. Otherwise, you can double click on a character to enter the
character editor.
NOTE: There is currently no way to edit the inventory. The inventory will be
that which was set by the preset.
The character editor allows you to choose which character is in this slot (which
is more for fun, rather than useful for speedrunning). In addition, you can set
the character's level and stats will be updated automatically. Both HP and MP
can be configured to a desired level, including underflowing the MP. You can
alter the character's equipment, and see the stat updates in real time. Only
valid equipment combinations will be allowed. For instance, if you equip the
Avenger (a two-handed weapon) on Cecil, he will not be allowed to select a
shield. Do note that there is currently no way to edit the spell lists in the
editor (for switching which spells are where). The built-in presets can affect
the spell lists, so if you need a particular setup, please let me know so I can
add a preset.
After finishing configuration, simply choose the `Start Battle` option to begin
the battle. It should execute exactly as if you were actually at the battle,
allowing you to practice more easily (especially on console using a flash cart).
You can run away from any battle by pressing L+R+Select. It's recommended to
press and hold Select first, as this will prevent the "Can't Run" message from
appearing that would otherwise appear.
## Feature Requests
If there are other features that could improve your ability to practice the
speedrun, feel free to suggest them and they may be added in a later version.
## Version History
### v0.4.1
* Fixed the spell lists when using custom settings in the battle simulator.
### v0.4.0
* Added the ability to run from battles in the battle simulator by pressing
Select+L+R.
* In the battle simulator, the custom settings are now saved before the battle
and restored afterward. This means the party will be restored and the
inventory will revert as expected, if doing the same battle multiple times
consecutively.
* The automatic battle timer now stops upon Zeromus death.
* The standard preset for Dr.Lugae now includes a dead Rosa. A "Rosa Living"
preset has been added to allow for practicing the previous pattern. In both
cases, three characters have the Mute status, as if the healing pot had not
been used.
### v0.3.1
* Fixed the ability to save the seed when saving and resetting.
* Fixed the ability to use a random seed when saving and resetting.
### v0.3.0
* Slightly shortened the length of the post-Kainazzo cutscene.
* Fixed a bug where Cid wasn't visible in the Giant cutscenes.
* Added an automatic in-battle timer.
* Fixed a bug with the battle simulator and handling inputs in battle.
* Change the ATB display to use decimal numbers.
### v0.2.0
* Reset the movement speed when beginning an event, to avoid weird movement.
* Fix the poison mosaic effect when running into a cutscene.
* Fix a crash after the Q.Eblan/K.Eblan battle.
* Shortened the Q.Eblan/K.Eblan battle to some extent. If this interferes with
anyone's inventory management, please let me know, but I left several dialog
boxes.
* Fix the display of the ATB timers to be on the correct sides.
* Added the ability to save the current seed when saving and resetting.
### v0.1.0
Initial public beta release.
Database match: Final Fantasy II (USA)
Database: No-Intro: Super Nintendo Entertainment System (v. 20180813-062835)
File/ROM SHA-1: 2FA447E3E010CE8BA5B4E746F6609AA0E324D947
File/ROM CRC32: 65D0A825