Comment Sycoforge favorise l'idéation et l'itération rapides

L'adoption d' Unity Version Control accélère le développement de Return to Nangrim, réunissant programmeurs et artistes pour augmenter les commits de plus de 300 %.
Sycoforge : Une étude de cas sur le Version Control Unity
Comment un studio indépendant axé sur l'art peut-il garantir un contrôle de version cohérent à partir d'une communauté disparate et hautement distribuée de contributeurs créatifs ? Sycoforge était plongé dans un projet transmédia ambitieux qui comprenait Return to Nangrim, un RPG d'aventure soutenu par des composants multimédias et linguistiques sophistiqués. Cependant, leur système de contrôle de version (VCS) existant était un outil de programmation. Il n'a pas été conçu pour servir le côté créatif du développement de jeux, et Sycoforge avait besoin d'un changement.

Unifier l'ensemble de l'environnement de développement de jeux avec VCS
Le modèle de développement unique de Sycoforgeintègre les commentaires réguliers d'une communauté mondiale de développeurs, d'artistes et de joueurs. La plupart des VCS sont complexes, conçus pour les ingénieurs et non conçus pour les fichiers volumineux et les binaires prêts à l'emploi. Pour concrétiser leur vision d’un développement axé sur la communauté, une itération rapide était essentielle. Sycoforge avait besoin d'une solution robuste qui serve également ses artistes et les membres non techniques de son équipe. Une adoption rapide et large était essentielle pour réaliser leur vision, et ils ont trouvé leur solution élégante dans Unity Version Control d' Unity DevOps (anciennement connu sous le nom de Plastic SCM).
Les résultats
- Augmentation des commits de 300 % et rendu les conflits de fusion insignifiants
- Migré de Bitbucket vers Unity Version Control à mi-projet en moins d'une semaine
- Les artistes ont le pouvoir de prendre le contrôle de leur propre version sans surcharger les développeurs

Imaginer un univers fantastique
Les étudiants en ingénierie Michela Rimensberger et Ismael Wittwer ont passé beaucoup de temps à l'université à jouer à des jeux de simulation, en particulier dans les mondes fantastiques de la bataille pour la Terre du Milieu . Inspirés de construire leur propre réalité alternative, les deux se lancent dans une quête ambitieuse.
Ils voulaient créer un jeu avec des langues, des cultures, des cartes, des clans et d'autres détails uniques pour un jeu de fantasy entièrement nouveau, en constante évolution et autonome : l'univers Arafinn. Pour concrétiser ce projet, les deux hommes, désormais respectivement PDG et CTO, ont fondé en 2017 Sycoforge à Zurich.
Retour à Nangrim est le premier chapitre de ce qui sera une saga de l'histoire d'Arafinn. Un jeu d'aventure fantastique sombre à la première personne se déroulant principalement dans une ville de montagne naine, le jeu embrasse le riche mystère de la Terre du Milieu de Tolkien. Mais c’est bien plus qu’un jeu. Les linguistes de Sycoforge ont créé plusieurs langues arafinn, et l'idée originale s'est transformée en une riche collection transmédia de livres d'histoires interactifs et narrés, une carte du monde multimédia en vue satellite, un roman et même des bandes dessinées.

Surmonter la perte de données, les conflits de fusion et les blocages de temps de chargement lents
La guilde des joueurs est un élément essentiel du flux de travail de développement agile de Sycoforge, fournissant un retour quasi immédiat sur le contenu expérimental et le gameplay. Pour gérer le contrôle des versions sur ce réseau, Sycoforge utilisait un référentiel de code source basé sur Git conçu principalement pour les programmeurs.
Cependant, l’art d’Arafinn est, en un mot, immense. Cela signifiait que leur VCS devait constamment gérer les actualisations de fichiers graphiques jusqu'à plusieurs gigaoctets en plus des modifications de code basées sur du texte. Le processus était à la fois lent et difficile, et la facilité d’utilisation (ou son absence) était le facteur décisif.
« Avec tout ce que vous enregistrez dans le cloud, si quelqu'un travaille sur le même fichier que quelqu'un d'autre, vous aurez probablement des problèmes », explique Rimensberger. « En ce qui concerne le code, dont le développement et la maintenance prennent du temps, nous ne pouvons pas nous permettre de perdre des données. »


Rééquilibrage entre le temps de dépannage et le temps de création
Avec Git, l’équipe technique perdait du temps à dépanner l’outil et à résoudre les conflits de fusion plutôt qu’à développer le jeu, et cela créait de l’anxiété au sein de l’équipe. Les gens avaient peur de s'engager au cas où ils casseraient quelque chose, et étaient frustrés lorsqu'ils attendaient que d'énormes modifications du dépôt soient chargées.
« La nature d'un jeu vidéo, la taille des données – ce n'est tout simplement pas faisable avec Git», explique Rimensberger. « Les fichiers volumineux rendent le travail très difficile et il faut beaucoup de temps pour attendre les modifications locales. »
Environ un an après le début du projet, Sycoforge a décidé que les choses devaient changer. Pour réaliser pleinement la vision de leur jeu, ils devaient expérimenter de nouvelles idées et prendre davantage de risques créatifs. Étant donné que la crainte de perte de données était si élevée lors de l'engagement, leur VCS ne permettait pas l'itération rapide nécessaire pour soutenir pleinement le développement piloté par la communauté. Migrer vers un nouveau VCS en milieu de projet peut s'avérer difficile, mais les avantages de l'utilisation d'un système répondant aux besoins uniques du studio en valaient la peine.


S'engager dans le Version Control Unity
« Nous avons examiné plusieurs VCS, mais Unity Version Control était clairement différent », explique Andi Arcaro, programmeur chez Sycoforge. Version Control a été conçu pour permettre la collaboration dans l'ensemble d'un environnement de développement de jeux. Sycoforge a apprécié les deux workflows distincts de Version Control : le workflow développeur complet pour les programmeurs familiers avec les VCS traditionnels, et Gluon, un mode simplifié et hautement graphique pour les contributeurs moins techniques.
Sycoforge a migré à mi-projet de Git vers Version Control en moins d'une semaine sans pratiquement aucun problème, et cela a eu un effet immédiat sur la production de l'équipe. Les programmeurs ont constaté que cela stimulait la collaboration et les artistes se sentaient renforcés par la gestion de fichiers d'images colossaux. En conséquence, le taux d’engagement de Sycoforge a bondi de plus de 300 %.
«Le Version Control nous aide à essayer des choses plus risquées que nous n'aurions pas faites autrement, car nous pouvons facilement revenir à des données que nous avons déjà stockées », explique Rimensberger. « Lorsque vous travaillez avec Git, vous avez peur de faire un commit car, que se passe-t-il si quelque chose se casse ? Vous n'avez pas cela avec le Version Control. Les gens sont prêts à s’engager plus souvent, ce qui nous permet également de réduire le temps passé à résoudre les conflits de fusion (qui sont désormais pratiquement insignifiants). Même les artistes peuvent résoudre eux-mêmes la plupart des conflits de fusion grâce à l'interface utilisateur de Gluon, car elle est très simple à utiliser. « C'est à toute épreuve et sans faille. »

Trouver une solution schlicht au stress du contrôle des sources
Chaque studio aura ses propres besoins et flux de travail uniques, et le pain et le beurre de Version Control est la flexibilité qu'il offre aux équipes pour adapter l'outil à leurs besoins. Pour ceux qui débutent, l'approche de Sycoforge a consisté à faire en sorte que tout le monde utilise l'interface utilisateur de Gluon - même les programmeurs - et à n'accorder l'accès aux outils professionnels de Plastic qu'aux développeurs seniors et principaux.
Rimensberger décrit Gluon comme schlicht, un mot allemand qui signifie littéralement « simple » mais qui évoque une élégance épurée. « Les fonctionnalités sont toutes là, mais vous n'êtes exposé qu'à ce dont vous avez vraiment besoin à un niveau de base », dit-elle. « Présenter Gluon à tout le monde vous facilite la vie, et ceux qui ont besoin de toutes les fonctionnalités peuvent les utiliser. »
Pour une petite équipe travaillant avec de nombreux freelances, cette approche est celle qui leur convient le mieux. En offrant uniquement l'interface Gluon à la plupart des membres de l'équipe, cela réduit considérablement le support qu'ils devraient autrement fournir s'ils submergeaient la plupart des membres non techniques avec une gamme complète de capacités et de possibilités, uniquement celles dont ils ont le plus besoin. Cela libère leur poignée de développeurs plus expérimentés pour orchestrer le projet en utilisant des fonctionnalités telles que Branch Explorerde Version Control et certains des outils les plus robustes.

Rapprocher l'équipe
Avec Version Control, Sycoforge a renforcé son processus de développement agile, standardisé ses flux de travail et répondu plus rapidement aux commentaires de la communauté. Rimensberger déclare : « Grâce au Version Control, les notifications de validation apparaissent désormais régulièrement dans nos boîtes de réception. C'est la première chose que je consulte le matin. » Cependant, pour Sycoforge, le développement rationalisé n’est qu’un moyen pour parvenir à une fin très gratifiante.
« Le fait que notre communauté ait réellement commencé à parler et à se saluer dans notre langue naine, qu'ils créent de nouveaux mots, qu'ils recherchent des indices et des easter eggs – c'est ce qui récompense notre équipe », explique Rimensberger. « Des étrangers du monde entier se rassemblent dans notre taverne Discord pour boire de la bière naine virtuelle et passer un bon moment. « Construire ce genre de communauté n'est-ce pas exactement ce qu'est le jeu ? »


Créez sans compromis en utilisant Unity DevOps
Unity DevOps de Unity Gaming Services fournit des fonctionnalités VCS et CI/CD basées sur le cloud spécifiquement adaptées aux défis du développement de jeux. Il est conçu pour gérer facilement les fichiers volumineux et les binaires tout en offrant des flux de production spécifiques aux graphistes et aux développeurs.
Prêt à passer à l'étape suivante ? Essayez-le gratuitement.