Collaborer sur khanat-sound-source
Ce dépôt concerne la création des éléments sonores qui serviront en jeu. Nous y concevons donc tous les fichiers qui seront ensuite passés au pipeline pour fournir les éléments nécessaires au système de jeu selon ses spécifications.
Nous y conservons les versions finales des fichiers qui ont servi à créer le résultat, dans le format nécessaire au pipeline. Mais nous y stockons également les versions préparatoires de façon à en faciliter l'éventuelle déclinaison ou transformation à l'avenir.
N'hésitez donc pas à y déposer les dossiers Ardour, les banques de son etc. qui pourraient être réutilisées par la suite.
Le workflow de travail
Créez toujours une Issue avant de commencer une tâche qui n'y est pas référencée.
Cela permet de suivre le travail en vérifiant si une branche Git avec ce numéro existe, de façon à éviter de refaire du travail déjà commencé.
Avoir un dépôt sur lequel travailler
Mise en place d'un dépôt personnel (fork)
Pour commencer, il vous faudra forker le dépôt principal : khanat-sound-source. Ainsi, vous aurez votre propre dépôt, sur lequel vous pourrez effectuer vos modification sans interférer avec le dépôt principal.
Pour cela, il vous suffit de clique sur le bouton suivant sur la page d’accueil du projet.
Vous serrez alors redirigé vers votre copie du dépôt.
Travailler directement sur le dépôt principal
Si vous êtes un développeur “officiel” chez nous, vous aurez accès au dépôt principal sur notre GitLab : khanat-sound-source.
Vous n'aurez pas à créer un dépôt personnel (sauf si vous en avez envie) pour pouvoir contribuer, il vous suffira de travailler sur des branches en interne.
Le dépôt et ses branches
Khanat utilise un workflow simplifié.Les branches principales sont :
- Branche Master : Branche stable, qui contient toutes les données sonores qui servent au jeu, ainsi que les fichiers source.
- Branche feature/XXX_nom_de_la_feature : Branche contenant des données qui répondront à l'Issue XXX, en cours de travail.
Les branches feature, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommées de la façon suivante:
- Branche Feature : Doit être nommée “feature/[numéro(s) de(s) (l')issue][nom de la feature sans espaces ni ponctuation]”
- Exemple : “feature/17_pendo_sounds”
Organisation des dossiers et fichiers
Chaque dossier est numéroté en fonction de l'Issue à laquelle il répond, avec un nom descriptif. À l'intérieur de chacun de ces dossiers, il suffit d'avoir un répertoire /_final
pour les .wav destinés au système de jeu et un autre /work
pour les fichiers qui on servi à les créer. À l'intérieur de ces deux répertoires, on peut organiser comme on veut.
Tant que le travail est en cours, accoler le suffixe _wip
à son répertoire principal. Lorsque le travail est terminé, le dernier commit doit ôter ce suffixe.
Les fichiers .wav dans le répertoire /_final
doivent impérativement :
- être en .wav
- être en 16-bits PCM
- avoir un nombre pair d'échantillons
Publication d'une feature
Une fois que vous considérez la feature que vous avez développé terminé, vous pouvez créer une Merge Request, à destination de Master. Cette requête doit respecter ces impératifs :
- La Merge Request doit clairement expliquer comment elle répond à la feature
Gestion des Merge Request
Lorsqu'on a terminé une Feature, il faut faire une demande de Merge Request en expliquant en quoi la tâche est terminée et l'affecter à une autre personne même si on a la capacité de merger directement.
Cela permettra d'avoir un contrôle, ne serait-ce que formel, sur l'ajout.
On ne merge jamais soi-même directement sur Master.
Gestion des Issues
De préférence à la la base TAF, créez les demandes de travaux sonores sur le système Gitlab de ce dépôt.
De même, avant de commencer une tâche, créez une Issue que vous vous attribuez, comme ça vous pouvez numéroter la branche correctement et on sait que quelqu'un a commencé à travailler sur ce sujet.
Cela peut concerner des créations sonores pour l'interface, de la musique, des bruits d'objets, d'environnement ou pour une créature.
Les travaux à faire, modifications de fichier, créations, doivent être indiqués en se servant du système d'Issues de ce dépôt : Issue sur Khanat-sound-source
Il suffit de cliquer sur :
Vous renseignez ensuite les différents champs.
Le titre doit être concis et le plus explicite possible.
Par contre, n'hésitez pas à être le plus précis possible dans la zone Description.
Il y a ensuite 3 zones de champs à renseigner :
- Assignee pour indiquer la personne à qui affecter la tâche ;
- Milestone qui désigne la version du projet pour laquelle ce travail devra être fait ;
- Labels permet de choisir des tags pour déterminer le genre de tâche ;
- Select due date propose de fixer une date de remise des travaux.
Dans le doute, n'indiquez rien dans ces quatre champs. De toute façon, tout est éditable a posteriori donc ce n'est pas grave si vous faites des erreurs ou n'êtes pas assez précis.
Gestion des Milestones
On se servira des mêmes milestones que pour les autres dépôts et secteurs de développement du projet, présentés sur la page milestones.
Gestion des Tags
Nous n'utilisons pas de Tags sur ce dépôt Git pour le moment.
Gestion des Labels
Les Labels doivent être génériques et concerner de préférence un type technique de son (environnement, créature, musique…) et permettre ainsi de regrouper par genre de compétence. Il est possible d'en créer lors de la génération d'une Issue si aucune ne convient mais cela peut être fait par la suite, surtout quand on est indécis.