Pipeline de contenu / chaîne d’outils de développement de jeux?

arotter

Pipeline de contenu / chaîne d’outils de développement de jeux?


Je suis développeur de logiciels dans une société de jeux et nous déployons actuellement des efforts pour améliorer notre chaîne d’outils de création et de gestion d’actifs. Notre idée initiale était de coder notre propre solution à partir de zéro (encore une fois, mais avec une meilleure architecture cette fois ^^) qui répond spécifiquement à nos exigences. Cependant, après avoir fait quelques recherches, je ne suis plus sûr que ce soit la meilleure option.

J’ai cherché des solutions OSS / commerciales similaires (qui semblent généralement s’appeler « Digital Asset Management »), et en ai trouvé quelques-unes, dont beaucoup ont peu d’informations disponibles sur leurs capacités réelles, ou sont hors de notre ligue concernant les prix:

Le principal problème avec ces programmes (à part le manque d’information et de prix mentionné) est qu’ils ne semblent pas tout à fait répondre à nos exigences. Ils semblent très bien fonctionner pour les sociétés de type conseil / agence, qui ont par exemple un ensemble d’images dont ils ont besoin pour rechercher / filtrer et fournir dans différentes tailles et formats, ou des productions de films [d’animation], qui ont un ensemble de scènes qui doivent être examinés et révisés jusqu’à ce qu’ils soient acceptés.

Cependant, notre entreprise aurait besoin de quelque chose qui soit capable de gérer bien plus que cela. Nous aurions besoin d’un outil capable de réellement traiter les actifs dans le cadre de notre pipeline de développement de jeux (soit directement, soit via des plugins, ou en appelant d’autres programmes sur la ligne de commande). Par exemple, un artiste modifie une texture, télécharge la texture, puis l’outil exécute automatiquement un certain ensemble de transformations prédéfinies sur la texture et la compresse dans plusieurs formats différents pour différentes plates-formes cibles.

Nos exigences sont (dans aucun ordre particulier, toutes sont fondamentalement tout aussi importantes):

  • Cibles et formats multiples (traitement d’un fichier source, avec différentes transformations, pour différentes plateformes – par exemple fichier as3 + texture compressée ATF pour la cible Flash et fichier plist + texture compressée CCZ pour la cible Cocos2D-X)
  • Traitement scripté / séquencé (par exemple, remplacer une certaine couleur par une autre couleur, puis redimensionner l’image, puis exporter dans certains formats)
  • Constructions partielles (traiter uniquement certains fichiers, créer une sortie pour certaines plates-formes uniquement)
  • Extensibilité (gérer de nouveaux formats de fichiers, autoriser de nouvelles transformations, …)
  • Traitement du son (recompresser avec un débit binaire différent, générer des sprites audio, encoder en OGG / MP3)
  • Détection d’erreurs (fichiers manquants, formats d’entrée incorrects, extensions incorrectes, profondeur de bits incorrecte, étapes de transformation invalides, …)
  • Peut être utilisé par des non-programmeurs (n’a pas besoin d’avoir une interface graphique ultra sophistiquée, mais une utilisation normale ne devrait pas non plus être un enfer de paramètres CLI)
  • Intégration CI / CD (peut être intégré dans les travaux de génération Jenkins; il nécessite au moins une interface de ligne de commande, mais une tâche ANT ou un plugin Maven serait préférable)

Agréable à avoir:

  • Détection de changements / déclencheurs (de préférence avec des sommes de contrôle / hachages en plus des horodatages, les modifications apportées à un fichier peuvent déclencher une construction [partielle] des actifs modifiés)
  • Gestion des dépendances (gérer les dépendances entre par exemple les maillages et les textures, dessiner des graphiques de dépendances)
  • Qualité de sortie flexible (par exemple, une qualité de compression inférieure pour les builds de développement afin de réduire le temps de build)

Existe-t-il déjà des outils, que je n’ai pas encore découverts, qui satisfont (certains | beaucoup | la plupart) à ces exigences? Quelqu’un a-t-il travaillé avec l’un des outils que j’ai énumérés ci-dessus et peut-il commenter ses capacités et si / comment il fonctionnerait pour nous (en particulier FocusOPEN)? Ou nos exigences sont-elles si exotiques / spéciales qu’une solution personnalisée est le seul moyen possible?

Réponses


 

/, #de, chaîne, contenu, d’outils, Développement, jeux, Pipeline

 

elle.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *