OT6 is a Final Fantasy VI ROM hack. It adds Octopath Traveler combat mechanics while keeping the FF6 story, world, and characters.
v0.30 is the current release: download it.
main is v0.31 development.
The game is playable through the World of Balance and through Thamasa in the World of Ruin, where Strago joins.
Main changes:
- Enemies have shields and weaknesses. Weak hits remove shields. Broken enemies lose turns and take more damage.
- Characters gain and spend Boost Points. Boost can add hits, raise spell tiers, improve odds, or extend effects.
- Equipped Magicite grant spells and stats. They do not teach spells permanently.
- Characters have distinct skill sets.
See the design for mechanics and the tooling guide for setup.
Each release includes ot6-vX.Y.apk. The app creates OT6.sfc from your
own ROM.
- Add
https://github.com/mtklein/ot6to Obtainium. Set the APK filter toot6-.*\.apk. - Install and open OT6 Patcher. Select the folder containing your Final Fantasy III (USA) v1.0 ROM. If needed, select the ROM file directly.
- Later app updates replace
OT6.sfcwith the new version.
The original ROM is not changed. OT6.sfc keeps the same name so the
emulator can keep using its save file.
For RetroArch, scan the folder containing OT6.sfc. Remove
Final Fantasy III (USA).bps from the original ROM's folder if you no longer
use soft patching. Do not place another patch beside OT6.sfc.
Place Final Fantasy III (USA).sfc in the repository root. It must have
SHA-1 4f37e4274ac3b2ea1bedb08aa149d8fc5bb676e7. The ROM is not included.
brew bundle
python3 -m pip install numpy
python3 configure.py
ninja
ninja releaseMesen and Flips require separate installation. See the tooling guide.
ninja builds both ROMs and runs the full test graph. ninja release also
runs release checks and creates the release archive. Specific outputs can be
built directly:
ninja ff6/rom/ff6-en.sfc
ninja build/results/suite/battle_break.ok
ninja build/states/vargas_entry.mss.luatools/gui.sh opens the built ROM in Mesen. To record a test run:
OT6_RECORD=1 tools/tests/run.sh tools/tests/<test>.luaSee the recording guide for details.
OT6 assembly starts in ff6/src/battle/ot6.asm.
ff6/src/battle/ot6_memory.inc defines shared
WRAM and SRAM. ff6/ is a vendored copy of the everything8215 FF6
disassembly.
See the headless play guide and the test harness guide.
The original FF6 1.0 Sketch bug remains. A missed Sketch can corrupt inventory or save data. Save before using Sketch.
See AGENTS.md.
OT6 code is MIT licensed. See LICENSE. The FF6 disassembly, built ROM, and release patch are GPL v3.