A Python GUI application for managing save files in FTL: Faster Than Light, the popular indie space strategy game.
FTL Save Manager allows you to easily backup and restore your game progress in FTL: Faster Than Light. The game only supports a single save slot (continue.sav), making it impossible to maintain multiple game runs simultaneously. This tool solves that problem by letting you save and load different game states with optional custom descriptions.
- Game Launcher: Launch FTL directly from the save manager with automatic working directory setup
- Steam Integration: Launch FTL through Steam using the Steam protocol URL
- Auto-Maximize Window: Optional feature to automatically maximize the game window after launch
- Configurable Game Path: Easily set and change the game executable path
- Save Management with Descriptions: Backup your current game progress with optional custom descriptions
- One-Click Loading: Click any save button to instantly load that game state
- Individual File Deletion: Delete specific saves with small × buttons
- Dynamic Interface: Window automatically resizes based on content
- Readable Timestamps: All dates displayed in natural language format
- Standalone Executable: No Python installation required for end users
- Automatic Validation: Checks for FTL installation and existing save files
- Safe Operations: Confirmation dialogs prevent accidental overwrites
- No Dependencies: Uses only Python standard library components
- Windows 10/11
- Python 3.13+ (for source code execution)
- FTL: Faster Than Light installed and run at least once
- uv package manager (optional, for development)
- Clone or download this repository
- For standalone use: Simply run
FTL Save Manager.exefrom thedist/folder - For development: Ensure you have Python 3.13+ installed
Option 1: Standalone Executable (Easiest)
Simply double-click FTL Save Manager.exe located in the dist/ folder. This executable includes all dependencies and doesn't require Python to be installed.
Option 2: Direct Python execution
python main.pyOption 3: Using uv
uv run main.pyNote: If you encounter permission errors with uv on Windows, use the direct Python method above.
-
Launch the application - It will automatically check for:
- FTL installation folder:
%USERPROFILE%\Documents\My Games\FasterThanLight - Active save file:
continue.sav
- FTL installation folder:
-
If validation fails, you'll see an error dialog explaining what's missing
-
If validation succeeds, the main interface opens with:
- Game Controls: Launch FTL directly, via Steam, or change the game executable path
- Current Save Info: Shows when your current game was last saved (readable format)
- Save Current Game: Creates a timestamped backup with optional description
- Individual Save Buttons: Each save displays as a clickable button
- Delete Buttons: Small × buttons next to each save for deletion
Option 1: Launch via Steam (Recommended for Steam users)
- Click "Launch via Steam" to start FTL through Steam
- This uses the Steam protocol URL (
steam://rungameid/212680) to launch the game - No configuration needed - works automatically if Steam is installed
- Ideal for Steam users as it tracks play time and achievements
Option 2: Direct Launch
- Click "Launch Game" to start FTL directly from the save manager
- First-time setup: If the game path isn't configured, you'll be prompted to locate the game executable (usually
FTLGame.exe) - The game launches with its installation directory as the working directory for proper resource loading
- Use "Change Game Path" to update the executable location if needed (e.g., after reinstalling)
- Game path is stored in
config.jsonand remembered between sessions
Maximize Window Feature
- Check the "Maximize Window" checkbox in the Game Controls section to automatically maximize the FTL window after launch
- Works with both launch methods (direct and Steam)
- The application waits up to 30 seconds for the game window to appear, then maximizes it automatically
- Setting is saved in
config.jsonand persists between sessions - Uncheck the box to launch the game normally without maximization
- Click "Save Current Game"
- Optional: Enter a description for your save (e.g., "Before boss fight", "Good weapon loadout")
- Your current
continue.savis copied to thesaves/folder with timestamp - Format:
continue_YYYY-MM-DD_HH-MM-SS.sav
- Simply click any save button in the list
- Each button shows:
- Your custom description (if provided)
- Readable timestamp (e.g., "Monday, January 15, 2025 at 2:30 PM")
- Confirm the operation when prompted
- The selected save overwrites your current
continue.sav
- Click the × button next to any save
- Confirm the deletion when prompted
- The save file and its description are permanently removed
ftl_savemanager/
├── dist/
│ └── FTL Save Manager.exe # Standalone executable (~8.8 MB)
├── main.py # Main application source
├── config.json # Stores game settings (auto-created)
├── saves/ # Auto-created folder for save backups
│ ├── continue_2025-01-15_14-30-22.sav
│ ├── continue_2025-01-15_16-45-10.sav
│ ├── descriptions.json # Save file descriptions
│ └── ...
├── build_exe.bat # Build script for creating executable
├── pyproject.toml # Project configuration
└── README.md # This file
The application looks for FTL saves in the standard location:
%USERPROFILE%\Documents\My Games\FasterThanLight\continue.sav
Example full path:
C:\Users\YourUsername\Documents\My Games\FasterThanLight\continue.sav
- Launch Game: Start FTL directly from the save manager using the configured executable path
- Launch via Steam: Start FTL through Steam (requires Steam to be installed)
- Change Game Path: Update the game executable location for direct launches
- Maximize Window: Checkbox to automatically maximize the game window after launch (works with both launch methods)
- Auto-Configuration: Prompts for game path on first direct launch if not set
- Working Directory: Direct game launches use proper directory for resource loading
- With Description: Shows custom description above the timestamp
- Without Description: Shows only the readable timestamp
- Format Examples:
"Before final boss\nMonday, January 15, 2025 at 2:30 PM""Monday, January 15, 2025 at 2:30 PM"
- Content-Based Width: Window width adjusts to fit button content
- No Minimum Size: Window can be as small as needed
- Auto-Resize: Window automatically resizes when saves are added/removed
- No Scrollbars: Clean interface without clutter
- Game doesn't start: Verify the game path is correct using "Change Game Path"
- Wrong game launches: Update the executable path to point to the correct
FTLGame.exe - Can't locate game: Common locations:
- Steam:
C:\Program Files (x86)\Steam\steamapps\common\FTL Faster Than Light\FTLGame.exe - GOG:
C:\GOG Games\FTL\FTLGame.exe
- Steam:
- Ensure FTL: Faster Than Light is installed
- Run FTL at least once to create the save folder
- Check if the game folder exists at the expected path
- Start a new game in FTL to create the initial save file
- The game must have an active save to manage
- Recommended solution: Use
python main.pyinstead - Root cause: Windows security policies may prevent uv from creating virtual environments
- Alternative: Run terminal as administrator, then try
uv run main.py - Verify Python: Ensure Python is properly installed and accessible via
python --version
- Standalone executable: Windows Defender or antivirus software may flag the executable as suspicious
- This is normal: PyInstaller executables often trigger false positives
- Solution: Add the
dist/folder to your antivirus exclusions or approve the file when prompted - Alternative: Use the Python source code directly (
python main.py)
- Always backup important saves: While this tool is designed to be safe, always keep important saves backed up
- Close FTL before switching saves: Don't modify saves while the game is running
- Launch after loading: You can safely launch the game after loading a save
- Confirmation dialogs: The app shows confirmation before overwriting your current save
- Persistent configuration: Game path and descriptions are stored locally and preserved between sessions
FTL: Faster Than Light is a spaceship simulation real-time strategy roguelike game created by Subset Games. The game features permadeath and a single save slot, making save management tools like this particularly useful for players who want to:
- Experiment with different strategies
- Maintain multiple concurrent playthroughs
- Share interesting game states with friends
- Practice difficult encounters
- Keep saves at key decision points
- Organize saves by ship type or strategy
- Automatic Path Detection: Works with both Python script and standalone executable
- JSON Configuration: Game path, window settings, and descriptions stored in UTF-8 encoded JSON format
- Error Handling: Graceful handling of missing files and corrupted data
- File Validation: Comprehensive checks before operations
- Working Directory: Game launches with proper working directory for resource loading
- Window Management: Uses Windows API to detect and maximize the game window automatically
- tkinter-based: Uses Python's built-in GUI framework
- Responsive Design: Interface adapts to content size
- Accessible: Clear labels and confirmation dialogs
- Professional: Clean, modern appearance
This tool is provided as-is for personal use. FTL: Faster Than Light is property of Subset Games.
Feel free to submit issues, feature requests, or pull requests to improve this tool.