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).

Menu d’exportation

Après de nombreuses tentatives de différents flux d’exportation, le flux actuel s’est avéré être le plus efficace. Au moment d’écrire ces lignes, toutes les plates-formes ne sont pas encore prises en charge, mais les plates-formes prises en charge continuent de croître.

Pour ouvrir le menu d’exportation, cliquez sur le bouton « Exporter » :

../../../_images/export.png

Le menu d’exportation s’ouvrira, mais il sera complètement vide. C’est parce que nous avons besoin d’ajouter un préréglage d’exportation.

../../../_images/export_dialog.png

Pour créer un préréglage d’exportation, cliquez sur le bouton Ajouter… en haut du menu d’exportation. Cela ouvrira une liste déroulante de plates-formes parmi lesquelles choisir pour un préréglage d’exportation.

../../../_images/export_preset.png

Les options par défaut sont souvent suffisantes pour l’exportation, il n’est donc pas nécessaire de les modifier. Cependant, de nombreuses plates-formes nécessitent l’installation d’outils supplémentaires (SDK) pour pouvoir exporter. De plus, Godot a besoin de modèles d’exportation installés pour créer des paquets. Le menu d’exportation se plaindra lorsqu’il manque quelque chose et ne permettra pas à l’utilisateur d’exporter pour cette plate-forme tant que cela ne sera pas résolu :

../../../_images/export_error.png

À ce moment-là, l’utilisateur doit revenir à la documentation et suivre les instructions sur la façon de configurer correctement cette plate-forme.

Exporter des modèles

En dehors de la configuration de la plate-forme, les modèles d’exportation doivent être installés pour pouvoir exporter des projets. Ils peuvent être obtenus sous la forme d’un fichier .tpz (un fichier .zip renommé) à partir de la page de téléchargement du site Web.

Une fois téléchargés, ils peuvent être installés à l’aide de l’option « Installer des modèles d’exportation » dans l’éditeur :

../../../_images/exptemp.png

Mode d’exportation

Lors de l’exportation, Godot fait une liste de tous les fichiers à exporter et crée ensuite le paquet. Il existe 3 modes différents pour l’exportation :

  • Exporter chaque fichier situé dans le projet
  • Exporter uniquement les ressources (+ filtre personnalisé), c’est le mode par défaut.
  • Exporter uniquement les ressources sélectionnées (+ filtre personnalisé)
../../../_images/expres.png
  • Exporter tous les fichiers - Ce mode exporte tous les fichiers du projet. Ceci est bien pour tester si quelque chose a été oublié, mais les développeurs ont souvent beaucoup de choses sans rapport dans le répertoire de dev, ce qui en fait une mauvaise idée.
  • Exporter seulement les ressources - Seules les ressources sont exportées. Pour la plupart des projets, c’est suffisant. Cependant, de nombreux développeurs aiment utiliser des fichiers de données personnalisés dans leurs jeux. Pour compenser cela, des filtres peuvent être ajoutés pour des extensions supplémentaires (comme .txt,.csv, etc.).
  • Exporter uniquement les ressources sélectionnées - Seules les ressources sélectionnées dans une liste sont exportées. C’est probablement exagéré pour la plupart des projets, mais dans certains cas, c’est justifié (généralement des projets de grande envergure). Ce mode offre un contrôle total de ce qui est exporté. Les ressources individuelles peuvent être sélectionnées et la détection des dépendances est effectuée pour s’assurer que tout ce qui est nécessaire est ajouté.
../../../_images/expselected.png

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.

You can also configure it to export only the PCK or ZIP file, allowing a single export to be used with multiple Godot executables. This takes place if the target name ends with .pck or .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