Retour 3D

J’ai besoin de créer la colline de Syrthe et les becs de pierre qui en émergent là où eut lieu le rituel du Quadracle. Donc, un peu de modélisation s’impose.

J’ai récemment approché Blender et fait l’acquisition d’une tablette graphique pour créer les modèles propres à Myrda. J’ai déjà réalisé un dolmen assez réussi – mais pas assez pour être introduit tel quel dans le jeu – et je suis actuellement les tutoriels de Grant Abbitt – nom qui fait pouffer ma femme, comme quoi on peut avoir 52 balais et une mentalité de 15 – pour apprendre à maîtriser les techniques de sculpture, stencil texturing, normal maps et autres innovations prodigieuses qui n’existaient pas du temps d’Althea où je réalisais mes modèles avec 3DSMax.

Heureusement, je suis en contact avec Symmetry, le gars qui a écrit Neverblender, soit l’add-on d’interfaçage entre Blender et NWN, et il va me donner un coup de main pour les choses que je n’arrive pas à gérer. C’est beaucoup d’informations à assimiler, tous les outils deviennent de plus en plus complexes avec le temps, c’est difficile aujourd’hui de traiter à la fois la conception, la programmation, la gestion serveurs, le web et le développement graphique, sans parler des petits outils sur le côté !

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.