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.

Exportování projektů

Proč exportovat?

Godot původně neměl žádné prostředky pro export projektů. Vývojáři museli zkompilovat správné binární soubory a sestavit balíčky pro každou platformu ručně.

Když jej začalo používat více vývojářů (a dokonce i neprogramátorů) a když naše společnost začala vyvíjet více projektů najednou, bylo zřejmé, že se jedná o úzké místo.

Na PC

Distribuce herního projektu na PC pomocí Godotu je poměrně snadná. Vložte binární soubor Godot do stejného adresáře jako soubor project.godot, pak adresář projektu zkomprimujte a je hotovo.

Zní to jednoduše, ale pravděpodobně existuje několik důvodů, proč to vývojář nechce udělat. Prvním z nich je, že nemusí být žádoucí distribuovat spoustu souborů. Některým vývojářům se nemusí líbit, že zvědaví uživatelé nahlížejí do toho, jak hra vznikala, jiným to může připadat neelegantní atd. Dalším důvodem je, že vývojář může dát přednost speciálně zkompilované binární verzi, která je menší, optimalizovanější a neobsahuje nástroje, jako je editor a debugger.

A konečně, Godot má jednoduchý, ale účinný systém pro vytváření DLC jako dodatečných souborů balíčků.

Na mobilním zařízení

Stejný scénář na mobilních platformách je o něco horší. Pro distribuci projektu na těchto zařízeních je třeba vytvořit binární soubor pro každou z těchto platforem a poté jej přidat do nativního projektu spolu s herními daty.

To může být problematické, protože to znamená, že se vývojář musí seznámit s SDK každé platformy ještě předtím, než je schopen exportovat. I když se vždy doporučuje naučit se jednotlivé SDK, může být frustrující, když je k tomu nucen v krátkém čase.

There is also another problem with this approach: different devices prefer some data in different formats to run. The main example of this is texture compression. All PC hardware uses S3TC (BC) compression and that has been standardized for more than a decade, but mobile devices use different formats for texture compression, such as ETC1 and ETC2.

Nabídka Export

Po mnoha pokusech o různé pracovní postupy exportu se tento osvědčil nejlépe. V době psaní tohoto článku ještě nejsou podporovány všechny platformy, ale jejich počet pozvolna narůstá.

Nabídku exportu otevřete kliknutím na tlačítko Export:

../../_images/export.png

Otevře se nabídka exportu. Bude však zcela prázdná. Je to proto, že musíme přidat předvolbu exportu.

../../_images/export_dialog.png

Chcete-li vytvořit předvolbu exportu, klikněte na tlačítko Přidat... v horní části nabídky exportu. Tím se otevře rozevírací seznam platforem, z nichž lze předvolbu exportu vybrat.

../../_images/export_preset.png

Výchozí volby jsou často pro export dostačující, takže jejich úprava obvykle není nutná. Mnoho platforem však pro funkční export vyžaduje instalaci dalších nástrojů (SDK). Godot navíc potřebuje k vytvoření balíčků nainstalované exportní šablony. Nabídka exportu si bude stěžovat, pokud něco chybí, a nedovolí uživateli exportovat pro danou platformu, dokud to nevyřeší:

../../_images/export_error.png

V té době se od uživatele očekává, že se vrátí k dokumentaci a bude postupovat podle pokynů, jak tuto platformu správně nastavit.

Šablony pro export

Kromě nastavení platformy je pro export projektů třeba nainstalovat šablony pro export. Lze je získat jako soubor TPZ (což je přejmenovaný archiv ZIP) na stránce stahování na webových stránkách.

Po stažení je lze nainstalovat pomocí možnosti Manage Export Templates v editoru:

../../_images/exptemp.png

Možnosti zdrojů

Při exportu vytvoří Godot seznam všech souborů k exportu a poté vytvoří balíček. Existují 3 různé režimy exportu:

  • Exportovat včechny zdroje tohoto projektu

  • Exportovat vybrané scény (a závislosti)

  • Exportovat vybrané zdroje (a závislosti)

../../_images/expres.png

Exportovat všechny zdroje v projektu vyexportuje všechny zdroje v projektu. Funkce Exportovat vybrané scény a Exportovat vybrané zdroje vám zobrazí seznam scén nebo zdrojů v projektu a vy musíte vybrat každou scénu nebo zdroj, který chcete exportovat.

../../_images/expselected.png

Poznámka

Files and folders whose name begin with a period will never be included in the exported project. This is done to prevent version control folders like .git from being included in the exported PCK file.

Below the list of resources are two filters that can be setup. The first allows non resource files such as .txt, .json and .csv to be exported with the project. The second filter can be used to exclude every file of a certain type without manually deselecting every one. For example, .png files.

Configuration files

The export configuration is stored in two files that can both be found in the project directory:

  • export_presets.cfg: This file contains the vast majority of the export configuration and can be safely committed to version control. There is nothing in here that you would normally have to keep secret.

  • .godot/export_credentials.cfg: This file contains export options that are considered confidential, like passwords and encryption keys. It should generally not be committed to version control or shared with others unless you know exactly what you are doing.

Since the credentials file is usually kept out of version control systems, some export options will be missing if you clone the project to a new machine. The easiest way to deal with this is to copy the file manually from the old location to the new one.

Exportování z příkazového řádku

Při produkci je užitečné automatizovat sestavení a Godot to podporuje pomocí parametrů příkazového řádku --export a --export-debug. Export z příkazového řádku stále vyžaduje předvolbu exportu, která definuje parametry exportu. Základní volání příkazu by bylo následující:

godot --export "Windows Desktop" some_name.exe

Tím se provede export do souboru nějaké_jméno.exe za předpokladu, že existuje předvolba s názvem "Windows Desktop" a šablonu lze nalézt. (Název předvolby exportu musí být zapsán v uvozovkách, pokud obsahuje mezery nebo speciální znaky). Výstupní cesta je relativní k cestě projektu nebo absolutní ; nerespektuje adresář, ze kterého byl příkaz vyvolán.

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

Můžete jej také nakonfigurovat tak, aby exportoval pouze soubor PCK nebo ZIP, což umožní použít jeden exportovaný soubor hlavního balíčku více spustitelnými soubory Godot. Přitom je třeba na příkazovém řádku ještě zadat název předvolby exportu:

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

Často je užitečné kombinovat příznak --export s příznakem --path a vytvořit speciální předvolbu exportu pro automatický export , abyste před spuštěním příkazu nemuseli cd do složky projektu:

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

Viz také

See Kurz příkazového řádku for more information about using Godot from the command line.

Formáty souborů PCK versus ZIP pack

Každý formát má své výhody a nevýhody. PCK je výchozí a doporučený formát pro většinu případů, ale v závislosti na vašich potřebách můžete místo něj použít archiv ZIP.

Formát PCK:

  • Nekomprimovaný formát. Větší velikost souboru, ale rychlejší čtení/zápis.

  • Nelze číst ani zapisovat pomocí nástrojů, které jsou běžně dostupné v operačním systému uživatele, přestože existují nástroje třetích stran <https://github.com/hhyyrylainen/GodotPckTool>`__ pro extrakci a vytváření souborů PCK.

ZIP Formát:

  • Komprimovaný formát. Menší velikost souboru, ale pomalejší čtení/zápis.

  • Čitelné a zapisovatelné pomocí nástrojů běžně dostupných v operačním systému uživatele. To může být užitečné pro usnadnění tvorby tzv. módů (viz také Export balíčků, záplat a modů).

Varování

Kvůli známé chybě se při použití balíčku ve formátu ZIP neprovede automatické načtení balíčku exportovanou binárkou. Proto je nutné vytvořit spouštěcí skript, kterým může hráč, poklepáním nebo z terminálu, rozběhnout celý projekt:

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

Uožte spouštěcí skript a umístěte jej do stejné složky jako exportovanou binárku. V systému Linux se ujistěte pomocí příkazu chmod +x launch.sh, že skript spouštěče má oprávnění ke spuštění .