Victoire sur les decals !

J’étais très contrarié depuis un petit temps par la projection des decals sur les personnages. Les decals sont de bêtes textures projetées sur une surface, je les utilise au pieds des acteurs, adversaires et alliés, pour marquer ce que l’on cible. Du classique dans tous les jeux.

Le problème dans Unreal, c’est que les decals telles que j’ai appris à les utiliser, ont un volume au lieu d’être plaquées au sol, ce qui signifie qu’elles se projettent sur le corps des acteurs, ce que je ne veux pas.

J’ai cherché une solution, sans succès, et je viens de trouver par hasard en regardant une vieille vidéo, il faut utiliser le mode “DBuffer” au lieu du mode “Translucent” pour leur méthode de Blend.

Ca a l’air tout con comme problème, mais ça me bloquait tout mon développement.

Je garde le nom Althea, tout compte fait

J’ai bien réfléchi, le passé d’Althea est trop fort pour l’abandonner pour un nouveau titre, certes intéressant, mais sans lien affectif. Je compte donc réutiliser tout le background d’Althea. Intégralement. Me faudrait une icône puisque NWN est abandonné. A creuser. Le background du Quadracle viendra donc se superposer à celui d’Althea, ce qui me permettra de guider le joueur au fil d’une aventure en débutant le jeu, ce qui n’existait pas sur Althea.

Je dois terminer l’interface des sorts soit:

  1. Corriger le bug qui bloque un sort sans cooldown
  2. Permettre d’enlever un sort de la barre
  3. Créer le système d’enregistrement du placement des sorts
  4. Créer le système de raccourcis clavier

Après cela, faire tous les tests utiles pour choisir le système de création du monde, soit par level streaming, soit par World Composition

En attendant de m’y remettre, monter un perso sur WoW pour jouer avec la famille.

Livre de sorts et drag’n drop

Je termine le dix-huitième épisode du tutoriel d’interface de Ryan Laley.

Dans l’ensemble, je suis satisfait de l’expérience, au moins j’ai une interface qui, après debugging et adaptations, pourra me servir de base.

J’en ai quand même bavé, comme chaque fois que j’approfondis un sujet auquel je ne connais pas grand-chose. Surtout après ma journée de travail, c’est un peu pénible, mais on n’a rien sans rien et jusqu’ici les difficultés tombent les unes après les autres.

Par contre, je n’imagine guère bénéficier de bonnes volontés pour construire le monde. Déjà, UE4 requiert une machine puissante dont tout le monde ne dispose pas et surtout requiert un apprentissage sérieux qui n’a plus rien à voir avec NWN.
Mais rien n’est certain, quand – et surtout “si” – je serai devenu un pro d’Unreal, il me sera sans doute plus facile d’expliquer telle ou telle tâche à qui voudrait concevoir des modèles ou réaliser une carte, l’avenir nous le dira.

Ah, je suis content

J’ai trouvé mon premier bug dans le moteur, champagne !

Le truc tout con, j’ai une classe générique d’effet de zone avec une variable de durée, “LifeSpan” mise par défaut à 3 secondes.
J’ai une sous-classe qui soigne tout qui se tient dans la zone pour laquelle j’ai spécifié une durée de 30 secondes.
Quand je lance le jeu, tout baigne, mon soin dure 30 secondes.
Chaque fois que je relance l’éditeur, le soin dure 3 secondes, soit le défaut de la classe parent.

J’ai flairé l’oignon en voyant qu’Unreal propose une fonction “Set Lifespan” à laquelle je passais en paramètre mon “LifeSpan” défini par ma classe. J’ai donc, pour voir, changé le nom de ma variable de “LifeSpan” en “Life_Span”.
Et ça ne reset plus, dis-donc !
Ben merde alors, quelle surprise…

Je l’avais vue venir de loin celle-là, mais c’est quand même un truc rigolo.

On n’apprend pas à un vieux singe

… à faire des grimaces.

Hier, après une laborieuse et très longue séance de création d’interface, j’ai, pour je ne sais quelle raison, probablement un vieux réflexe de programmeur, testé tous mes sorts. Quelle ne fut pas ma surprise – et amusement, je ne le cache pas – en lançant en debuff sur une cible de la voir sauter en l’air comme une fusée.

Débugger ?
Non.
Ras-le-bol et mon petit doigt me disait que c’était tellement gros que ce bon Ryan le corrigerait à la séance suivante.

Je lance à l’instant la vidéo 16 et, surprise, la première chose qu’il fait est de corriger le bug.
Comme quoi je fais des progrès dans la “ouais bon on verra plus tard” attitude.