Exporter des projets¶
Pourquoi exporter ?¶
A l'origine, Godot n'avait aucun moyen d'exporter des projets. Les développeurs compilaient les binaires appropriés et construisaient les paquets pour chaque plate-forme manuellement.
Lorsque plus de développeurs (et même des non-programmeurs) ont commencé à l'utiliser, et quand notre société a commencé à prendre plus de projets en même temps, il est devenu évident qu'il s'agissait d'un goulot d'étranglement.
Sur PC¶
Distribuer un projet de jeu sur PC avec Godot est assez facile. Déposez le binaire Godot dans le même répertoire que le fichier project.godot
, puis compressez le répertoire du projet et vous avez terminé.
Cela semble simple, mais il y a probablement quelques raisons pour lesquelles un développeur peut ne pas vouloir le faire. La première est qu'il peut ne pas être souhaitable de distribuer des quantités de fichiers. Certains développeurs peuvent ne pas aimer que les utilisateurs curieux jettent un coup d'œil à la façon dont le jeu a été créé, d'autres peuvent simplement le trouver inélégant, etc. Une autre raison est que le développeur peut préférer un binaire spécialement compilé, qui est de taille plus petite, plus optimisé et n'inclut pas d'outils comme l'éditeur et le débogueur.
Enfin, Godot dispose d'un système simple mais efficace pour créer des DLCs en tant que fichiers de paquets supplémentaires.
Sur mobile¶
Le même scénario sur les plates-formes mobiles est légèrement pire. Pour distribuer un projet sur ces appareils, un binaire pour chacune de ces plates-formes est construit, puis ajouté à un projet natif avec les données du jeu.
Cela peut être gênant car cela signifie que le développeur doit se familiariser avec le SDK de chaque plate-forme avant même de pouvoir exporter. Bien que l'apprentissage de chaque SDK soit toujours encouragé, il peut être frustrant d'être forcé de le faire à un moment non désiré.
Il y a aussi un autre problème avec cette approche. Les différents appareils préfèrent certaines données dans des formats différents. L'exemple principal est la compression de texture. Tout le matériel PC utilise la compression S3TC (BC), standardisée depuis plus d'une décennie, mais les appareils mobiles utilisent des formats différents pour la compression de texture, tels que PVRCT (iOS) ou ETC (Android).
Exporter à partir de la ligne de commande¶
En production, il est utile d'automatiser les builds, et Godot le supporte avec les paramètres de ligne de commande --export
et --export-debug
. L'exportation à partir de la ligne de commande nécessite toujours un modèle d'exportation pour définir les paramètres d'exportation. Une invocation basique de l'exportation serait :
godot --export "Windows Desktop" some_name
Ceci exportera vers some_name.exe
, en supposant qu'il y a un preset appelé "Windows Desktop" et que le modèle puisse être trouvé. Le chemin de sortie est relatif au chemin du projet ou absolu. Il ne respecte pas le répertoire à partir duquel la commande a été invoquée.
Vous pouvez également le configurer pour exporter uniquement le fichier PCK ou ZIP, ce qui permet d'utiliser une seule exportation avec plusieurs exécutables Godot. Ceci se produit si le nom de la cible se termine par .pck
ou .zip
.
Il est souvent utile de combiner le drapeau --export
avec le drapeau --path
et de créer un modèle d'exportation dédié pour l'exportation automatisée :
godot --path path/to/project --export "pck" game_name.pck
Formats de fichiers PCK contre ZIP pack¶
Chaque format a ses avantages et ses inconvénients. PCK est le format par défaut et recommandé pour la plupart des cas d'utilisation, mais vous pouvez utiliser une archive ZIP à la place selon vos besoins.
Format PCK :
- Format non compressé. Taille de fichier plus importante, mais plus rapide à lire/écrire.
- Non lisible et éditable à l'aide d'outils normalement présents sur le système d'exploitation de l'utilisateur, même s'il existe des outils tiers pour extraire et créer des fichiers PCK.
Format ZIP :
- Format compressé. Taille de fichier plus petite, mais plus lent à lire/écrire.
- Lisible et éditable à l'aide d'outils normalement présents sur le système d'exploitation de l'utilisateur. Cela peut être utile pour faciliter le modding (voir aussi Exporter des packs, des patchs, et des mods).