1 points par GN⁺ 2026-03-05 | 1 commentaires | Partager sur WhatsApp
  • Outil de création d’animation 2D de nouvelle génération développé en C#, Avalonia et SkiaSharp, qui réimplémente de façon moderne les fonctionnalités de Flash
  • Fonctionne sur Linux, Mac et PC, et fournit un environnement de production complet avec timeline, dessin vectoriel, symboles, tweening et scripting
  • Prend en charge l’import de fichiers .fla/XFL, ce qui permet d’ouvrir et de modifier des projets Flash existants
  • Inclut des fonctions de production intégrées comme un système de scripting en C#, un convertisseur ActionScript et un éditeur audio intégré
  • L’essentiel est de proposer un environnement de création open source qui hérite de l’héritage de Flash tout en offrant un workflow moderne

Vue d’ensemble du projet

  • Un outil complet de création d’animation 2D imaginé autour de l’idée suivante : à quoi ressemblerait Flash s’il était recréé en 2026
    • Reconstruit entièrement depuis zéro avec C#, Avalonia et SkiaSharp
    • Compatible avec Linux, Mac et Windows
  • Inclut toutes les fonctions clés de Flash : timeline, outils de dessin, bibliothèque de symboles, tweening et scripting
  • Permet d’ouvrir et d’éditer des projets Flash existants grâce à la fonction d’import de fichiers .fla/XFL
  • Le transpileur ActionScript → C# permet aussi de réutiliser du code de script existant

Systèmes principaux

  • Fournit des fonctions de documents multi-onglets, sauvegarde automatique, sérialisation de projet, gestion des scènes et configuration de la scène
    • Structure de sauvegarde en fichiers .anim, sous forme de dossier ou d’archive compressée, basée sur JSON + SkiaSharp
    • Taille de scène, couleur d’arrière-plan, fréquence d’images, etc. peuvent être personnalisées

Moteur de dessin et outils

  • Moteur vectoriel basé sur DCEL (doubly connected edge list) reproduisant le mode de dessin par fusion de Flash
    • Prise en charge de 5 modes de peinture : Paint Normal, Behind, Fills, Selection et Inside
  • Comprend 17 outils de dessin
    • Pinceau, crayon, ligne, rectangle, cercle, arc, gomme, transformation, pot de peinture, pipette, texte, caméra, etc.
    • Contrôle précis avec détection de pression, lissage, transformation libre, zoom/panoramique, etc.

Système d’objets et de symboles

  • Prise en charge de divers types d’objets comme Shape, Text, Rich Text, Bitmap, Symbol Instance
  • Implémentation complète de la structure de symboles de Flash avec Graphic, MovieClip, Button, RichText Symbol
    • La fonction Convert to Symbol permet de transformer les objets sélectionnés en symboles réutilisables
    • Tous les assets sont gérés de manière centralisée dans la Symbol Library

Timeline et animation

  • Fournit une timeline multicouche et un système de keyframes
    • Types de calques : Normal, Guide, Mask, Folder, Camera, Sound
  • Prise en charge de Classic Tween, Motion Tween et Shape Tween
    • Possibilité d’éditer des trajectoires de mouvement basées sur des courbes de Bézier, de créer des animations de caméra et de faire de la synchronisation audio
  • Prise en charge des fonctions d’easing (Linear, Quad, Cubic, Sine, Expo, Back, Bounce, Elastic) et des courbes personnalisées

Styles et effets

  • Remplissage (Fill) : couleur unie, dégradé linéaire/radial, motif
  • Contour (Stroke) : épaisseur, couleur, style des extrémités/jointures, limite de mitre
  • Filtres et effets : Blur, Drop Shadow, Glow, Bevel, Adjust Color, etc.
    • Plusieurs filtres peuvent être combinés en chaîne

Sélection, alignement et transformation

  • Prise en charge de la sélection rectangulaire/libre, de la transformation de groupe, de la courbure de tracé et du snapping
  • Les outils d’alignement et de distribution permettent d’ajuster l’espacement et la position des objets
  • Jusqu’à 100 niveaux d’Undo/Redo, avec prise en charge de la fusion de commandes et de l’exécution par lots

Import et export

  • Chargement de projets Flash via l’import de fichiers XFL/.fla
  • Prise en charge de l’export SWF et de l’export HTML5/Canvas
    • Inclut la conversion Bézier, le baking des tweens et un compilateur de Shape

Scripting et automatisation

  • Le moteur de scripting C# basé sur Roslyn permet une automatisation de la création au moins au niveau de JSFL
    • Fournit des API pour le document, la timeline, les calques, la sélection, les graphismes et la bibliothèque
  • Les scripts de frame permettent d’exécuter du code à des moments précis de la lecture
  • Convertisseur ActionScript 3 → C# et parseur/lexer AS3 intégrés
  • Le moteur d’exécution de scripts, l’API de détection des entrées et le panneau de sortie facilitent le débogage

Audio et texte enrichi

  • Éditeur audio intégré avec affichage de la forme d’onde, couper/coller et lecture synchronisée avec la timeline
    • Traitement des entrées/sorties audio via la bibliothèque NAudio
  • Le moteur de texte permet un contrôle fin de la police, de la taille, de la couleur, de l’alignement, de l’interlettrage et de l’interligne
    • Le rendu de contours de glyphes permet d’animer le texte sous forme vectorielle

UI/UX

  • Prise en charge d’un système de panneaux ancrables de style VS et de fenêtres flottantes
  • Ensemble de panneaux pour la timeline, les propriétés, la bibliothèque, les outils et le sélecteur de couleurs
  • Fournit une gestion des documents par onglets, des panneaux masquables automatiquement, des préréglages de zoom et un éditeur de profil d’épaisseur de trait

Avancement du projet et soutien

  • Le projet est actuellement en développement actif, avec des fonctionnalités ajoutées en continu
  • Il est possible de soutenir le développement via la page de soutien Patreon
  • Les mises à jour du projet continueront d’être publiées sur Newgrounds

1 commentaires

 
GN⁺ 2026-03-05
Discussions sur Hacker News
  • J’ai fait des jeux Flash à une époque. Mon profil Newgrounds existe encore
    L’avantage de Flash, c’était un environnement où codeurs et artistes pouvaient travailler ensemble. L’artiste créait une animation dans un fichier FLA et me l’envoyait, puis je n’avais plus qu’à la copier dans le projet. Au besoin, je pouvais aussi ajuster quelques frames pour rendre le tout plus naturel
    Aujourd’hui je travaille avec Love2D, et la gestion de versions est bien meilleure. À l’époque, on gérait les fichiers avec des noms du genre « GameName-1.fla », « GameName-2.fla ». Plus tard, il est devenu possible de séparer l’ActionScript, mais le FLA restait quand même un gros bloc binaire
    L’animation vectorielle de Flash reste hors de portée des outils actuels basés sur les sprites. L’animation de boss de Clock Legends que j’avais faite à l’époque comptait des centaines de frames, et pourtant le fichier FLA ne faisait qu’environ 23 Mo. Je suis impatient de voir ce type de projet renaître

    • Certains ont remercié l’auteur de leur avoir rappelé Clock Crew. L’internet de cette époque était vraiment un espace amusant
  • Quand je travaillais chez Adobe, j’ai créé un crawler Flash. Vers 2008-2010, on a commencé par crawler le top 1 million des sites Alexa
    On utilisait Firefox en mode headless et un lecteur Flash personnalisé pour extraire et analyser des données d’exécution. On avait monté un cluster dans un centre de colocation à Bucarest, et je devais souvent m’y déplacer moi-même à cause de problèmes comme les limites de poids ou les mises à niveau de RAM
    On utilisait des technologies des débuts comme Nutch, Hadoop et HBase, puis on visualisait les résultats avec une base SQL et une interface UI. Des stagiaires ont terminé le projet en apprenant énormément, et certains travaillent aujourd’hui dans la Silicon Valley
    Cet outil a aussi permis de découvrir beaucoup de failles de sécurité. Si Adobe conserve encore ces données, ce serait une bonne idée d’en faire don au Computer History Museum

    • Quelqu’un a raconté que c’est en lisant ce genre d’histoires depuis l’enfance qu’il s’est passionné pour l’informatique. Cela ressemblait à un récit d’aventure d’avant l’ère AWS
    • D’autres ont trouvé cela fascinant et ont demandé quel était exactement l’objectif du projet à l’époque
  • Flash reste encore aujourd’hui la plateforme de développement la plus amusante que j’aie utilisée
    Pouvoir dessiner directement, relier le tout avec du code, et ne pas avoir à recompter les frames, c’était incroyablement pratique. L’époque où je créais des jeux dans ma chambre avec une copie piratée de Flash MX 2004 Pro (ou Flash 8) me manque encore
    Construct et GameMaker sont bien, mais aucun ne procure autant de plaisir que Flash. S’il y avait un nouveau Flash, j’en serais vraiment ravi

    • On souligne aussi qu’on oublie souvent à quel point Flash a ouvert un espace de création aux développeurs adolescents. Pouvoir créer des jeux et des animations qui tournaient sur un Pentium II, c’était remarquable
  • L’idée d’un outil open source capable d’ouvrir et de modifier directement des fichiers .fla / XFL a surpris beaucoup de monde. Si ce n’est pas juste pour les lire mais aussi pour les éditer, cela a une vraie portée en matière de rétrocompatibilité

    • Mais comme le format .fla n’a jamais été totalement documenté ni entièrement rétroconçu, certains estiment que cette affirmation est très audacieuse
    • Un autre utilisateur se demande aussi si le transpileur ActionScript → C# fonctionne vraiment bien
  • Certains ont trouvé que le style du texte manquait de cohérence, au point de soupçonner une génération partielle par LLM. La ponctuation et l’usage des majuscules sont irréguliers, alors que le résumé est rédigé dans une grammaire parfaite
    L’expression « Not just play them back — edit them » a notamment semblé artificielle à certains. Cela dit, ils souhaitent quand même la réussite du projet

    • D’autres ont aussi estimé que les icônes dans les images semblaient générées par IA. Ils aimeraient savoir dans quelle mesure des LLM ont été utilisés, même si la communauté Newgrounds pourrait mal réagir
    • Quelqu’un a partagé le lien LLM_PROSE_TELLS.md en disant qu’il pouvait servir de référence sur les signes typiques d’un texte écrit par un LLM
  • Depuis quinze ans, certains se disent souvent que « le monde a de nouveau besoin de quelque chose comme Flash ». Flash a été l’outil qui a appris à toute une génération l’art, le jeu vidéo, la musique et l’animation
    Pour la génération actuelle, ce rôle semble être tenu par Minecraft et Roblox

    • Flash était l’un des logiciels que j’ai le plus aimés. C’est aussi celui qui me manque le plus depuis mon passage à Linux
      On peut encore faire tourner Flash MX 2004 avec Wine, mais ce serait bien d’avoir une version ouverte avec des mises à jour régulières
      ToonBoom est un excellent outil d’animation, et Construct 2 un bon moteur de jeu, mais il n’existe rien qui soit comme Flash, un outil hybride où animation et code se combinent naturellement
      Dans Flash, on pouvait faire une BD sans connaître ActionScript, puis ajouter peu à peu du code pour en faire un jeu. C’était vraiment une structure remarquable
  • Certains pensent que se présenter comme un projet open source tout en lançant d’abord un Patreon, ce n’est pas un très bon départ. Surtout qu’il n’y a encore ni démo fonctionnelle ni vidéo, demander un soutien payant nuit à la confiance

    • En réponse, quelqu’un a simplement écrit : « Hmm »
  • En 2012, quelqu’un a créé IvanK.js, une bibliothèque JavaScript qui recréait l’API Flash sur le web. Cela nécessitait WebGL, qui était encore mal pris en charge à l’époque
    Malgré cela, quelques jeux Flash ont pu être portés rapidement sur le web
    Lien vers la démo

  • Haxe a été cité comme successeur possible de Flash, mais en réalité cela se rapproche davantage d’un remplaçant pour ActionScript
    Le vrai attrait de Flash venait de la combinaison entre outil graphique et scripting. Le simple fait d’avoir un langage similaire ne suffit pas à reproduire la même expérience

    • Il a aussi été mentionné qu’OpenFL, construit sur Haxe, fournit des fonctionnalités proches de l’API Flash
      Site officiel d’OpenFL
  • Certains pensent qu’Adobe aurait dû publier Flash en open source. Cela lui aurait peut-être permis de continuer à dominer le marché des outils de développement payants

    • Mais d’après quelqu’un qui connaît les coulisses, vers 2008-2012 la base de code de Flash Player était déjà trop vaste, et enchevêtrée dans des licences tierces, ce qui rendait toute ouverture impossible
    • Une autre personne a expliqué que Flash continue en fait d’exister à travers Adobe Animate, toujours utilisé par des clients comme Disney, ce qui rend aussi l’open source difficile