[NWN2] Compte-rendu de l'E3 de Maximus (2ème partie)

Répondre
Partager Rechercher
Citation :
Publié par Simkim
Je ne suis toujours pas convaincu...

Je vais expliquer mon point de vue par un exemple. On a une équipe de 5 personnes qui sont Chef (il centralise et intègre tout), MappeurA, MappeurB, ScripteurA et ScripteurB.

Version sans Source Safe :
MappeurA fait ses 50 cartes et les envoies au fur et à mesure ou toutes en même temps à Chef qui les intègre dans le module.
MappeurB fait ses 50 cartes et les envoies au fur et à mesure ou toutes en même temps à Chef qui les intègre dans le module.
ScripteurA fait ses 50 scripts et les envois au fur et à mesure ou toutes en même temps à Chef qui les intègre dans le module.
ScripteurB fait ses 50 scripts et les envois au fur et à mesure ou toutes en même temps à Chef qui les intègre dans le module.

Version avec Source Safe :
MappeurA fait ses 50 cartes et les intègre directement dans le module.
MappeurB fait ses 50 cartes et les intègre directement dans le module.
ScripteurA fait ses 50 scripts et les intègre directement dans le module.
ScripteurB fait ses 50 scripts et les intègre directement dans le module.

Au final chacun aura mit autant de temps à faire son travail que ce soit avec Source Safe ou sans Source Safe (les mappeurs vont pas mapper plus vite et les scripteurs vont pas scripté plus vite). La différence est juste que les mappeurs et scripteurs auront directement mit leur travail dans le module si Source Safe est disponible. Il y a juste suppression de l'intégration et de l'envoie des éléments au l'intégrateur. C'est un gain plutôt négligeable de temps et la productivité n'est en rien améliorée.

Là où il y aurait eu un gain non négligeable c'est si certaines contraintes faisaient que l'intégration est longue et délicate. Par exemple si tu as une base de données et que tu travailles directement dessus, tu ne devrais pas avoir trop de bizarreries. Par contre, si tu essais de construire une base de données à partir de 4-5 bases tu vas t'amuser... Dans NWN on n'a pas trop ce problème là.
Pour avoir déjà travaillé (ou du moins essayé) en équipe, je peux dire tout de suite que la première proposition prend énormément plus de temps et demande beaucoup plus de travail sur un gros projet.

Tout d'abord, il faut prendre en compte les temps d'envois (Rien que pour renvoyer les versions mises à jour du module à chaque membre de l'équipe une fois que l'intégration a été faite, si le module fait plusieurs dizaines de Mo ça prend un peu de temps, tout le monde n'a pas une connexion très haut débit).
Autre point a ce sujet, chaque membre de l'équipe est obligé d'attendre les versions mises à jour avant de pouvoir commencer autre chose, tout le monde est dépendant de ce que font les autres et de leur rapidité car bien souvent les scripts d'un même module sont interdépendants (Il suffit que l'on mette en place un système un peu sophistiqué pour la gestion des quêtes et autres pour que tout dialogue ou toute quêtes nécessite d'avoir la dernière version de la bibliothèque gérant ce système).

Deuxieme point, si le Chef est indisponible, toute mise à jour se retrouve gelée. C'est très ennuyeux.

Troisieme point, lorsque l'équipe dépasse les 4-5 personnes, le boulot d'intégration du Chef devient absolument monstrueux. S'il est un minimum rigoureux, il doit vérifier que tous le contenu fourni soit conforme au guide de style demandé (S'il ne le fait pas, le module va devenir une véritable usine à gaz très difficile à contrôler au moindre bug). Donc passer en revue tout ce qu'on lui envoie... Et, en plus de cela, il va devoir mettre les mains dans le cambouis pour intégrer tous les scripts qu'on lui a refilé entre eux et avec les scripts déjà existants. Qu'il s'agisse d'une mise à jour d'une librairie, de systèmes nécessitant un préchargement au lancement du module ou d'autres choses agissant sur un peu tous les scripts et cela devient un véritable enfer ou il va passer plusieurs jours à tout faire fonctionner ensemble (C'est du vécu... )

Bref, tout ça pour dire qu'une méthode pour que tous les membres travaillent sur les dernières versions des fichiers, avec un temps de synchronisation très rapide (il suffit simplement de mettre à jour les fichiers modifiés) permet non seulement de libérer le chef de projet de son travail de titan (et donc lui donner la possibilité de contribuer lui aussi à l'amélioration du module plutôt que de passer son temps à faire des intégrations) mais aussi d'accelérer le développement en supprimant les temps nécessaires à une mise à jour. Même si un des développeurs a du retard, les autres ne sont pas obligés d'attendre qu'il ai fini et que le module soit à jour pour reprendre leur travail.

PS : Evidement ce n'est pas toujours aussi imbriqué, les Mappeurs sont parfois beaucoup plus libres vis à vis des Scripteurs par ex, mais parfois non, et entre Scripteurs, c'est certainement beaucoup plus rare.
Je ne suis pas trop d'accord avec les points que tu soulèves.

Je ne vois pas pourquoi tu envois les différentes mises à jour aux membres de l'équipe vu qu'ils n'en ont pour la plupart absolument pas besoin pour travailler. Si je fais 50 zones et que je te les envois 5 par 5, je n'ai pas besoin de recevoir la dernière version du module avec les zones ajoutées (d'ailleurs je n'ai même pas besoin du module de base pour faire mes zones tant qu'elles n'utilisent pas d'objet spécifiques au module, et puis même dans ce cas il suffit de m'envoyer juste ces objets là). Pour les scripts, c'est un peu pareil sauf si on aime tester le script dans le gros module qui met 3h à s'ouvrir (personnellement, pour les tests de script je suis plutôt partisan du petit module très léger qui ne contient que le strict minimum).

Même avec Source Safe le problème d'attente continuera à se poser. Si je m'occupe de mettre les monstres sur les zones, je ne peux rien faire tant que les zones ne sont pas finies. Et si je m'amuse à mettre les monstres sur une zone qui est en cours de construction, je pense pas que le mappeur appréciera.
Pour les scripts c'est pareil, tant que l'autre scripteur n'a pas terminé son script je suis bloqué, et ce n'est pas Source Safe qui le fera allé plus vite. Source Safe me permettra de consulter son script mais s'il est pas finit et surtout plein de bugs, je crois pas que ce soit une bonne idée que je commence à travailler dessus.

La disponibilité du Chef peut aussi poser problème avec Source Safe en fonction des droits associés à chacun. S'il n'y a qu'une seule personne qui est autorisé à valider les ajouts, les modifications et les retours en arrière, l'absence de cette personne sera préjudiciable.

Le problème de l'intégration se posera toujours. Soit le chef valide chaque élément et il doit donc les vérifier, soit tout le monde peut valider chaque élément mais il faudra quand même que le chef passe derrière pour les vérifier et pour être sûr que tout le monde respecte ce qui est demandé.

A partir du moment où tu es dépendant du travail des autres, il n'y aura aucun logiciel qui te permettra d'aller plus vite (si les zones à remplir n'arrivent que dans 6 mois, elles n'arriveront que dans 6 mois quel que soit le logiciel utilisé). Et à partir du moment où ton travail est indépendant des autres, il n'y aura pas vraiment de logiciel qui te fera aller plus vite (tu n'as pas besoin des autres donc tu commences immédiatement même si les autres n'ont pas finit leur travail, pas besoin d'attendre les zones ou le script d'artisanat pour faire le script de la mort).

Peut-être que je changerais d'avis en utilisant Source Safe sur NWN2 mais pour le moment je ne vois pas comment il pourrait résoudre la plupart des problèmes évoqués qui à mon sens sont plutôt indépendant du logiciel utilisé.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés