CommunityImagegithub.com

Luan-vP/fire-sprites-retro

Génère des versions pixel art 8-bit / 16-bit des sprites de feu de performance, en reconstruisant le feu à partir des calques séparés. S'utilise après le skill fire-sprites.

Qu'est-ce que fire-sprites-retro ?

Ce skill est conçu pour les artistes et développeurs travaillant avec des animations de feu (crachage, spinning de feu) enregistrées par le skill `fire-sprites`. Il prend les calques **body** (corps) et **fire** (feu) déjà rendus dans `moves/NAME/` et les transforme en sprites rétro de style 8-bit ou 16-bit. La particularité est que le feu est **reconstruit** plutôt que simplement réduit : la forme réelle de la flamme est conservée image par image, mais sa couleur est redessinée selon une rampe de chaleur de 7 couleurs (du rouge foncé au blanc), avec un tramage ordonné 4×4 entre les étapes. Cela évite l'effet de blob blanc produit par une simple quantification. Le corps reçoit une palette fixe de 8 couleurs (peau et cuir) avec un contour sombre. Le résultat est affiché en mode « on twos » (moitié de la fréquence d'images maître), ce qui donne un aspect rétro et réduit la taille des feuilles. Les sorties incluent des images PNG et un `atlas.json` contenant la grille de frames, les fps et l'ancrage des pieds. Le skill est utilisable via des outils comme Claude Code ou tout agent exécutant des scripts Python et ouvrant un fichier HTML de prévisualisation.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Luan-vP/fire-sprite-kit/tree/HEAD/skills/fire-sprites-retro

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Sprites de feu 8-bit avec feu reconstruit

Nécessite des mouvements déjà rendus par le skill fire-sprites : ce skill fonctionne à partir des calques body et fire séparés dans moves/NAME/, pas à partir d'une vidéo plate. $KIT est la racine du kit (deux niveaux au-dessus de ce fichier) ; py est $KIT/.venv/bin/python ; exécutez depuis le répertoire du projet.

py $KIT/tools/retro.py                 # chaque mouvement rendu
py $KIT/tools/retro.py "breath_*"      # ou seulement certains (noms ou globs)
open retro.html

Pourquoi le feu est reconstruit, pas réduit

Réduire un sprite de feu et le coller à une palette donne un blob blanc plat : à la caméra, la flamme est écrasée en blanc, il n'y a donc pas de couleur à l'intérieur à conserver. À la place :

  • Corps : réduit, bord alpha dur, mappé à une palette fixe de 8 couleurs (peau et cuir) pondérée par luminosité pour que les ombres survivent, avec un contour sombre de 1 pixel.
  • Feu : la forme réelle de la flamme est conservée image par image, mais sa couleur est redessinée. La profondeur d'un pixel à l'intérieur de la flamme choisit un palier sur une rampe de chaleur de 7 couleurs, du rouge foncé au bord jusqu'à un cœur blanc en passant par l'orange et le jaune, avec un tramage ordonné 4×4 entre les paliers. La profondeur est mesurée par rapport à l'épaisseur de cette flamme, donc une fine flamme d'épée obtient encore un cœur chaud et un énorme nuage de souffle obtient un large dégradé. Une petite passe d'ouverture supprime les fines lignes de mur qui ont fui dans le calque de feu.

retro.html montre chaque mouvement de quatre façons : feu reconstruit et quantification directe, à 64 px et 40 px de hauteur de corps. La version directe est là pour que l'artiste puisse voir la différence ; le feu reconstruit est celui à livrer. L'animation tourne « on twos » (moitié de la fréquence d'images maître), ce qui donne un aspect rétro et divise par deux la taille de la feuille.

Sorties : retro/NAME_B64.png, NAME_B40.png (reconstruit), NAME_A64.png, NAME_A40.png (direct), et retro/atlas.json avec la grille de frames, les fps et l'ancrage des pieds. Dessinez-les avec un redimensionnement au plus proche voisin uniquement à des multiples entiers (image-rendering: pixelated en CSS).

Que dire à l'artiste

Regardez le résultat avant de le décrire. Résultats typiques :

  • Les nuages de souffle se lisent très bien ; le redessin leur donne une structure que les images n'ont pas.
  • Les nuages qui touchaient le bord du cadre, une fenêtre ou un mur soufflé deviennent carrés à cette échelle.
  • Le corps devient presque blanc au pic d'un souffle et se mappe en bleu marine foncé dans les images de silhouette, car la palette suit la lumière de l'image. Proposez de maintenir les tons de peau constants si cela les dérange (pas encore implémenté).

Modifier l'apparence

Modifiez les constantes en haut de tools/retro.py : BODY_PAL (palette du corps, du plus sombre au plus clair), FIRE_RAMP (du bord au cœur), les tailles dans for B in (64, 40), et la courbe de profondeur sur la ligne heat =. Gardez la palette fixe pour tous les mouvements d'un même artiste pour que les animations correspondent.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés