More orgenized, adding demo.gif.

This commit is contained in:
Mr Finchum 2024-12-14 09:26:45 +01:00
parent dfa2b9d871
commit fa6a16d58d

View file

@ -1,56 +1,57 @@
# FTL Save File Manager
## Description
It is a program enabling saving and loading*1 in FTL (Faster Then Light) game.
Backup works after a jump, restore only works while in game are in the main menu.
It is considered as a project to learn and be more confident with Python as well as Git.
*1 ATM only the current game state, does not include the profile file (ae_prof.sav) which has information about total archiements and unlockes.
## Status
As of version 0.4.2 has the program now replicates the functionality of the original Visual Basic I once wrote in high school but rewritten in Python with a terminal-based UI:
- Features include: Backup, Restore, and Update.
As of version **0.4.2**, the program now replicates the functionality of the original Visual Basic tool I wrote in high school, rewritten in Python with a terminal-based UI.
# How it works
It uses TerminalMenu to show a simple gui in the terminal, you select the save game folder and location to backup saves.
Only work on linux and dependencies are requests and simple_terminal_menu
# FTL Save File Manager
## Description
FTL Save File Manager is a utility designed to manage save files for the game FTL: Faster Than Light.
- The **FTL Savemanager** allows you to save and load progress in the game Faster Than Light (FTL).
- **Backup:** Automatically backs up save files after a jump.
- **Restore:** Can restore save files, but only when the game is at the main menu.
- **Profile Backup:** Includes the option to back up the profile file, which tracks overall progress (e.g., unlocked ships).
- The tool features a simple terminal-based menu system, allowing easy navigation and configuration of settings.
- Backup: Automatically saves your progress after a jump.
- Restore: Allows you to restore save files, but only while in the game's main menu.
This project also serves as a learning experience to enhance Python programming skills and gain confidence with Git.
**Gif showing program in action**
**Note: Currently, only the active game state is managed. The profile file (ae_prof.sav), which contains achievements and unlocks, is not included in backups.**
![ftl-demo.gif](https://gitlab.com/python_projects3802849/ftl-save-manager/-/raw/main/demo.gif?ref_type=heads)
# Status
As of version 0.4.2, the program fully replicates the functionality of the original Visual Basic program I developed in high school. It has been rewritten in Python and now features a terminal-based UI:
***Features:***
- Backup
- Restore
- Update
## Limitations
- Currently only works on Linux.
- Dependencies include requests and simple-term-menu.
- **Future Optimization**
- Settings currently use a simple text file (mirroring the original project), though migration to YAML is planned.
- Some functions may have codependencies that need refinement.
# How It Works
FTL Save File Manager uses simple-term-menu to provide a straightforward terminal-based interface.
## Steps:
1. Select the save game folder.
2. Choose a backup location.
3. Manage your save files easily through the menu.
## Requirements
Operating System: Linux
Dependencies:
## Installation
**Dependencies**
- Python 3.6 or newer (used 3.13.1).
- requests
- simple-term-menu
Can be installed with pip or using miniconda (aka conda/mamba)
**Installation Options**
- Using pip
```bash
pip install requests simple-term-menu
```
Using Conda (or its other flavours, i.e. miniconda, mamba, micromamba)
Install Miniconda or Mamba.
# Additional Note
This project was developed with the assistance of LLMs (including, but not limited to, OpenAI's ChatGPT, Ollama models like OpenCoder and LLaMA 3.2).
The assistance provided includes, but is not limited to, spelling corrections, function suggestions, and discussions of debugging, which are not explicitly labeled. Direct optimizations of the code are noted within the code itself.
Create a new environment and install the dependencies:
```bash
conda create -n ftl_manager requests simple-term-menu -y
conda activate ftl_manager
```
Download th ftl-savemanager.py and start with
```bash
python ftl-savemanager.py
```
## Additional Notes
This project was developed with the assistance of Large Language Models (LLMs) including, but not limited to, OpenAI's ChatGPT and models such as OpenCoder.
LLMs contributed through spelling corrections, function suggestions, and debugging discussions, which are not explicitly labeled. Direct optimizations made by LLMs are annotated in the code.
### References
1. **Huang, Siming, et al.**
*OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models.*
2024. [PDF](https://arxiv.org/pdf/2411.04905)