Module 100 !

Pas grand-chose de neuf à ce module, quelques ajustements en fonction du baseitems.2da corrigé hier, mais c’est quand même la centième version depuis mars dernier, et un sacré chemin parcouru !

Je repars sur la création de quelques modèles dans Blender, il m’est difficile de continuer la campagne sans disposer de la colline du temple de Syrthe.

Bug du pic résolu

Le fichier baseitems.2da d’althea était en conflit avec celui de la version 1.71 de NWN.

Par exemple, la pioche de mineur, qui est une lance, était un objet de type 87 à l’époque d’Althea, alors qu’au fil des ans le 87 a été ré-alloué. Les lances sont aujourd’hui de type 58 ; cela pouvait provoquer un bug de sac qu’on ne peut plus ouvrir, bug que j’ai renseigné à Beamdog en juillet et auquel il devraient apporter une correction.

En attendant, j’ai détruit la version Althea du baseitems.2da et repris la version 1.71 à laquelle j’ai ajouté les 4 items que j’ai créé pour Myrda (les objets empilables) et dans laquelle j’ai modifié les entrées des casques et boucliers pour augmenter la plage d’apparences disponibles.

Je viens de passer pas mal de temps à essayer de faire fonctionner le transfert de serveurs, sans succès, je me chope systématiquement un Invalid character – Player login refused. You aren’t allowed to use that character, alors que, bien entendu, j’essaie de transférer un perso que je viens de créer exactement sur le serveur qui me le refuse.
J’ai demandé de l’aide sur les forums, si je n’en obtiens pas avant la fin de la semaine, j’introduirai un bug report.

Maisons, fin

Le personnel de maison reçoit désormais la possibilité de porter la livrée du maître.
Le schéma de couleurs du joueur sera ainsi appliqué aux domestiques lorsqu’il rentrera chez lui.
Ce droit est révocable.

J’ai terminé les routines d’animation du personnel :

  1. Les PNJS sont capables de franchir aussi bien une porte simple entre deux pièces qu’une porte de transition qui peut mener n’importe où.
  2. Les PNJs sont capables de passer une porte, même de transition, dans un sens comme dans l’autre.
  3. Les PNJs franchissent avec la même facilité les portes fermées que les portes ouvertes, qu’ils refermeront.
  4. Les PNJs sont capables de franchir les portes intermédiaires qui les mènent à leur porte de destination.
  5. Le PNJ qui sort dans la rue revient prendre ses fonctions deux minutes plus tard.
  6. Arrivés dans une pièce, les PNJs interagiront avec un objet au hasard, variable puisque le propriétaire meuble son habitation comme il l’entend.
  7. Le code d’animation est indépendant de la taille et de la configuration des zones d’habitation et fonctionnera même si je remettais en fonction les cartes personnalisées par joueur.

Dis comme ça, ces fonctionnalités ressemblent à des patch notes typiques, ça a l’air si simple que j’en ai l’impression d’avoir glandé pendant deux jours et de m’être arraché des poignées de cheveux pour rien. Marrant.

J’envisage de donner la possibilité de pratiquer l’artisanat chez soi, je ne suis pas encore certain que ce soit une bonne idée, mais j’y pense.

Ah ! les petits trucs vite finis…

J’imaginais pouvoir utiliser la librairie de Bioware pour animer les domestiques dans les habitations, librairie assez bien fournie et dont les noms de fonctions correspondent exactement à ce dont j’ai besoin.
L’ennui, c’est que soit je suis trop con pour les faire fonctionner, ce qui est parfaitement possible, soit elles ne fonctionnent pas bien. Voire pas du tout.
J’ai bien essayé de placer des waypoints libellés exactement comme requis, rien ne se passe comme prévu, les PNJs marchent bêtement en rond, ou passent les portes sans les ouvrir, ou se retrouvent coincés entre deux transitions, par contre j’en ai qui ont réussi à se barrer de la zone et on ne les a plus jamais revus…

Bref, comme d’hab, je n’utilise rien du code de Bioware et j’écris le mien, ce qui n’est pas facile d’une part parce que je n’ai pas de bouquin de calcul vectoriel sur ma table de chevet et d’autre part parce que la programmation événementielle est ultra piégeuse : l’angle qu’aura le PNJ devant un objet correspond rarement à son orientation au moment où les commandes sont empilées, ce qui impose un subtil mélange entre Action_quelque_chose et DelayCommand(autre_chose).
Et surtout parce que je veux que ce soit parfait, les maisons sont sinistres si elles ne sont pas animées correctement ; c’est vrai, je pourrais y revenir plus tard, mais ce serait une fois de plus repousser une échéance.
J’ai considérablement baissé le prix de l’accès à la propriété parce que je considère que les maisons sont un des attraits majeurs d’un univers persistant, alors si le majordome doit passer une porte, je veux qu’il aille à la porte, qu’il s’arrête devant la porte un bref instant, ouvre la porte, passe la porte, referme la porte et s’éloigne, comme le ferait une personne normalement constituée et pas une IA écrite sur un bout de comptoir.

Le résultat sera très très cool, mais c’est du travail.
Je me demande quand même toujours qui est le plus nul, de moi ou du code de Bioware et, en toute franchise, le jury délibère toujours. J’aime autant ne pas savoir.

Ouais, ouais, ouais…

Je sais, l’apparence du site est revenue à ce qu’elle était la semaine dernière.
*Groumph* Perdu mon temps.
Les modèles proposés par WordPress créés par des tiers sont de la daube fumante, le seul truc qui marche bien c’est le bouton pour acheter la version ‘Pro’. J’ai rencontré les pires difficultés pour rédiger les formulaires dont j’ai besoin pour mes clients ne me laissant d’autre choix que de virer tout ça et reprendre un thème officiel, le Twenty Eleven, celui que je préférais de toutes manières, tant pis si un de mes clients s’amuse à retrouver la racine du site à partir des URL que je lui envoie et arrive sur Myrda. Après tout, hein, il n’a qu’à acheter le jeu !

Bon, côté développement, tout se passe à merveille.
J’ai terminé la refonte et le test de la banque, des vendeurs et des maisons. Chantier que je ne pouvais mener à bien avant le patch qui corrigeait DeleteCampaignDatabase.
C’est chose faite et j’ai amélioré le comportement de toutes les mécaniques.

Je mets la dernière main à quelques modifications pour les maisons:

  1. Acheter une nouvelle maison envoie dans l’inventaire tous les meubles déployés dans la précédente.
  2. Il est désormais possible de modifier l’éclairage de sa maison : couleurs ambiantes et couleurs des torches. Nouveau myrdalights.2da. Il est aussi possible d’éteindre toutes les lumières, ce qui nécessite de quitter la maison et d’y revenir. Le majordome peut également enregistrer les couleurs que l’on désire, selon un tableau que je vais publier au guide de jeu.
  3. Le personnel de maison fait son entrée, ce qui va mettre de la vie dans tout ça, je pourrai même utiliser ces PNJs pour des conversations spéciales.
  4. J’ai placé la routine de musique d’ambiance dans les habitations, peut-être conviendra-t-il de permettre au majordome de donner plus de choix.
  5. Il est possible de changer le nom du majordome, ce qui me laisse craindre le pire, mais heh ! après tout je ne veux rien savoir de ce que les joueurs font dans leur maison, j’ai des souvenirs d’Althea qui me laissent encore perplexe 15 ans plus tard, je ne suis pas près d’y remettre les pieds !
  6. Le majordome peut se transformer en déménageur : sur simple demande il transfère tous les meubles d’une habitation dans l’inventaire du joueur. Aucun risque qu’un invité se barre avec toute la collection : le dialogue du majordome ne s’exécute que pour le propriétaire.

J’ai ajouté au loot des fioles de teintures. Totalement inutile comparé au mannequin de l’enchanteur mais elles existent dans le jeu, je n’avais rien à créer, et elles ajouteront de la variété, j’avais besoin d’un peu diluer la fréquence de certains objets qui tombent trop souvent.