Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

FF9 Map Kit (ff9mapkit)

Author custom Final Fantasy IX content (Steam/GOG, via the Memoria engine) from declarative TOML projects, compiled into drop-in Memoria mods. Part of the Dream World IX project.

Capabilities: author any field camera from scratch (single / scrolling / multi-camera) with a pixel-accurate paint guide · fork any of ~674 real fields — camera, walkmesh, art, exits, encounters, music, and (verbatim mode) the real script and dialogue · NPCs, dialogue choices, gateways, events, story branching, cutscenes, shops, save points from one field.toml · custom 3D battle backgrounds + battle tuning · multi-field campaigns and journeys · custom 3D character models (Blender round-trip) and playable characters · overworld island/terrain/coast/entrance authoring · custom music/SFX · experimental two-player co-op · save and story-state editing.

Authoring surfaces: TOML by hand, the form editor (ff9mapkit edit), the Blender add-on, and the one-window PySide6 Workspace.

What it does

Given a field.toml describing one field — camera, painted background layers, walkmesh, NPCs, dialogue, gateways, encounter, music — ff9mapkit build emits everything a custom field needs:

  • the background scene (.bgx/.bgs + overlay PNGs or atlas) and walkmesh (.bgi),
  • the field event script (.eb) for all seven languages,
  • dialogue text (.mes),
  • the DictionaryPatch / BattlePatch registration + ModDescription.xml.

Battle maps (battle.toml), campaigns (campaign.toml), and journeys (journeys.toml) compile the same way at their own scopes.

Two steps stay manual, matching how the original pre-rendered backgrounds were made: painting the background art (over the kit's projected paint guide) and judging final in-game alignment. The pipeline rationale is in docs/PIPELINE.md.

Quickstart

pip install "ff9mapkit[assets]"                  # or from this dir: pip install -e ".[assets]"
ff9mapkit setup                                  # find the FF9 install, extract base assets
ff9mapkit import <field> --out myroom --verbatim # fork a real field — or `new` for original art

Full setup (extras, game-path resolution, the engine bundle) → SETUP.md. First-time walkthroughs → docs/tutorials/.

Commands

119 subcommands — ff9mapkit -h lists them; the grouped reference with flags is in SETUP.md §7. The families:

  • Setup — setup · doctor · extract-templates
  • Author — new · guide / paint-template · walkmesh · edit · camera · disasm
  • Build & ship — build · deploy · lint · pack · export-art · repaint-native
  • Fork real fields — import (--editable/--native/--verbatim) · import-all · import-chain · fork-report · list-fields / find-field / find-rooms · logic-map / lint-eb · chocobo-export
  • Campaigns & journeys — new-campaign / add-field / build-all / lint-campaign · gen-hub / lint-journey / assemble-journey / reference-arcs · deploy-campaign / deploy-journey / newgame
  • Battle — battle-import / battle-build · battle-list / battle-scene / battle-ai / battle-seq · battle-patch / battle-telemetry / characters / ability-gems / ability-features
  • 3D models — model-gltf / model-import / model-mint / model-anim / model-anim-new / model-preview / model-reskin / model-deployed / model-export / playable-anims · image-field · summon transplants (experimental): summon-export / summon-rig-ref / summon-import / summon-deploy · recolour/reframe a stock summon in place: summon-reskin / summon-rescore (scaffold / plan / build / verify / deploy / revert)
  • Overworld — world-terrain / world-reclaim / world-coast / world-transplant / world-water / world-island / world-forest / world-hill / world-mountain / world-entrance / world-encounters and the rest of the world-* suite
  • Multiplayer — coop (host / join / show; experimental)
  • Audio — audio-import · music-list / sfx-list
  • Catalogs & dialogue — catalog / models / animations / archetypes / items / scenes / encounters / flags / sps · dialogue / dialogue-import
  • Saves — flags-inspect / flags-diff / save-edit · items-inspect / items-set-*

Docs

Validation

The package is organized by domain: eb (event-script codec + content injectors), scene (camera math, .bgx/.bgs, .bgi walkmesh, paint guides), build (the field.toml compiler), plus battle/, world/, models/, content/, deploy/journey orchestration, and the editor/+workspace/ front-ends.

Correctness is proven offline by a golden-master test suite (~4,400 tests): every codec round-trips real install assets byte-for-byte (regenerated locally via extract-templates — the repo ships none), and compiling the bundled examples reproduces in-game-verified output exactly.

pip install -e ".[dev]"
py -m pytest -n 6

Metadata

Release files for ff9mapkit 1.0.0b22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ff9mapkit 1.0.0b22
File Size Uploaded Provenance
ff9mapkit-1.0.0b22.tar.gz 8.1 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ff9mapkit 1.0.0b22
File Interpreter ABI Platform
ff9mapkit-1.0.0b22-py3-none-any.whl Python 3 none any Details

Total release size: 12.7 MB

Release files / ff9mapkit-1.0.0b22.tar.gz

Download URL ff9mapkit-1.0.0b22.tar.gz
Size 8.1 MB
Tags Source
SHA-256 checksum
How to use checksums
531fecc89d3e75c4991bcdadd5514d34269598683e5e83c8962d84a4bdde11c8
BLAKE2b-256 checksum
How to use checksums
89e31f9a6cc937f13dcaed9b234636e1e56e851e1997948c8ea64f89626d9195
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / ff9mapkit-1.0.0b22-py3-none-any.whl

Download URL ff9mapkit-1.0.0b22-py3-none-any.whl
Size 4.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7c1b7bd7428123c6aef2ad9ad145aadd72f2d33f4086cad91b463535b53f2f9c
BLAKE2b-256 checksum
How to use checksums
45d34e5fed0a34aac1a77e5b647ffa2f4eb7f8040c1c01f732dc3253e991b1e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for ff9mapkit 1.0.0b22

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ff9mapkit-1.0.0b22.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page