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.
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.