Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

Projekte exportieren

Warum exportieren?

Ursprünglich bot Godot keine Möglichkeit, Projekte zu exportieren. Die Entwickler kompilierten die entsprechenden Binärdateien und Bibliotheken für jede Plattform per Hand.

Als immer mehr Entwickler (und Nicht-Programmierer) begannen, Godot einzusetzen, und auch gleichzeitig unser Unternehmen immer mehr Aufträge annahm, stellte sich das als Bottleneck heraus.

Auf dem PC

Ein Projekt für den PC zu veröffentlichen, ist vergleichsweise einfach. Sie legen die ausführbare Godot-Datei im selben Verzeichnis wie die project.godot ab, komprimieren den Projektordner und das war's.

Das klingt zunächst einmal simpel, doch es gibt einige Gründe, warum ein Entwickler sich gegen diese Methode auszusprechen mag. Einer davon kann sein, dass es nicht gewünscht ist, viele einzelne Dateien zu veröffentlichen, entweder um den internen Spielaufbau vor neugierigen Blicken zu schützen, oder weil es unelegant ist, etc. Ein anderer Grund wäre, stattdessen eine speziell kompilierte Binärdatei auszuliefern, die optimiert ist und eine kleinere Dateigröße aufweist und ohne Entwicklungs-Tools, wie Editor und Debugger auskommt.

Schließlich hat Godot ein einfaches, aber effizientes System zum Erstellen von DLCs als zusätzliche Paketdateien.

Auf mobilen Geräten

Das gleiche Szenario ist auf mobilen Plattformen etwas komplizierter. Um ein Projekt für diese Geräte zu veröffentlichen, wird eine Binärdatei für jede Zielplattform individuell kompiliert und diese im Anschluss in einem nativen Projekt eingebettet, zusammen mit den Spielinhalten.

Dies kann sich als problematisch erweisen, denn der Entwickler muss sich im Vorfeld mit dem SDK der jeweiligen mobilen Plattform vertraut machen, ehe er damit überhaupt etwas exportieren kann. Das Erlernen der einzelnen SDKs wird zwar immer empfohlen, aber es kann frustrierend sein, wenn man dazu gezwungen wird, dies zu einem unerwünschten Zeitpunkt zu tun.

Es gibt noch ein weiteres Problem bei diesem Ansatz: Verschiedene Geräte bevorzugen verschiedene Datenformate. Das wichtigste Beispiel hierfür ist die Texturkomprimierung. Die gesamte PC-Hardware verwendet die S3TC (BC)-Komprimierung, die seit mehr als einem Jahrzehnt standardisiert ist, aber mobile Geräte verwenden unterschiedliche Formate für die Texturkomprimierung, wie ETC1 und ETC2.

Exportmenü

Nachdem verschiedene Lösungen für den Arbeitsablauf des Exports evaluiert wurden, hat sich der gegenwärtige als am besten herausgestellt. Zum Zeitpunkt der Erstellung dieses Artikels werden noch nicht alle Plattformen unterstützt, aber die Zahl der unterstützten Plattformen wächst ständig.

Um das Exportmenü zu öffnen, klicken Sie auf den Exportieren-Button:

../../_images/export.png

Das Exportmenü wird geöffnet. Es ist jedoch noch völlig leer. Das liegt daran, dass wir ein Exportprofil hinzufügen müssen.

../../_images/export_dialog.png

Um ein Exportprofil anzulegen, klicken Sie auf Hinzufügen… oben im Exportmenü. Daraufhin klappt ein Drop-Down-Menü mit einer Liste von Plattformen auf, für die ein Profil gewählt werden kann.

../../_images/export_preset.png

Die Default-Optionen für den Export sind häufig ausreichend, eine Anpassung ist daher üblicherweise nicht notwendig. Allerdings erfordern viele Plattformen zusätzliche Werkzeuge (SDKs), die vor dem Export installiert sein müssen. Außerdem benötigt Godot Exportvorlagen, die ebenfalls vorher installiert sein müssen. Das Exportmenü weist darauf hin, wenn eine Abhängigkeit fehlt und lässt den Export nicht zu, solange nicht alle Probleme behoben worden sind:

../../_images/export_error.png

Zu diesem Zeitpunkt wird vom Benutzer erwartet, dass er auf die Dokumentation zurückgreift und die Anweisungen zur ordnungsgemäßen Einrichtung dieser Plattform befolgt.

The buttons at the bottom of the menu allow you to export the project in a few different ways:

  • Export All: Export the project as a playable build (Godot executable and project data) for all the presets defined. All presets must have an Export Path defined for this to work.

  • Export Project: Export the project as a playable build (Godot executable and project data) for the selected preset.

  • Export PCK/ZIP: Export the project resources as a PCK or ZIP package. This is not a playable build, it only exports the project data without a Godot executable.

Exportvorlagen

Abgesehen von der grundsätzlichen Einrichtung müssen auch die Exportvorlagen installiert sein, um Projekte zu exportieren. Sie können als TPZ-Dateien (ein umbenanntes ZIP-Archiv) aus dem Download-Bereich der Webseite bezogen werden.

Einmal heruntergeladen, können sie unter Exportvorlage Installieren im Editor installiert werden:

../../_images/exptemp.png

Ressourcenoptionen

Beim Exportieren erzeugt Godot eine Liste aller zu exportierenden Dateien und erstellt dann das Paket. Es gibt 3 verschiedene Export-Modi:

  • Alle Ressourcen des Projekts exportieren

  • Ausgewählte Szenen (inklusive Abhängigkeiten) exportieren

  • Ausgewählte Ressourcen (inklusive Abhängigkeiten) exportieren

../../_images/expres.png

Alle Ressourcen des Projekts exportieren wird jede Ressource im Projekt exportieren. Ausgewählte Szenen exportieren und Ausgewählte Ressourcen exportieren gibt Ihnen eine Liste der Szenen oder Ressourcen im Projekt, und Sie müssen jede Szene oder Ressource auswählen, die Sie exportieren möchten.

../../_images/expselected.png

Bemerkung

Dateien und Ordner, deren Namen mit einem Punkt beginnen, werden nie in das exportierte Projekt aufgenommen. Dies geschieht, um zu verhindern, dass Versionskontrollordner wie .git in die exportierte PCK-Datei aufgenommen werden.

Unterhalb der Ressourcenliste befinden sich zwei Filter, die eingerichtet werden können. Der erste erlaubt es, Nicht-Ressourcen-Dateien wie .txt, .json und .csv mit dem Projekt zu exportieren. Der zweite Filter kann verwendet werden, um alle Dateien eines bestimmten Typs auszuschließen, ohne dass jede einzelne Datei manuell abgewählt werden muss. Zum Beispiel, .png Dateien.

Konfigurationsdateien

Die Exportkonfiguration wird in zwei Dateien gespeichert, die beide im Projektverzeichnis zu finden sind:

  • export_presets.cfg: Diese Datei enthält den größten Teil der Exportkonfiguration und kann sicher in die Versionsverwaltung commitet werden. Hier gibt es nichts, was Sie normalerweise geheim halten müssten.

  • .godot/export_credentials.cfg: Diese Datei enthält Exportoptionen, die als vertraulich gelten, wie Passwörter und Verschlüsselungsschlüssel. Sie sollte im Allgemeinen nicht in die Versionsverwaltung committet oder mit anderen geteilt werden, es sei denn, Sie wissen genau, was Sie tun.

Da die Datei mit den Anmeldeinformationen normalerweise nicht in Versionsverwaltungssystemen gespeichert wird, fehlen einige Exportoptionen, wenn Sie das Projekt auf einen neuen Rechner klonen. Am einfachsten ist es, die Datei manuell vom alten Speicherort zum neuen zu kopieren.

Von der Kommandozeile exportieren

Im Produktionsbetrieb ist es nützlich, Builds zu automatisieren, und Godot unterstützt dies mit den Kommandozeilenparametern --export und --export-debug. Der Export von der Kommandozeile aus erfordert immer noch ein Exportprofil, um die Exportparameter zu definieren. Ein einfacher Aufruf des Befehls würde wie folgt aussehen:

godot --export "Windows Desktop" some_name.exe

Es wird nach some_name.exe exportiert, vorausgesetzt, es gibt ein Profil namens "Windows Desktop" und die Vorlage kann gefunden werden. (Der Name des Exportprofils muss in Anführungszeichen geschrieben werden, wenn er Leer- oder Sonderzeichen enthält) Der Ausgabepfad ist relativ zum Projektpfad oder absolut; er beachtet nicht das Verzeichnis, aus dem der Befehl aufgerufen wurde.

Die Dateierweiterung der Ausgabedatei sollte mit derjenigen übereinstimmen, die vom Godot-Exportprozess verwendet wird:

  • Windows: .exe

  • macOS: .zip (von allen Plattformen) oder .dmg (nur beim Exportieren von macOS). .app wird nicht direkt unterstützt, obwohl das erzeugte ZIP-Archiv ein . app-Bundle enthält.

  • Linux: Jede Erweiterung (auch keine). .x86_64 wird typischerweise für 64-Bit-x86-Binärdateien verwendet.

  • HTML5: .zip

  • Android: .apk

  • iOS: .zip

Sie können es auch so konfigurieren, dass nur die PCK- oder ZIP-Datei exportiert wird, so dass ein einziger Export mit mehreren ausführbaren Godot-Programmen verwendet werden kann. Wenn Sie dies tun, muss der Name des Exportprofils weiterhin in der Kommandozeile angegeben werden:

godot --export-pack "Windows Desktop" some_name.pck

Es ist oft nützlich, das --export-Flag mit dem --path-Flag zu kombinieren, um nicht mit cd in den Projektordner wechseln zu müssen:

godot --path /path/to/project --export "Windows Desktop" some_name.exe

Siehe auch

Siehe Kommandozeilen-Tutorial für weitere Informationen über die Verwendung von Godot über die Kommandozeile.

PCK vs. ZIP Pack-Dateiformat

Jedes Format hat seine Vor- und Nachteile. PCK ist der Default und das empfohlene Format für die meisten Anwendungsfälle. Abhängig von Ihren Anforderungen können Sie jedoch stattdessen ein ZIP-Archiv verwenden.

PCK-Format:

  • Unkomprimiertes Format. Größere Datei, aber schneller zu lesen/schreiben.

  • Nicht lesbar und beschreibbar mit Tools, die normalerweise auf dem Betriebssystem des Benutzers vorhanden sind, obwohl es Tools von Drittanbietern zum Extrahieren und Erstellen von PCK-Dateien gibt.

ZIP-Format:

  • Komprimiertes Format. Kleinere Dateigröße, aber langsamer zu lesen/schreiben.

  • Lesbar und Schreibbar mit Tools, die normalerweise auf dem Betriebssystem des Benutzers vorhanden sind. Dies kann nützlich sein, um das Modden zu vereinfachen (siehe auch Exportieren von Packs, Patches und Mods).

Warnung

Aufgrund eines bekannten Bugs, wenn Sie eine ZIP-Datei als Pack-Datei verwenden, versucht die exportierte Binärdatei nicht, diese automatisch zu verwenden. Daher müssen Sie ein Launcher-Skript erstellen, das der Spieler per Doppelklick oder über ein Terminal ausführen kann, um das Projekt zu starten:

:: launch.bat (Windows)
@echo off
my_project.exe --main-pack my_project.zip

# launch.sh (Linux)
./my_project.x86_64 --main-pack my_project.zip

Speichern Sie das Launcher-Skript und legen Sie es im selben Ordner wie die exportierte Binärdatei ab. Erteilen Sie unter Linux dem Launcher-Skript mit dem Befehl chmod +x launch.sh die Berechtigung zur Ausführung.