A mechanics-overhaul ROM hack of Final Fantasy VI (SNES, US "FF3" ROM). It keeps FF6's cast, story, and world, and replaces the combat system with Octopath Traveler's: per-character job identities, shield/break tactics, and a boost-point turn economy.
v0.12 is the current release (tag). The game is playable from the start through the whole Sealed Gate arc: Terra's return, the Narshe mission handoff, the Cave to the Sealed Gate, the Esper attack on Vector, the Imperial banquet, and the voyage to the Crescent Island landing. v0.12 is the first release of the end-of-World-of-Balance arc (v0.12–v0.14).
Break and boost are the two central systems. Enemies carry shields and hidden weaknesses, hitting a weakness chips a shield, and breaking drops defenses hard. Boost banks turns and folds spell tiers (Fire → Fira → Firaga). Magicite work as sub-jobs: equip an esper and its spells join your Magic list, along with a stat bump, while you hold it — in battle and, as of v0.11, in the field menu too, so you can heal and cure status between fights with the magicite you carry. That adds to what the born mages can already do rather than replacing it. Blitz is a menu, Steal guarantees the rare at three boost pips, and level-ups fully restore HP and MP.
Route work is on Thamasa next: Strago and Relm, the curated kits, the burning house, and the massacre (v0.13), then the Floating Continent (v0.14) finishes the arc to the end of the World of Balance.
See docs/ROADMAP.md for milestones and how far the game is playable, docs/DESIGN.md for the mechanics design, and docs/HANDOFF.md for facts that are expensive to rediscover.
You supply your own ROM; it is not included. The build verifies it by SHA-1 and refuses anything else:
Final Fantasy III (USA).sfc sha1 4f37e4274ac3b2ea1bedb08aa149d8fc5bb676e7
Drop that file at the repo root, then:
make rom # build build/ot6.sfc
make test # full headless correctness run (the whole suite + the mp-cost A/B)
make savestates-test # the same, plus the tests that need the deep story savestates
# (slow: generates that chain of savestates first)
make run # launch the built ROM in Mesen (GUI)
make patch # emit a distributable .bpsmake test runs the whole suite headlessly under Mesen's testrunner, with no
window and no input from you. It takes a few minutes. Tests self-register with
a -- @suite marker, so tools/tests/suite.sh --list shows what runs; see
tools/tests/README.md for how the harness works and
how to write a test.
ff6/ # full-game source (vendored everything8215/ff6 disassembly,
# GPL-3.0) + OT6 modules under ff6/src/battle/ot6_* (bank F0)
docs/ # design, roadmap, research notes
tools/ # Mesen 2, flips, Lua battle-test harness (tools/tests/)
build/ # built ROM + distributable .bps patch (git-ignored)
Nearly all OT6 code lives in feature-oriented modules emitted in order from
ff6/src/battle/ot6.asm into expanded bank $F0; ot6_memory.inc is the
central WRAM/SRAM ownership map. Vanilla banks carry only minimal jsl hook
shims. docs/TOOLING.md covers the
toolchain and docs/research/ holds the reverse-engineering
notes.
See CONTRIBUTING.md. Issues are tracked here, including known defects with reproductions, which are a reasonable place to start.