A graphical editor for positioning and exporting animated thruster effects for ships in FTL: Faster Than Light.
This tool allows you to place animated sprites on a ship image, preview animations, apply symmetry, and export to XML for FTL modding.
This project provides an intuitive interface to create and manage thruster or hull animations for FTL ships.
Key features include:
- Load ship background images
- Add animated spritesheets
- Place and manage animated "plumes"
- Automatic vertical mirroring
- Save and load layouts as
.json - Export to FTL-compatible XML
- Integrated logging console
- Python 3.8 or later
- Required Python libraries:
tkinter(bundled with Python)Pillow(pip install pillow)
python3 editor.py- Left Click: place a plume at cursor
- Left Click + Shift / Drag: move selected plume
- Right Click: select plume
- Arrow Keys: move selected plume
- Ctrl + Arrow Keys: move background ship image
- Delete: delete selected plume
- F12: open log console
- 🖼 Load Ship Image: load ship background (PNG format)
- ➕ Add Spritesheet: load an animated horizontal spritesheet
- 💾 Save Layout: save current plumes to
layout.json - 📂 Load Layout: load a previously saved layout
- 📤 Export XML: export plume positions to
export.xml - 🧩 Export Anim XML: generate
animations.xml.appendfor animations - 🪞 Mirror Plume: create a vertically mirrored copy of the selected plume
ftl_thruster_editor/
│
├── FTL_Thruster.py # Main script (the provided code)
├── output/ # Auto-generated export directory
│ ├── layout.json # Saved layout of plumes
│ ├── export.xml # XML export for plumes
│ └── animations.xml.append # XML export for spritesheets
├── requirements.txt # (optional) Python dependencies
└── README.md # This file
This project is licensed under the MIT License. See the LICENSE file for details.