Projekte exportieren¶
Wozu 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 Flaschenhals heraus.
Auf dem PC¶
Ein Projekt für den PC zu verteilen ist vergleichsweise einfach. Sie legen die ausführbare Godot-Datei im selben Verzeichnis wie die project.godot
ab, komprimierst 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 verbreiten, 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 Entwicklungswerkzeuge, 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 auf diesen Geräten zu verteilen, 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. Auch wenn es immer lobenswert ist, sich in unterschiedliche SDKs einzuarbeiten, kann es frustrierend sein, wenn das zu einer ungünstigen Gelegenheit kommt.
Auch kommt eine weitere Problematik mit diesem Ansatz einher: unterschiedliche Geräte verarbeiten bestimmte Daten in unterschiedlichen Formaten. Als prominentes Beispiel dafür steht die Texturkomprimierung. Unter PC-Hardware verwendet man dafür S3TC (BC), welches als der Standard seit über einem Jahrzehnt gilt, doch mobile Geräte verwenden anderweitige Formate für die Texturkomprimierung, wie PVRTC (iOS) oder ETC (Android).
Von der Kommandozeile exportieren¶
In der Produktion ist es nützlich, Builds zu automatisieren, und Godot unterstützt dies mit den Kommandozeilenparametern --export
und --export-debug
. Für den Export über die Befehlszeile ist nach wie vor eine Exportvoreinstellung zur Definition der Exportparameter erforderlich. Ein grundlegender Aufruf des Befehls wäre:
godot --export "Windows Desktop" some_name.exe
This will export to some_name.exe
, assuming there is a preset
called "Windows Desktop" and the template can be found. (The export preset name
must be written within quotes if it contains spaces or special characters.)
The output path is relative to the project path or absolute;
it does not respect the directory the command was invoked from.
The output file extension should match the one used by the Godot export process:
Windows:
.exe
macOS:
.zip
(from all platforms) or.dmg
(only when exporting from macOS)..app
is not supported directly, although the generated ZIP archive contains an.app
bundle.Linux: Any extension (including none).
.x86_64
is typically used for 64-bit x86 binaries.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 der Exportvorgabe weiterhin in der Befehlszeile angegeben werden:
godot --export-pack "Windows Desktop" some_name.pck
It is often useful to combine the --export
flag with the --path
flag, so that you do not need to cd
to the project folder before running
the command:
godot --path /path/to/project --export "Windows Desktop" some_name.exe
Siehe auch
See Befehlszeilen-Anleitung for more information about using Godot from the command line.
PCK in Vergleich zu ZIP Pack-Dateiformat¶
Jedes Format hat seine Vor- und Nachteile. PCK ist das Standard- und 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 beschreibbar 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 Fehlers, 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 Startskript und legen Sie es im selben Ordner wie die exportierte Binärdatei ab. Erteilen Sie unter Linux dem Startskript mit dem Befehl chmod +x launch.sh
die Berechtigung zur Ausführung.