Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Esportazione di progetti

Perché esportare?

Originariamente, Godot non aveva alcun mezzo per esportare i progetti. Gli sviluppatori compilavano i binari appropriati e creavano i pacchetti per ogni piattaforma manualmente.

Quando sempre più sviluppatori (e anche non programmatori) hanno iniziato a utilizzarlo e quando la nostra azienda ha iniziato ad accettare più progetti alla volta, è diventato evidente che questo fu un collo di bottiglia.

Su PC

Distribuire un progetto di gioco su PC con Godot è piuttosto semplice. Basta copiare l'eseguibile di Godot nella stessa cartella del file project.godot, quindi comprimere la cartella del progetto e detto fatto.

Suona facile, ma ci sono probabilmente diverse ragioni per cui lo sviluppatore potrebbe non volerlo fare. La prima è che potrebbe non essere attraente distribuire grandi quantità di file. Alcuni sviluppatori potrebbero non gradire che utenti curiosi sbircino come è stato realizzato il gioco, altri potrebbero trovarlo poco elegante, e così via. Un altro motivo è che lo sviluppatore potrebbe preferire un eseguibile compilato appositamente, di dimensioni ridotte, più ottimizzato e privo di strumenti come l'editor e il debugger.

Infine, Godot ha un sistema semplice ma efficiente per creare DLC come file di pacchetto in più.

Su dispositivi mobili

Lo stesso scenario sulle piattaforme mobili è un po' peggiore. Per distribuire un progetto su questi dispositivi, viene creato un eseguibile per ciascuna di queste piattaforme, che viene poi aggiunto a un progetto nativo insieme ai dati di gioco.

Ciò può essere problematico perché significa che lo sviluppatore deve familiarizzarsi con l'SDK di ciascuna piattaforma prima ancora di poter esportare. Sebbene imparare a usare ogni SDK sia sempre incoraggiato, può essere frustrante essere costretti a farlo in un momento indesiderato.

C'è anche un altro problema con questo approccio: dispositivi diversi preferiscono che alcuni dati siano in formati diversi per poterli eseguire. L'esempio principale è la compressione delle texture. Tutto l'hardware per PC utilizza la compressione S3TC (BC), standardizzata da oltre un decennio, ma i dispositivi mobili utilizzano formati diversi per la compressione delle texture, come ETC1 ed ETC2.

Menu di esportazione

Dopo numerosi tentativi con diversi flussi di lavoro di esportazione, quello attuale si è dimostrato il migliore. Al momento di scrittura di questa pagina, non tutte le piattaforme sono ancora supportate, ma il numero di piattaforme supportate continua ad aumentare.

Per aprire il menu di esportazione, cliccare sul pulsante Esporta:

../../_images/export.webp

Si aprirà il menu di esportazione. Tuttavia, sarà completamente vuoto. Questo perché dobbiamo aggiungere una preimpostazione di esportazione.

../../_images/export_dialog.webp

Per creare una preimpostazione di esportazione, cliccare sul pulsante Aggiungi… in alto al menu di esportazione. Si aprirà un elenco a discesa di piattaforme tra cui scegliere per una preimpostazione di esportazione.

../../_images/export_preset.webp

Le opzioni predefinite sono spesso sufficienti per l'esportazione, quindi di solito non è necessario aggiustarle. Tuttavia, molte piattaforme richiedono l'installazione di strumenti aggiuntivi (SDK) per poter esportare. Inoltre, Godot richiede l'installazione di modelli di esportazione per creare pacchetti. Il menu di esportazione segnalerà se manca qualcosa e non permetterà all'utente di esportare per quella piattaforma finché non lo risolverà:

../../_images/export_error.webp

A quel punto, è previsto che l'utente torni alla documentazione e segui le istruzioni su come configurare correttamente la piattaforma.

I pulsanti in fondo al menu consentono di esportare il progetto in diversi modi:

  • Esporta tutto: esporta il progetto come build riproducibile (eseguibile Godot e dati del progetto) per tutte le preimpostazioni definite. Per poter funzionare, tutte le preimpostazioni devono avere un Percorso di esportazione definito.

  • Esporta progetto: esporta il progetto come build riproducibile (eseguibile Godot e dati del progetto) per la preimpostazione selezionata.

  • Esporta PCK/ZIP: esporta le risorse del progetto come pacchetto PCK o ZIP. Questa non è una build riproducibile, esporta solo i dati del progetto senza un eseguibile Godot.

Modelli di esportazione

Oltre alla configurazione della piattaforma, per poter esportare i progetti è necessario installare i modelli di esportazione. Sono disponibili come file TPZ (un archivio ZIP rinominato) dalla pagina di download del sito web.

Una volta scaricati, si possono installare attraverso l'opzione Installa modelli di esportazione nell'editor:

../../_images/export_templates.webp

Opzioni di risorse

All'esportazione, Godot crea un elenco di tutti i file da esportare e poi crea il pacchetto. Esistono 5 diverse modalità di esportazione:

  • Esporta tutte le risorse nel progetto

  • Esporta le scene selezionate (incluse le dipendenze)

  • Esporta le risorse selezionate (incluse le dipendenze)

  • Esporta tutte le risorse nel progetto tranne le risorse selezionate di seguito

  • Esporta come server dedicato

../../_images/export_resources.webp

Esporta tutte le risorse nel progetto esporterà tutte le risorse nel progetto. Esporta scene selezionate ed Esporta risorse selezionate forniscono un elenco delle scene o delle risorse nel progetto, e sarà necessario selezionare ogni scena o risorsa che si desidera esportare.

../../_images/export_selected.webp

Esporta tutte le risorse nel progetto eccetto quelle selezionate di seguito fa esattamente ciò che dice: tutto verrà esportato tranne ciò che è selezionato nell'elenco.

Esporta come server dedicato rimuoverà tutti gli elementi visivi da un progetto e li sostituirà con un segnaposto. Questo include Cubemap, CubemapArray, Material, Mesh, Texture2D, Texture2DArray, Texture3D. È anche possibile accedere all'elenco dei file e specificare le risorse visive specifiche che si desidera mantenere.

Nota

I file e le cartelle i cui nomi iniziano con un punto non saranno mai inclusi nel progetto esportato. Questo per evitare che cartelle di controllo versione come .git siano incluse nel file PCK esportato.

Sotto l'elenco delle risorse sono presenti due filtri configurabili. Il primo consente di esportare file risorsa non di tipo .txt, .json e .csv con il progetto. Il secondo filtro serve per escludere tutti i file di un certo tipo senza deselezionarli manualmente. Ad esempio, i file .png.

File di configurazione

La configurazione di esportazione è memorizzata in due file, entrambi reperibili nella cartella del progetto:

  • export_presets.cfg: questo file contiene la maggior parte della configurazione di esportazione e si può tranquillamente inviare al controllo versione. Non contiene nulla che normalmente si dovrebbe tenere segreto.

  • .godot/export_credentials.cfg: Questo file contiene opzioni di esportazione considerate riservate, come password e chiavi di crittografia. In genere, non si dovrebbe inviare al controllo versione o condiviso con altri, a meno che non si sappia esattamente cosa si sta facendo.

Poiché il file delle credenziali è solitamente escluso dai sistemi di controllo versione, alcune opzioni di esportazione risulteranno mancanti se si clona il progetto su una nuova macchina. Il modo più semplice per risolvere ciò è copiare manualmente il file dalla vecchia posizione a quella nuova.

Esportare dalla riga di comando

In produzione, è utile automatizzare le build, e Godot lo supporta con i parametri della riga di comando --export-release e --export-debug. L'esportazione dalla riga di comando richiede comunque una preimpostazione di esportazione per definire i parametri di esportazione. Un'invocazione basilare del comando sarebbe:

godot --export-release "Windows Desktop" some_name.exe

Questo esporterà in some_name.exe, supponendo che esista una preimpostazione chiamata "Windows Desktop" e che il modello si possa trovate. (Il nome della preimpostazione di esportazione deve essere scritto tra virgolette se contiene spazi o caratteri speciali.) Il percorso di output è relativo al percorso del progetto o assoluto; non rispetta la cartella da cui è stato invocato il comando.

L'estensione del file risultante dovrebbe corrispondere a quella utilizzata dal processo di esportazione di Godot:

  • Windows: .exe

  • macOS: .app o .zip (o .dmg quando si esporta da macOS)

  • Linux: qualsiasi estensione (inclusa nessuna). .x86_64 è in genere utilizzato per gli eseguibili x86 a 64 bit.

  • HTML5: .zip

  • Android: .apk

  • iOS: .zip

You can also configure it to export only the PCK or ZIP file, allowing a single exported main pack file to be used with multiple Godot executables. When doing so, the export preset name must still be specified on the command line:

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

Spesso è utile combinare il flag --export-release con il flag --path, in modo da non dover passare alla cartella del progetto tramite cd prima di eseguire il comando:

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

Vedi anche

Consultare Tutorial sulla riga di comando per maggiori informazioni sull'utilizzo di Godot dalla riga di comando.

Formati di file di pacchetto PCK control ZIP

Ogni formato ha i suoi vantaggi e svantaggi. PCK è il formato predefinito e consigliato per la maggior parte dei casi d'uso, ma si potrebbe voler usare un archivio ZIP in alternativa, a seconda delle proprie esigenze.

Formato PCK:

  • Formato non compresso. File di dimensioni maggiori, ma più veloce in lettura/scrittura.

  • Non leggibile e scrivibile tramite gli strumenti normalmente presenti nel sistema operativo dell'utente, nonostante esistano strumenti di terze parti per estrarre e creare file PCK.

Formato ZIP:

  • Formato compresso. File di dimensioni inferiori, ma più lento in lettura/scrittura.

  • Leggibile e scrivibile tramite gli strumenti normalmente presenti nel sistema operativo dell'utente. Ciò può essere utile facilitare il modding (consultare anche Esportazione di pacchetti, patch e mod).

Avvertimento

A causa di un bug noto, quando si utilizza un file ZIP come file di pacchetto, l'eseguibile esportato non tenterà di utilizzarlo automaticamente. Pertanto, è necessario creare uno script di avvio su cui il giocatore possa fare doppio clic o eseguire da un terminale per avviare il progetto:

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

Salvare lo script di avvio e posizionarlo nella stessa cartella dell'eseguibile esportato. Su Linux, assicurarsi di assegnare i permessi di esecuzione allo script di avvio tramite il comando chmod +x launch.sh.