Les coûts de productivité cachés qui perturbent vos délais de publication

Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.
Combien de fois au cours du mois dernier avez-vous dû abandonner ce que vous faisiez et passer à l'action pour résoudre un problème urgent qui nécessite une solution immédiate ? L’un des pièges les plus courants dans le développement de jeux est de laisser de petites inefficacités apparemment sans conséquence se transformer en problèmes plus importants.
Lorsque votre état de flux est interrompu plusieurs fois par jour, qu'il s'agisse d'attendre le téléchargement d'un fichier de projet ou de résoudre un autre conflit de fusion, c'est à ce moment-là que les choses commencent à passer entre les mailles du filet. Les bugs commencent à s'infiltrer dans votre code. Les cycles de déploiement s'allongent. Les nuits blanches deviennent la norme. À chaque faux pas, les frictions s’accumulent et se font bientôt sentir dans toute l’équipe. La frustration grandit, le moral commence à faiblir et il est clair que la façon de faire de votre studio ne fonctionne tout simplement pas.
La mise en œuvre de solutions DevOps peut vous aider à briser ce cycle chaotique. Avec les bons processus en place, vous et tous les membres de votre équipe pouvez passer moins de temps à changer de tâche et retrouver la concentration dont vous avez besoin pour produire votre meilleur travail. Des principes de fonctionnement bien définis et un ensemble d’outils appropriés améliorent la collaboration et accélèrent les cycles de déploiement. Lancez des jeux soignés et stables dans les délais et avec une qualité irréprochable, encore et encore, tout en minimisant les crunchs.
Unity a travaillé avec d'innombrables développeurs et studios de jeux au fil des ans, et de nombreux experts de notre équipe sont eux-mêmes des développeurs de jeux. D'après notre expérience, les systèmes de contrôle de version (VCS) constituent la base d' un DevOpsefficace, mais ils peuvent également constituer l'un des plus gros problèmes des studios. Ce n'est pas une coïncidence.
Dans cet e-book, nous avons recueilli les points de vue de nos équipes produit et ingénierie sur trois des pièges les plus courants en matière de contrôle de version qui empêchent les studios de faire ce qu'ils font le mieux : créer. Lisez la suite pour découvrir les pièges cachés de la productivité qui perturbent vos délais de publication et comment les solutions VCS comme le composant Version Control d' Unity DevOps peuvent vous aider à vous remettre sur la bonne voie.
Problème n°1 : Développement parallèle
La situation: Un projet, plusieurs flux de travail
À moins que vous ne soyez une équipe composée d’une seule personne, plusieurs membres travailleront sur le même projet. Avoir des mains supplémentaires peut évidemment vous aider à évoluer rapidement, mais cela peut aussi ralentir les choses.
Le développement parallèle se produit lorsque différents membres de l'équipe travaillent dans plusieurs branches, avec la possibilité de les fusionner ultérieurement. Les codeurs travaillent généralement de cette manière, tandis que les artistes ont tendance à travailler sur une seule branche avec des verrous car ils traitent des fichiers et des ressources individuels.
Le coût : Un temps que tu ne récupéreras jamais
L’impact sur la productivité est ici évident et immense : Des tonnes de temps perdu.
Le coût en productivité lié au fait de devoir refaire le travail, de résoudre les conflits de fusion, de retrouver les fichiers perdus ou d'attendre de télécharger les modifications que vous aviez déjà validées auparavant entraîne des cycles de publication plus lents, des conflits internes entre les membres de l'équipe et l'incapacité de corriger rapidement les bugs que les utilisateurs trouvent dans le jeu.
Le problème: Perte d'emploi et conflits internes
Même si l'utilisation d'un VCS par un développeur de jeu solo présente un avantage, elle est tout simplement essentielle lorsque l'on travaille avec plusieurs membres de l'équipe.
L'absence de contrôle de version peut rapidement conduire à une situation où les développeurs écrasent le code des autres, ce qui entraîne une perte de travail et beaucoup de frustration. Cependant, même l’utilisation d’outils VCS courants crée aujourd’hui des problèmes pour les équipes de développement de jeux.
Par exemple, si toute l'équipe utilise Git, l'un des scénarios les plus courants est que certains membres de l'équipe moins techniques, comme les artistes, n'auront pas une compréhension complète de l'outil. Il devient très facile pour eux de perdre des modifications, surtout sans la possibilité de verrouiller les fichiers. Et comme le système n’est pas transparent et facile à suivre, on s’appuie souvent trop sur les développeurs pour résoudre les problèmes, ce qui entraîne encore plus de pertes de travail.
En raison de l'incapacité de Git à verrouiller les fichiers, de nombreuses équipes de développement de jeux utilisent Perforce pour s'en tenir à un seul système et à une seule source de vérité. Toutefois, les développeurs peuvent être insatisfaits de la vitesse et des performances de l'approche « flux de tâches » de Perforce en matière de ramification et de fusion. Cela peut ajouter une couche supplémentaire de complexité à un processus déjà complexe, en particulier lors de la mise en place d’une intégration continue. La plupart des créateurs avec lesquels nous discutons disent qu'ils n'essaieraient même pas le développement basé sur les tâches avec Perforce. Ce n’est tout simplement pas un flux de travail idéal.

Goodbye Volcano High, par KO_OP
La solution: Organisation cohérente du projet
Le fait d'avoir des règles claires pour des choses comme l'organisation des fichiers et de s'assurer qu'elles sont largement socialisées permet à votre équipe de travailler en harmonie.
Je recommande également de choisir un VCS qui convient à tous les membres de votre équipe. Par exemple, les artistes devraient pouvoir contribuer au projet de manière indépendante, sans dépendre des programmeurs. En mettant en œuvre un système de contrôle de version facile à utiliser pour tout le monde, apporter des modifications aux fichiers de projet devient un processus moins intimidant.
Le studio montréalais KO_OP a dû faire face à l'asymétrie et aux problèmes de communication entre les artistes et les programmeurs lors de la création de son jeu Goodbye Volcano High. Découvrez comment ils ont résolu les problèmes de blocage de progression en mettant en œuvre le bon VCS.
Problème n°2 : Outils et silos redondants
La situation: Différents rôles, différents outils
Les équipes U commencent généralement avec une solution de contrôle de version unique, puis passent à plusieurs systèmes après avoir rencontré des problèmes. À la base, les développeurs et les artistes ont besoin de flux de travail différents car ils travaillent avec du code plutôt qu’avec des binaires. En conséquence, les équipes auront des artistes travaillant à partir d’un outil tel que Perforce, tandis que les développeurs travailleront à partir de GitLab ou GitHub.
Le coût : Deux fois plus de travail sans récompense
Dans le développement de jeux, chaque seconde est nécessaire pour itérer et tester rapidement de nouvelles idées. Bien que plusieurs outils de contrôle de version soient souvent adoptés pour résoudre les problèmes de perte de temps tels que les conflits de synchronisation ou de fusion, ils peuvent souvent aggraver ces problèmes ou créer d'autres pertes de temps. Par exemple, ils peuvent augmenter le temps consacré à la création de nouveaux processus ou flux de travail sans intégrations bilatérales, ou le coût financier de la maintenance de deux systèmes.
Le problème: Plus de flux de travail, plus de problèmes, plus de maintenance
Pour expliquer plus en détail, une équipe démarre généralement soit avec Perforce, soit avec Git (par exemple, GitLab/ GitHub), et gère les difficultés que chaque flux de travail unique crée. Dans Perforce, ils perdent la possibilité de travailler de manière distribuée et avec des branches éphémères. Avec Git, ils rencontrent des problèmes de stockage de fichiers en raison du travail distribué. Les équipes peuvent utiliser Git Large File Storage (LFS) pour garantir qu'une seule version du binaire est stockée sur la machine, mais cela se fait au détriment de la vitesse et d'un flux de travail déroutant qui prétend être centralisé mais ne l'est pas.
Les studios rencontrent deux problèmes courants lorsqu’ils utilisent plusieurs solutions. La première consiste à maintenir deux types de technologies de contrôle de version pour le projet, ce qui inclut généralement des flux de travail ou des processus fastidieux pour intégrer les deux. Le deuxième est centré sur la connaissance et la formation. Avec deux systèmes très différents, vous avez besoin d'experts dans les deux cas pour aider à débloquer un créateur ou une équipe entière lorsque quelque chose ne va pas.

Crying Suns, de Alt Shift
La solution: Évaluez et optimisez votre chaîne d'outils
Idéalement, vous souhaiteriez que tous les actifs soient gérés et versionnés dans le même système de contrôle de version, avec des flux de travail adaptés aux différents besoins de votre équipe.
Il est important d’examiner vos processus et vos outils, puis de décider s’ils fonctionnent vraiment pour votre studio.
Cela permettrait à votre studio d’éviter bon nombre de ces maux de tête courants liés à la nécessité de créer des pipelines disparates pour transférer des ressources d’une équipe à l’autre.
Nous recommandons un seul VCS capable de gérer plusieurs flux de travail ou doté d'intégrations robustes entre les systèmes, pour permettre de suivre qui travaille sur quoi et les dernières versions de chaque ressource.
Commencez par découvrir ce qu’il faut prendre en compte lors de l’évaluation des systèmes de contrôle de version.
Problème n°3 : Trop gros pour s'engager
La situation: Les fichiers de projet nécessitent des mises à jour fréquentes
Travailler avec des fichiers volumineux et des binaires est l’un des éléments uniques de la création d’un jeu, mais cela peut entraîner des problèmes de contrôle de version. Disons que vous êtes un développeur travaillant avec Git et que vous essayez de vérifier votre code. Pour ce faire, vous devez d’abord mettre à jour votre espace de travail avec les dernières modifications apportées par les autres membres de l’équipe (c’est l’équivalent de tirer et de pousser).
Le coût : Encore plus de temps perdu
Le temps passé à attendre le téléchargement des mises à jour est du temps perdu. Ce temps s’additionne. Un système plus rapide permet à vos équipes de se concentrer sur l’accomplissement de leurs tâches sans que les outils ne bloquent les projets.
Le problème: Perturbations du flux de travail
Certains systèmes de contrôle de version sont extrêmement lents lorsqu'il s'agit de travailler avec des binaires volumineux. Imaginez à quel point cela peut être frustrant de devoir attendre cinq minutes entre le moment où vous cliquez sur « Mettre à jour » et le moment où vous vous enregistrez et pouvez enfin continuer votre vie.
Dans le développement de jeux, il faut aller vite. Si la mise en œuvre des changements dans le jeu ou la réponse aux bugs dus à des inefficacités prend trop de temps au tout début du pipeline, ces problèmes ne feront que s’aggraver par la suite.
De nombreux studios utilisent des solutions comme Perforce ou Git LFS pour résoudre les problèmes liés aux ressources binaires volumineuses, mais chacun d'entre eux comporte les mêmes compromis décrits à gauche.

Return to Nangrim, de Sycoforge
La solution: Utiliser le contrôle de version basé sur les fichiers
Le choix d’un VCS basé sur des fichiers peut considérablement accélérer le travail.
Avec un système comme celui-ci, les contributeurs peuvent télécharger uniquement les fichiers sur lesquels ils doivent apporter des modifications, au lieu de l'ensemble du projet. C'est beaucoup plus rapide et plus sûr, mais vous devez vous assurer que tout le monde organise ses fichiers de la même manière pour que cela soit vraiment efficace.
Réfléchissez à l’avance lorsque vous choisissez votre solution de contrôle de version, car cela peut vous éviter bien des maux de tête par la suite. Les jeux deviennent de plus en plus grands et complexes : plus tôt vous mettrez en œuvre le bon système de contrôle de version, mieux vous serez préparé pour un succès durable.
Découvrez l'approche de Sycoforge en matière de développement itératif avec son jeu Return to Nangrim et comment Unity Version Control les a aidés à s'adapter à la portée croissante de leur projet.
Version Control Unity pour le développement de jeux
Le contrôle des versions est fondamental pour DevOps, mais c'est également une source centrale de conflit pour les studios de jeux, et il n'existe pas beaucoup de solutions qui fonctionnent vraiment pour chaque contributeur. Le Version Control d' Unity DevOps est particulièrement bien placé pour aider les développeurs de jeux précisément parce qu'il résout ces problèmes de perte de temps. Voici comment il se compare à la concurrence.

Développement parallèle
Faciliter efficacement le développement parallèle est indispensable, et chaque membre de l’équipe peut avoir des préférences différentes. Les outils basés sur Git tels que GitHub, GitLab ou BitBucket font partie des systèmes de contrôle de version les plus populaires, en particulier auprès des développeurs. En raison de la popularité de Git, les utilisateurs auront accès à une quantité importante d'améliorations utilisateur, d'intégrations et d'interopérabilité. Cependant, à mesure que la taille de l'équipe et du projet augmente, de nombreux studios de jeux plus grands et AAA utilisent une solution de flux de travail centralisée comme Perforce pour mieux s'adapter aux artistes et aux utilisateurs non techniques tout en gérant de gros actifs binaires.
En raison de ses capacités robustes de ramification et de fusion pour les développeurs et de la possibilité de travailler de manière centralisée et de verrouiller les fichiers pour les artistes, un système comme Unity Version Control peut aider. Si vous travaillez dans l'éditeur Unity , l'intégration transparente de Version Control avec l' Unity UI encourage la collaboration.
Outils et silos redondants
Bien que les artistes et les programmeurs puissent généralement avoir des préférences différentes quant à la manière dont ils utilisent le contrôle de version, il est important de connaître les avantages et les inconvénients d'une correction excessive dans un sens ou dans l'autre. Surtout lorsque l’on travaille à distance, disposer d’un système unique de contrôle de version et d’une « source de vérité » peut aider à éliminer de nombreuses frustrations et pertes de temps liées à la maintenance de plusieurs pipelines différents.
Même avec leurs différentes forces et faiblesses, de nombreux systèmes tels que GitHub, Perforce, ou même Dropbox ou Google Drive peuvent être configurés pour s'adapter à votre flux de travail. Recherchez des intégrations ou des extensions pour aider à réduire certains des problèmes de collaboration, ou optez pour un système unique conçu pour toutes les parties.
Unity Version Control prend en charge le travail avec un référentiel unique dans différents modes. Cette fonctionnalité vous offre la puissance de plusieurs flux de travail sans les tracas liés à la maintenance et à la connexion de deux systèmes différents.
Dans Unity Version Control, un artiste peut utiliser l'interface utilisateur Gluon pour travailler avec le référentiel en mode centralisé, simulant ainsi le même style de travail avec une solution comme Perforce. Un développeur peut utiliser l'interface utilisateur par défaut pour travailler avec le référentiel comme dans un mode distribué, simulant ainsi le même flux de travail qu'une solution basée sur Git comme GitHub ou GitLab.

Trop gros pour s'engager
Le développement de jeux implique de travailler sur de grands projets. À mesure que votre studio évolue, le système de gestion du contrôle des sources doit également pouvoir évoluer.
Bien que le modèle distribué de Git n'ait pas été conçu pour un cas d'utilisation de développement de jeux, il existe plusieurs extensions conçues pour permettre à Git de gérer les fichiers binaires plus facilement, Git-LFS étant le plus utilisé. Cependant, Git n'a pas été conçu pour gérer les ressources artistiques, c'est pourquoi d'autres solutions comme Perforce sont souvent implémentées dans les grands studios.
Unity Version Control est la solution la plus performante du marché en matière de gestion de fichiers volumineux, ce qui est idéal pour le développement de jeux. Il réduit considérablement les temps d’arrêt en attendant le chargement des fichiers. Unity Version Control peut être jusqu’à 5 à 8 fois plus rapide que d’autres solutions. Vous utilisez toujours le même contenu, mais vous n'attendez plus un téléchargement de cinq minutes plusieurs fois par jour. Au lieu de cela, vous obtenez ce dont vous avez besoin en quelques secondes.
Créer sans compromis
Unity Version Control est spécialement conçu pour le développement de jeux, prenant en charge les artistes et les développeurs dans les studios de toutes tailles. Il offre aux artistes des flux de travail basés sur des fichiers et une interface utilisateur intuitive, tout en incluant une ramification et une fusion robustes pour les programmeurs afin de garantir que tous les utilisateurs bénéficient d'une collaboration améliorée et d'une agilité d'itération.
Unity Version Control centralise le travail sans référentiels clonés et prend en charge les fichiers et référentiels volumineux avec des transferts de données rapides et optimisés pour le WAN. Son outil de workflow Gluon permet aux membres de l'équipe les moins enclins à la technique d'appliquer facilement tous les protocoles de contrôle de version.
Accélérez vos flux de travail et développez votre chaîne d'outils DevOps avec Unity DevOps. Créez sans compromis et travaillez efficacement pour arriver sur le marché à temps, avec la qualité que vous attendez. Commencez gratuitement dès aujourd'hui.
Obtenez l'e-book
Remplissez ce formulaire pour accéder aux informations et solutions de pointe des experts du secteur

