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.
Checking the stable version of the documentation...
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.
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:
.exemacOS:
.appo.zip(o.dmgquando si esporta da macOS)Linux: qualsiasi estensione (inclusa nessuna).
.x86_64è in genere utilizzato per gli eseguibili x86 a 64 bit.HTML5:
.zipAndroid:
.apkiOS:
.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.