GBA Background Studio ist eine Desktop-Anwendung zum Erstellen und Bearbeiten von Game Boy Advance (GBA)-Hintergründen. Sie ermöglicht die Konvertierung von Bildern in GBA-kompatible Tilesets und Tilemaps, die visuelle Bearbeitung von Tiles und Paletten sowie den Export von Assets für Ihre GBA-Projekte.
⚠️ Diese Anwendung richtet sich an Entwickler, ROM-Hacker und Pixel-Artists, die präzise Kontrolle über GBA-Hintergründe benötigen.
Diese README ist in folgenden Sprachen verfügbar:
English | Español | Português (BR) | Français | Deutsch | Italiano | Português | Nederlands | Polski
Türkçe | Tiếng Việt | Bahasa Indonesia | हिन्दी | Русский | 日本語 | 简体中文 | 繁體中文 | 한국어
-
Bild-zu-GBA-Konvertierung
- Konvertiert Standardbilder in GBA-kompatible Tilesets und Tilemaps.
- Konfiguriert Ausgabegröße und Farbtiefe (4bpp und 8bpp).
- Vorschau des Ergebnisses vor dem Export.
-
Tileset-Bearbeitung
- Visuelle Auswahl und Bearbeitung von Tiles.
- Interaktive Zeichenwerkzeuge auf dem Tilemap-Raster.
- Zoom-Stufen von 100% bis 800% für pixelgenaue Bearbeitung.
-
Paletten-Bearbeitung
- Bearbeitung von bis zu 256 Farben pro Palette.
- Synchronisierung von Palettenänderungen mit Vorschauen und Tiles.
- Neuanordnung, Ersetzung oder Anpassung einzelner Farben.
-
Vorschau-Tab
- Visualisierung des finalen Hintergrunds auf einem GBA-ähnlichen Bildschirm.
- Schnelle Validierung von Tile- und Palettenkonfigurationen.
-
Rückgängig/Wiederholen-Verlauf
- Vollständige Verfolgung des Bearbeitungsverlaufs.
- Rückgängig- und Wiederholen-Operationen mit großem Verlaufspuffer.
-
Konfigurierbare Oberfläche und Statusleiste
- Detaillierte Statusleiste mit Tile-Auswahl, Tilemap-Koordinaten, Palette-ID, Spiegelungsstatus und Zoom-Stufe.
- Kontextbezogene Symbolleiste pro Tab (Vorschau, Tiles, Paletten).
-
Mehrsprachige Unterstützung
- Internes Übersetzungssystem (Translator) mit Sprachauswahl über Einstellungen.
- Für die Unterstützung mehrerer Sprachen in der Oberfläche ausgelegt.
GBA Background Studio ist mit Python und PySide6 / PySide2 (hybrid) entwickelt und folgt einem modularen Oberflächendesign:
-
Hauptfenster (
GBABackgroundStudio)- Verwaltet den Anwendungszustand (aktuelles BPP, Zoom-Stufe, Tile- und Palettenauswahl).
- Beherbergt die Haupt-Tabs und die benutzerdefinierte Statusleiste.
- Lädt und wendet Konfigurationen an (einschließlich der letzten Ausgabesitzung).
-
Tabs
PreviewTab– GBA-stilige Hintergrundvorschau.EditTilesTab– Werkzeuge zur Tile- und Tilemap-Bearbeitung.EditPalettesTab– Paletten-Editor und Farbmanipulationswerkzeuge.
-
Oberflächenkomponenten und Hilfsprogramme
MenuBar– Dateioperationen (Bild öffnen, Dateien exportieren, Beenden) und Editor-Aktionen.CustomGraphicsView– ErweiterterQGraphicsViewmit tile-basierter Interaktion (Hover, Zeichnen, Auswahl, Einfügevorschau).TilemapUtils– Gemeinsame Logik für Tilemap-Interaktion und -Auswahl.HistoryManager– Rückgängig/Wiederholen-Verwaltung für Editor-Operationen.HoverManager,GridManager– Visuelle Hilfsmittel für Hover-Effekte und Rasterüberlagerungen.Translator,ConfigManager– Lokalisierung und persistente Konfiguration.
Laden Sie die neueste Version von GitHub Releases herunter:
| Installer | Python | Betriebssystem |
|---|---|---|
GBABackgroundStudio_Setup.exe |
Enthalten (keine Installation nötig) | Windows 10 / 11 |
GBABackgroundStudio_Legacy_Setup.exe |
Enthalten (keine Installation nötig) | Windows 7 / 8 / 8.1 |
Einfach den Installer ausführen und die App starten — kein Python oder pip erforderlich.
| Umgebung | Python | Qt-Backend | Betriebssystem |
|---|---|---|---|
| Modern | 3.10+ | PySide6 (auto) | Windows 10/11, macOS 11+, Linux |
| Legacy | 3.8 / 3.9 | PySide2 5.15.2 (auto) | Windows 7 / 8 / 8.1 |
Die Anwendung erkennt automatisch, welches Qt-Backend basierend auf Ihrer Python-Version verwendet werden soll — keine manuelle Konfiguration erforderlich.
pip install -r requirements.txtrequirements.txt installiert automatisch das richtige Qt-Backend:
- Python ≥ 3.10 →
PySide6 - Python 3.8 / 3.9 →
PySide2 5.15.2
Weitere Abhängigkeiten: Pillow, numpy, scipy, scikit-learn, opencv-python, certifi.
Die vollständige grafische Oberfläche läuft auf Windows 7 und höher. Verwenden Sie Python 3.8 und requirements.txt installiert automatisch PySide2 5.15.2.
Alternativ steht der Mehrsprachige Kommandozeilen-Assistent (GBA_Studio_Wizard.bat) für Stapelkonvertierungen ohne die grafische Oberfläche zur Verfügung und funktioniert auf jeder Windows-Version mit Python 3.8+:
- Navigieren Sie zum Stammverzeichnis des Projekts.
- Führen Sie
GBA_Studio_Wizard.bataus. - Wählen Sie Ihre Sprache (18 Sprachen unterstützt).
- Folgen Sie den Schritt-für-Schritt-Anweisungen zur Konvertierung Ihres Bildes.
-
Repository klonen
git clone https://github.com/CompuMaxx/gba-background-studio.git cd gba-background-studio -
Virtuelle Umgebung erstellen und aktivieren (optional, aber empfohlen)
python -m venv .venv source .venv/bin/activate # Unter Windows: .venv\Scripts\activate
-
Abhängigkeiten installieren
pip install -r requirements.txt
-
Anwendung starten
python main.py
-
Bild öffnen
- Gehen Sie zu Datei → Bild öffnen oder drücken Sie
Ctrl+O. - Wählen Sie das Bild aus, das Sie in einen GBA-Hintergrund konvertieren möchten.
- Gehen Sie zu Datei → Bild öffnen oder drücken Sie
-
Konvertierung konfigurieren
- Wählen Sie den Hintergrundmodus (Textmodus oder Rotation/Scaling).
- Wählen Sie die Palette(n) oder Tilemap (nur für Textmodus 4bpp).
- Legen Sie die Farbe fest, die als transparent verwendet werden soll.
- Passen Sie die Ausgabegröße und andere Parameter an.
- Klicken Sie auf Konvertieren und die Anwendung erledigt den Rest.
-
Tiles bearbeiten
- Wechseln Sie zum Tab Tiles bearbeiten.
- Verwenden Sie die Tilemap-Ansicht zum Zeichnen und Ändern einzelner Tiles.
- Wählen Sie ganze Bereiche aus, um Tile-Gruppen zu kopieren, auszuschneiden, einzufügen oder zu drehen.
- Synchronisieren Sie Änderungen in Echtzeit für sofortige Ergebnisse.
- Passen Sie den Zoom-Grad für perfekte Präzision an.
- Tiles optimieren/deoptimieren, um Speicherplatz zu sparen oder Hardware-Kompatibilität zu gewährleisten.
- Assets zwischen den Formaten 4bpp und 8bpp konvertieren.
- Nahtlos zwischen Textmodus und Rotation/Scaling wechseln.
-
Paletten bearbeiten
- Gehen Sie zum Tab Paletten bearbeiten.
- Ändern Sie Farben im Palettenraster und passen Sie sie mit dem Farbeditor an.
- Wählen Sie bestimmte Bereiche oder alle Tiles einer Palette aus, um sie zu ersetzen oder mit einer anderen zu tauschen.
-
Hintergrundvorschau
- Wechseln Sie zum Tab Vorschau für eine originalgetreue Darstellung, wie es auf einem echten GBA aussehen wird.
- Überprüfen Sie, ob Ihre Tile- und Palettenkonfigurationen perfekt zusammenarbeiten.
-
Assets exportieren
- Gehen Sie zu Datei → Dateien exportieren oder drücken Sie
Ctrl+E. - Exportieren Sie Tilesets, Tilemaps und Paletten in Formaten, die für Ihre GBA-Entwicklungs-Toolchain bereit sind.
- Exportieren Sie einzelne Assets bei Bedarf separat über ihre jeweiligen Menüs.
- Gehen Sie zu Datei → Dateien exportieren oder drücken Sie
Die Anwendung verfolgt Ihre Bearbeitungsaktionen mit einem Verlaufsmanager:
- Rückgängig – macht die letzte Operation rückgängig.
- Wiederholen – stellt eine rückgängig gemachte Operation wieder her.
Das Verlaufssystem hält einen Puffer mit aktuellen Zuständen, einschließlich Tile-Bearbeitungen, Palettenänderungen und Tilemap-Operationen.
Die Anwendung verwendet einen Konfigurationsmanager zum Speichern von Einstellungen wie:
- Zuletzt verwendete Sprache
- Zuletzt verwendete Zoom-Stufe
- Ob die letzte Ausgabe beim Start geladen werden soll
- Andere Oberflächen- und Editor-Einstellungen
Die Konfiguration wird beim Start geladen und auf die Oberfläche und Menüs angewendet.
Eine Translator-Komponente verwaltet die Oberflächentexte:
- Die Standardsprache wird über die Einstellungen konfiguriert.
- Übersetzungsdateien können hinzugefügt oder bearbeitet werden, um weitere Sprachen zu unterstützen.
- Oberflächentexte (Menüs, Dialoge, Beschriftungen) werden durch den Übersetzer geleitet.
Beiträge sind willkommen! Wenn Sie helfen möchten:
- Forken Sie dieses Repository.
- Erstellen Sie einen Feature-Branch:
git checkout -b feature/mein-neues-feature
- Bestätigen Sie Ihre Änderungen:
git commit -am "Mein neues Feature hinzufügen" - Pushen Sie den Branch:
git push origin feature/mein-neues-feature
- Öffnen Sie einen Pull Request mit einer Beschreibung Ihrer Änderungen.
Bitte halten Sie Ihren Code konsistent mit dem vorhandenen Stil und fügen Sie wenn möglich Tests hinzu.
Dieses Projekt ist unter der GNU General Public License v3.0 (GPL-3.0) lizenziert.
Weitere Details finden Sie in der Datei LICENSE.
- Dank an die GBA-Homebrew- und ROM-Hacking-Communities für ihre Dokumentation und Werkzeuge.
- Inspiriert von klassischen Pixel-Art-Editoren und GBA-Entwicklungshilfsprogrammen.
Wenn Sie dieses Tool nützlich finden und seine Entwicklung unterstützen möchten, erwägen Sie, mir einen Kaffee zu spendieren!




