What you will get from this page: Tips on maintaining a stable and flexible build to save yourself time and money. Get pointers on using version control, utilizing your changelists, clean cheat functionality, bug tracking and more
After years of shipping large titles with even larger teams, typical AAA studios know how to keep their productions on track and maintain a clean and stable build. Sascha Gundlach, from MetalPop Games, highlights how independent game developers can adapt the AAA approach to their own production.
With a clean build, it’s easy to change or add things, as well as maintain and debug features. Overall, you’ll be able to develop your game faster and more efficiently.
Les avantages d'une compilation propre
Conserver une compilation propre et stable aura de nombreux avantages à long terme :
- Vous lancerez des jeux stables avec moins de bugs.
- Vous gagnerez du temps de production grâce à un nombre réduit de bugs et à une base de code plus propre.
- Vous réduirez les risques de « casser » la compilation.
- Vous créerez plus facilement des versions de démonstration et des compilations spéciales.
Les pratiques de compilation des studios AAA ne sont pas toutes adaptées pour les équipes indépendantes. Il existe cependant de nombreuses méthodes gratuites (ou presque), pouvant être implémentée par des équipes de toutes tailles, pour conserver une compilation propre et stable.
Même si vous développez en solo, ces conseils vous aideront à conserver une compilation plus propre et plus saine de votre jeu.
Utiliser le contrôle de version
Malgré les systèmes de contrôle de version (VCS) disponibles gratuitement, les équipes utilisent encore aujourd'hui des dossiers partagés ou Dropbox pour collaborer. Développer sans contrôle des versions revient un peu à conduire sans mettre sa ceinture. Une ceinture n'est pas toujours confortable et restreint un peu vos mouvements, mais si vous foncez dans un arbre à toute vitesse, elle vous sauvera la vie.
Vous ne pouvez pas vous permettre de perdre du travail, quelle que soit la taille de votre équipe. Le piratage d'un compte Dropbox ou un disque dur défaillant ne devraient pas vous faire perdre des jours ou des semaines de travail.
De nombreuses solutions gratuites sont d'ores et déjà disponibles. Perforce, Git et SVN proposent tous des versions gratuites. Et avec Unity Teams directement intégré à Unity, tout devient encore plus simple.

Utiliser vos listes de modifications
En plus de la sécurité, les VCS fournissent des listes de modifications qui vous offriront une vue d'ensemble des changements effectués. L'image ci-dessus représente l'historique d'un dossier Perforce répertoriant toutes les modifications.
Même si la plupart des systèmes ne vous obligent pas à décrire chaque modification apportée, il est judicieux de le faire en détail.
En outre, il est plus facile de créer les notes de correctif et d'autres documents similaires quand vous commencez à utiliser des préfixes de ce genre pour vos modifications :
- !B : correctif de bug
- !V : modification ou amélioration visuelle
- !G : modification d'expérience de jeu
- !X : modification à ignorer dans les notes de correctif
Lorsque vous soumettez des modifications dans votre VCS et les décrivez en utilisant des préfixes, vous pouvez ensuite exécuter un script pour chaque entrée, puis effectuer un tri afin d'obtenir des notes de correctif propres et claires.
Une soumission propre dans votre VCS doit ressembler à ceci :
« !V Augmentation de l'effet des particules d'explosion »
« !B Correction d'un crash survenant en ramassant une arme »
« !G Les kits de soins donnent désormais plus de points de santé »
Si vos entrées sont claires et détaillées, vous pourrez plus facilement les compiler en notes de correctif quand vous en aurez besoin. Cette approche est beaucoup plus efficace que de parcourir vos modifications récentes pour identifier ce que vous devriez inclure dans vos notes de correctif.

Avoir de bonnes pratiques de compilation
Il est primordial que tous les membres de votre équipe connaissent les bonnes pratiques de base en matière de compilation. Voici les cinq principales pour conserver une compilation propre.
- Pas de code qui casserait la compilation
Si vous savez que quelque chose ne fonctionne pas, ne l'intégrez pas. Si la fonctionnalité sur laquelle vous travaillez n'est pas terminée mais que vous devez l'intégrer, désactivez-la ou mettez vos modifications en attente pour ne pas nuire au travail des autres membres de l'équipe. Vos collègues ne doivent pas se retrouver bloqués par une compilation endommagée parce que vous avez intégré du code dysfonctionnel.
- Pas de raccourcis clavier codés en dur
L'ajout de raccourcis personnalisés pour certains codes de triche ou certaines fonctionnalités de débogage peut s'avérer pratique. « Autant utiliser F12 comme touche de triche pour obtenir de l'argent. Personne n'appuiera dessus, de toute façon. Si ? »
Le danger, quand vous codez en dur une fonctionnalité de ce genre, c'est que vous pouvez facilement l'oublier. Vous pourriez finir par la publier avec votre jeu, ou vos testeurs pourraient l'activer sans le vouloir et polluer ainsi vos rapports de bugs.
- Marquer tout code dysfonctionnel ou manquant
Parfois, un piratage s'impose. Que vous le vouliez ou non, vous allez devoir ajouter des contournements dans votre code à un moment ou à un autre. Quand ce sera le cas, faites bien attention à les marquer dans votre code avec des mots-clés faciles à retrouver. Indiquez les contournements avec //HACK, ou les morceaux de code manquants avec //ÀFAIRE. Vous pourrez ainsi les retrouver et les remplacer plus facilement par la suite.
- Spam du journal
Consigner des éléments dans votre code est utile et peut vous aider à retracer l'origine de problèmes. Toutefois, vous devez régulièrement vider le spam de votre journal afin que les erreurs et avertissements importants ne soient pas noyés sous la masse. À moins que vous ne soyez en train de travailler sur une fonctionnalité, votre console devrait être aussi propre et aussi vide que possible afin que vous puissiez voir immédiatement toute nouvelle évolution.
- Noms de fichiers et conventions de dénomination
Votre compilation finira par compter des centaines voire des milliers de fichiers. Il est donc très important d'établir une convention de dénomination claire.
Lorsque vous commencez un nouveau projet, prenez le temps d'établir des conventions de dénomination qui vous parlent, et forcez-vous à les respecter. Si vous commencez à avoir des noms comme testtexturetestFinal01.png ou backup22.fbx dans votre compilation, vous aurez vite du mal à vous y retrouver.
Vérifiez et nettoyez régulièrement votre projet en corrigeant les noms de fichiers inappropriés.
Voici quelques conseils rapides :
-
Utilisez des noms descriptifs
ComportementBoutonAttaque.cs plutôt que BtnAtq.cs -
Utilisez les conventions de capitalisation camelCase ou PascalCase
nomdefichierillisible.cs est plus difficile à lire que MonNomDeFichierPropre.cs -
Utilisez des traits de soulignement pour séparer les mots dans vos noms de fichiers.
MaisonBois_Bleue, MaisonBois_Verte, etc.

Garder les fonctionnalités de triche propres
Vous aurez sans cesse besoin de déboguer et de tricher en développant votre jeu. Vous pourriez vouloir passer à un autre niveau, vous attribuer plus d'argent, vous rendre invulnérable, faire apparaître plus d'ennemis, etc.
Vous pourriez ajouter ces codes de triche quand vous en avez besoin et les supprimer quand vous avez terminé, mais il est préférable d'avoir un moyen propre d'activer et de désactiver ce genre de fonctionnalité.
Même pour des petits projets, cela vaut la peine de créer un menu de débogage/de triche facile à utiliser. Idéalement, il vous faut quelque chose qui puisse être activé et désactivé facilement par vos développeurs, et qui donne accès à toutes les options de triche et de débogage habituelles.
Vous minimiserez ainsi le risque de sortir accidentellement votre jeu avec les codes de triche intégrés. En outre, centraliser votre code de triche permet de garantir que tout fonctionne et peut évoluer sans problème.
Autre point positif de cette approche : faire tricher vos développeurs devient beaucoup plus rapide, ce qui vous fera gagner du temps de production au quotidien. Ouvrir une fenêtre de débogage claire et conviviale avec un seul bouton est bien plus rapide que de coder des valeurs en dur dans vos scripts.

Gérer et suivre les bugs
Votre jeu aura des bugs. Tous les jeux ont des bugs, et le vôtre ne fera pas exception. La question à se poser, c'est comment s'en occuper.
Le flux de production pour gérer efficacement les bugs est plutôt simple : votre service d'assurance qualité (QA) commence par trouver les bugs et à les saisir dans le système de suivi. Il les assigne ensuite à vos développeurs, qui les corrigent et les marquent comme résolus. Pour finir, votre équipe de QA vérifie les problèmes et les marquent eux aussi comme résolus. Un processus simple en trois petites étapes, n'est-ce pas ?
Attendez... Vous n'avez pas de service de QA ? Vos développeurs sont aussi vos testeurs ?
Pas d'inquiétude : bien gérer les bugs tient à peu de choses.
Commencez par identifier tous vos bugs. Cette étape n'est pas difficile, même si vous travaillez en solo.
Choisissez un logiciel de suivi de bugs (il en existe des tas, gratuits ou presque) et configurez-le. Si vous pensez qu'il est inutile d'installer un logiciel, vous pouvez aussi utiliser un fichier Excel ou juste un calepin sur votre bureau. Cela n'a pas vraiment d'importance. Ce qui est important, c'est d'avoir un endroit centralisé où répertorier et suivre les problèmes. Une fois votre système de suivi en place, il s'agit de faire preuve de discipline. Une compilation pleine de bugs ralentit la production et peut même créer de nouveaux problèmes.
Voici quelques conseils rapides pour ne pas vous laisser submerger par les bugs :
Le vendredi, c'est chasse aux bugs
Dédier le dernier jour de la semaine à l'éradication des bugs est un excellent moyen de conserver une compilation saine. Chaque vendredi, plutôt que travailler sur de nouvelles fonctionnalités, tout le monde s'attelle à la liste des bugs. Avec cette approche, vous êtes sûr de commencer la semaine de travail suivante avec une compilation stable et sans bug.
Ne procrastinez pas
Si vous commencez à crouler sous les bugs, envisagez de laisser vos nouvelles fonctionnalités de côté un moment et concentrez-vous plutôt à stabiliser la compilation pour revenir à une situation normale.
Ne passez pas votre temps à sauver les meubles
Si beaucoup de bugs réapparaissent, essayez de déterminer leur origine. Une partie spécifique de votre pipeline de création de niveaux cause-t-elle systématiquement des problèmes ? Votre méthode d'analyse des valeurs d'expérience de jeu depuis vos fichiers .xml est-elle régulièrement inefficace ?
Si vous identifiez un système qui cause constamment des problèmes, vous avez intérêt à le reconstruire plutôt que de passer votre temps à résoudre les complications qu'il génère.
Avec toutes ces bonnes pratiques et conseils à l'esprit, tout dépend maintenant de la discipline dont vous ferez preuve et de l'attention que vous porterez à l'état de votre compilation. Vous pouvez combiner et associer ces suggestions comme bon vous semble et les appliquer à votre production indépendante. Le temps passé à garder votre compilation en bon état n'est jamais du temps perdu.