Je corrigeais les quelques bugs que j’ai encore sur Trello et je me suis rendu compte que je n’avais jamais terminé le respawn. Ce n’est pas un bug, mais il fallait bien le faire un jour. J’ai donc codé toute la mécanique de dissimulation de l’interface, blocage du clavier et de la souris et création d’un menu à la mort, qui pour le moment n’a qu’une seule option : retour au sanctuaire !
Ca m’a quand même bien rappelé Althea, je créerai d’ailleurs probablement quelque chose qui s’approche de nos anciens sanctuaires. Cela n’a pas été sans mal mais, au final, ça c’est bien mis en place, le joueur décédé respawn à son sanctuaire full points de vie et les mobs ne lui courent pas après.
C’était aussi un peu spécial, ça, tant que le mob a le joueur dans le collimateur, mort ou pas, il lui fonce dessus, par-delà les montagnes et les océans s’il le faut. Bon, c’est marrant, mais c’était quand même bof. J’ai donc, dans la foulée, revisité le Behavior Tree des mobs pour qu’ils oublient les cibles mortes et tant que j’y étais je les fais revenir à leur point de spawn s’ils s’en écartent de plus d’une certaine distance. Le côté rigolo, contrairement à WoW, c’est que s’ils rencontrent un joueur sur le chemin, ils l’aggro direct. Normalement, on ne fait pas comme ça, mais ça me fait marrer, c’est toujours fun de laisser un pack de mobs foncer sur un gars qui s’assied son café à la main. C’est que je n’ai pas si souvent l’occasion de rigoler en développant le jeu, ça restera comme ça !
Monthly Archives: October 2026
Foley
Ca m’est tombé dessus, comme ça, en ajoutant des notifications dans un montage : faudrait mettre des sons de combat ! Et puis aussi des sons de pas. Et puis de sons de voix. Bref, je allé voir ce que j’ai en stock et on ne va pas la faire longue : je n’ai que des collections de sons faites par Pierre et Jacques, sans rapport entre eux, ça ne peut donner qu’un résultat Frankenstein, j’oublie.
Il vaut mieux que je m’oriente vers le bruitage. Ca s’appelle foley en anglais, du nom du gars qui a jeté les bases du bruitage moderne, semble-t-il. Ca peut être marrant. J’ai une bibliothèque de sons de pas, je vais voir ce que je peux en faire mais pour le reste je vais devoir aiguiser mes sens d’écoute des bruits du quotidien pour les associer aux sons nécessaires pour le jeu. Et puis, dans mon bureau, pour toujours avoir le même environnement, je m’amuserai à jeter une poignée de fourchettes dans un torchon pour faire un bruit d’armure, chiffonner des étoffes, frotter des cailloux, bref, expérimenter.
Animations, suite et pas fin
Ceci est un post technique, donc sans autre intérêt qu’un aide-mémoire.
J’utilise une base de données de 7000 animations de combat, ambiance etc. Pour les attaques à une main, je n’ai en fait qu’une seule animation, qui me posait un problème : si le joueur déplace son personnage pendant que l’animation de combat joue, il glisse bêtement sur le sol et les pieds ne retrouvent une animation crédible que lorsque le coup a fini de jouer son animation.
J’ai donc entrepris d’utiliser un nœud ‘Layered blend per bone’ dans l’animation graph ABP_Althea qui ajoute une couche d’animation supplémentaire. J’ai donc dans l’animation montage le ‘DefaultGroupe.DefaultSlot’ auquel j’ajoute une deuxième piste ‘UpperBody’. Le DefaultSlot, dans l’animation graph, joue le locomotion, soit l’animation de déplacement, et l’UpperBody joue l’animation d’attaque, jusqu’au bone ‘spine_01’ par-dessus l’animation DefaultSlot, soit en l’écrasant.
Cette solution est bonne quand l’animation est conçue dès le départ pour être scindée en deux, comme dans WoW où déplacement et attaque sont deux éléments d’une même animation. Or, mon animation d’attaque est une animation ‘FullBody’ qui a l’avantage d’être un peu plus dramatique mais l’inconvénient de faire bouger, en plus des bras, le bassin, les jambes et les pieds. Si je fige le bas du corps au niveau du spine_01 (bas de la colonne vertébrale) le dessus va se contorsionner de 70° au moment de l’attaque avec un effet aussi ridicule qu’impossible.
J’ai essayé de concilier les deux approches dans un même anim montage mais, très logiquement, c’est impossible : soit l’animation est fullbody, soit elle est layered et dans les deux cas l’animation doit être conçue avec une position du bassin différente.
Pour m’en sortir, j’ai simplement accéléré la vitesse de l’animation par 1,8 ce qui permet de sortir rapidement du mouvement d’attaque et de retrouver très vite un parfait contrôle des pieds. C’est un sparadrap, rien de mieux mais le moment n’est pas venu de commencer à digitaliser mes animations à partir de vidéos comme il est possible de le faire en 5.8
Layered Bone Blend per Bone
Bon, je ne vais pas y couper, je vais devoir découper mon perso en deux, le haut qui jouera complètement toutes les animations courtes et le bas qui répondra aux touches de mouvement.
Pour les animations longues, le Layered Bone Blend est ridicule, donc si le perso bouge l’animation s’arrêtera.
J’apprends, j’apprends… J’ai essayé un tas de choses au niveau des animations conjuguées au sorts récemment, notamment les attaques de mêlée, avec des résultats mitigé mais je progresse.
Il faut que je me débarrasse de toutes ces scories avant d’attaquer le premier chapitre du développement graphique : les personnages modulaires.
Recompilation des binaires
Un dry run aujourd’hui pour m’assurer que le processus est maîtrisé.
J’utilise les capacités de mon clavier pour lancer des macros : fn-F1 pour compiler le serveur, fn-F2 pour le lancer, fn-F3 pour compiler le client, fn-F4 pour le lancer.
Mon processeur me remercie de se dégourdir les transistors…
