Table des matières

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 :

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:

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 :

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 :

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 :

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.