Bien que je n'en sois pas sûr à 100%, je crois me rappeler que ma décision de reprendre en main le codage des guildes date des environs d'octobre 2006, soit près de 18 mois après leur suppression et le tout pour une durée de mise en place de 9 mois. Autant le reconnaître tout de suite, c'est énorme !

Essayons d'analyser un peu pourquoi cela a pris tant de temps.

L'existant

Une des choses qui n'est pas forcément transparente de prime abord est le fait que la remise en place des guildes n'était pas une correction de l'ancienne version défaillante mais bien une création "from scratch". En effet lors de la décision de relancer ce gros morceau, je me tournai vers le grand manitou des codeurs et cela donna :

Je > je vais reprendre le codage des guildes
manitou > soit.
je > bon, où est l'existant ?
manitou > à la poubelle, repart de 0.
je > ah et on a même pas un petit exemple de ce qu'il y avait avant ? Je ne m'en souviens plus moi.

Voilà déjà qui risquait de ne pas me simplifier la tâche, cela induisait dessin des nouvelles tables, modification des existantes, et un brin d'imagination. Et aussi une ou deux semaines.

Le codage

9 mois ...
Bon ok c'est énorme, mais comme on le répète souvent sur les forums / irc et autres, on a notre vie personnelle qui parfois prend le pas sur le reste. Je crois que j'aurais difficilement pu faire plus rapidement. En effet une petite analyse de l'avancement du codage des guildes montre une pause de 4 mois, immédiatement suivie d'une autre d'un mois et demi. Périodes pendant lesquelles je déménageai de quelques 1200km, changeai de taf et autres joyeusetés. D'aucuns se rappelleront du jour où fièrement j'arrivai sur irc pour dire que je re-reprenais le codage des guildes, qu'il ne me restait plus qu'une manip à faire pour svn et hop... A peine ma phrase terminée, mon portable claquait... 1 nouveau mois et demi d'attente se profilait.

Voilà qui déjà explique une large part du délai. De plus coder pour Nainwak s'apparente parfois à faire un rite vaudou bizarre et compliqué, que l'on doit pratiquer tous les jours sous peine de l'oublier. Vous touchez à un truc, ça interagit avec 12000 petites choses dont vous ignoriez jusqu'à l'existence... Simple.

Je vous fais cadeau ici des affres du développement, bug, features non voulues, choix à faire parfois entre fonction et performance... J'estime qu'une fois ôtées les différentes latences non dues au code lui même, le codage des guildes s'est plutôt bien et rapidement passé, 3 ou 4 mois de code, avec les tests et le reste, ça me semble tout à fait raisonnable.

Les tests

La personne la moins apte à tester une application en général, est celle qui l'a créée. On connaît son fonctionnement, on sait où cliquer pour que ça marche, on ne se trompe pas dans son utilisation.
En conséquence et sur une appli comme Nainwak destinée à être utilisée par une large communauté de joueurs (quand même pas loin de 4000), outre (comme je l'ai énoncé plus haut) les performances, il s'agit de s'assurer que cela marche bien, que l'on ne peut pas l'exploiter pour tricher ce genre de petites choses. Et pour cela il nous faut une charmante équipe de béta testeurs, dont toutes les contraintes de temps viendront s'ajouter à celles du développeur... Un vrai bonheur!

La mise en place

Ça y est ! Vous êtes prêt, vous pensez le code finalisé, les éléments prévus pour la première release sont finis, la partie administration est prête également (et oui il ne faut pas l'oublier!), il reste à mettre en place...

Et ici cela reprend rapidement quelques jours/semaines de plus, en l'occurrence, cela a voulu dire pour les guildes, trouver une soirée ou le grand manitou et moi étions tous deux disponibles et au taquet. cela a pris deux semaines et grand bien nous en a pris, car le mise en place a été relativement houleuse, preuve s'il en est que les phases de tests ne sont jamais suffisantes.

En conclusion

Les guildes de Nainwak n'ont jamais été considérées comme un élément secondaire, elles étaient d'ailleurs tracées comme priorité majeure, mais cela n'est pas suffisant, elles sont un élément important du jeu et à ce titre influent sur beaucoup d'éléments du code, d'un autre côté, je ne voulais pas les relancer sans y apporter un plus par rapport à l'ancienne version... Bref ca ne pouvait pas être pris à la légère ni avant, ni pendant le codage.

Et maintenant, la suite... Ceci fait, j'ai encore des améliorations à y apporter, des idées à y ajouter... Et aussi commencer à chercher et mettre en œuvre un nouveau chantier...