Skip to content

Latest commit

 

History

1,162 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OT6 — Octopath Traveler mechanics in Final Fantasy VI

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.

Status

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.

Quick start

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 .bps

make 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.

Layout

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.

Contributing

See CONTRIBUTING.md. Issues are tracked here, including known defects with reproductions, which are a reasonable place to start.

About

Octopath Traveler combat grammar in Final Fantasy VI — shield/break tactics and a boost-point turn economy, as an FF6 (SNES) ROM hack

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages