Le pantin qui ne tenait pas debout
Au début, Lumene était un puzzle de quatre calques : corps, pattes avant, pattes arrière, tête. Un script Godot les faisait bouger en fonction de son état – course, saut, chute. Le résultat ? Une silhouette crédible, mais sans vie. Les joueurs ne s’y attachaient pas. Pire : quand elle courait, ses membres semblaient flotter, comme si elle glissait sur de la glace invisible.
Le problème n’était pas technique. Le rig fonctionnait, les transitions entre les états étaient fluides. Mais quelque chose clochait dans le regard. Les joueurs voyaient une mécanique, pas un personnage. J’ai reçu des retours du type : « Elle a l’air raide » ou « On dirait un jouet ». Un testeur a même dit : « J’ai l’impression de contrôler un sac à patates lumineux. »
J’ai essayé de corriger le tir en ajustant les angles, en ajoutant des micro-mouvements. Rien n’y faisait. Le rig, aussi bien conçu soit-il, ne pouvait pas capturer l’élasticité d’un bond ou la tension d’une attente. Lumene restait un assemblage de pièces, pas une chèvre.
Le saut dans l’inconnu : tout redessiner
Un matin d’août, j’ai ouvert le dossier Reference/Perso-chevre/ et j’ai sorti les croquis préparatoires. Des dizaines de poses, chacune dessinée à la main sur papier avant d’être scannée et nettoyée. Pourquoi ne pas les utiliser directement ?
J’ai écrit un script pour automatiser la conversion. Chaque frame était ancrée aux pieds de Lumene, normalisée sur un cadre de 40 × 48 pixels, puis redimensionnée à la taille du jeu. Le script générait ensuite une SpriteFrames exploitable par Godot, avec une API identique à celle du rig. Ainsi, le reste du code – les contrôles, les effets de lumière, les interactions – n’a pas eu besoin d’être modifié. Seul le rendu changeait.
Les premières captures étaient décevantes. Les proportions semblaient bancales, les mouvements saccadés. Puis j’ai ajusté l’ancrage : au lieu de centrer sur le corps, j’ai aligné chaque frame sur la ligne de sol, comme si Lumene marchait vraiment dessus. Soudain, elle a pris du poids. Quand elle sautait, on voyait ses pattes se tendre vers le haut. Quand elle courait, ses sabots frappaient le sol avec un rythme visible.
Le plus surprenant ? L’animation de l’attente. Auparavant, Lumene alternait entre deux poses – bras baissés, puis poing levé. Le résultat était nerveux, comme si elle hésitait en permanence. J’ai supprimé la pose bras baissés. Maintenant, elle reste poing levé, immobile, avec seulement son œil qui vacille. Ce détail a tout changé. Les joueurs ont commencé à dire : « Elle a l’air déterminée » ou « On dirait qu’elle attend quelque chose. »
Ce qu’on voit, ce qu’on ne voit pas
Les joueurs ne savent pas que Lumene est passée d’un rig à des animations dessinées. Ils ne voient pas le code derrière, ni les heures passées à ajuster chaque pixel. Mais ils sentent la différence. Quand elle court, ils perçoivent l’effort dans ses pattes. Quand elle chute, ils voient ses bras se lever pour amortir l’impact. Ces détails, invisibles en soi, créent une illusion de vie.
Le plus important, c’est ce que ça a changé dans leur rapport au jeu. Avant, Wisp était un platformer où on éclairait des décors. Maintenant, c’est l’histoire d’une chèvre qui traverse un monde oublié. Les joueurs ne contrôlent plus un mécanisme, mais un personnage. Et ça, ça n’a pas de prix.
Pourtant, tout n’est pas parfait. Certaines transitions entre les états restent abruptes. Le dash, par exemple, manque encore de fluidité. Mais c’est un problème de polish, pas de fond. Lumene a enfin une âme, et c’est l’essentiel.
La leçon ? Parfois, il faut tout casser pour avancer. Le rig était une solution élégante, mais il ne servait pas le jeu. En revenant en arrière, en acceptant de tout redessiner, j’ai trouvé ce qui manquait : une chèvre qui respire, qui pèse, qui vit.


