GrafX2 enfin en version 2.5

Posté par  (site web personnel, Mastodon) . Édité par BAud, Xavier Teyssier, Anonyme, Davy Defaud et palm123. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
63
25
mai
2018
Graphisme/photo

GrafX2 est un logiciel de dessin spécialisé dans les graphismes en pixel art. Le 15 mai dernier, la version 2.5 a été publiée, elle succède à la version 2.4 qui était sortie en 2012. C’est l’occasion de présenter un peu ce logiciel dont on ne parle décidément pas assez sur Linuxfr.org.

splash screen

Sommaire

Historique

Les débuts de GrafX2

Le projet n’est pas tout jeune, puisque les premières lignes de code de GrafX (version 1) ont été écrites vers septembre 1995. Il s’agissait à l’époque d’un programme en Turbo Pascal, destiné à réaliser les graphismes d’un jeu d’aventures pour PC réalisé par la même équipe.

À l’époque, la référence pour le dessin au pixel sur PC était Deluxe Paint 2 Enhanced, qui était beaucoup plus limité que la version Amiga. Pour une raison inconnue, le jeu utilisait une résolution d’écran inhabituelle de 360 × 240 pixels au lieu des 320 × 200 qui étaient le mode vidéo standard. Il fallait donc un outil spécial pour dessiner les décors.

Quelque temps plus tard, les développeurs ont découvert le compilateur Watcom C qui permettait l’accès à la mémoire étendue du PC, ce qui s’est vite révélé indispensable pour un logiciel de dessin. De plus, à l’époque, beaucoup d’images étaient réalisées sur Amiga qui permettait beaucoup de résolutions d’écran difficiles à afficher correctement sur un PC (par exemple, 320 × 512, en mode entrelacé).

Diverses résolutions d’écran

Durant l’été 1996, c’est donc une réécriture complète de GrafX, en C et en programmant directement le contrôleur vidéo des cartes VGA, qui va permettre d’afficher ces images sur PC.

Les deux développeurs de GrafX2 publieront une première version (2.00 beta 90 %) en novembre 1996, lors de la demoparty Wired. Le succès est au rendez‐vous et plusieurs graphistes rentrent chez eux avec une copie du logiciel. Plusieurs versions vont se succéder, assez rapidement au début (une par semaine dans les mois suivant la première publication), puis de plus en plus rarement, jusqu’à décembre 1999, et la sortie de la version 2.00 bêta 96.5 %.

La publication des sources

Malheureusement, les choses deviennent un peu plus compliquées par la suite. GrafX2 manipule directement le contrôleur vidéo et fonctionne sous DOS. C’était acceptable à ses débuts, mais avec l’arrivée de Windows XP, il devient compliqué de faire fonctionner le programme correctement. Les développeurs n’ont plus le temps de s’en occuper et GrafX2 commence à tomber dans l’oubli.

Robinson et X-Man décident donc d’officialiser la fin du projet et, surtout, décident de publier le code source de GrafX2 sous licence GPL v2, dans l’espoir que quelqu’un pourrait porter le programme sur un système plus moderne, ou au moins, pour servir de référence sur la façon dont certains outils de dessins peuvent être implémentés.

Dans un premier temps, cette démarche n’aura pas beaucoup de succès. Pendant quatre ans, personne ne va s’intéresser aux sources publiées. De 2004 à 2006, le groupe Eclipse Game va travailler sur une version de GrafX2 pour Windows, et publiera une version exécutable du programme… sans le code source.

Capture d’écran

Le portage sous GNU/Linux

En 2007, le développement de GrafX2 reprend, à partir des sources de la version DOS publiée en 2001. Quelques parties du code écrites en assembleur sont remplacées par du C, tout le code spécifique aux cartes vidéos VESA et VGA est retiré, et le programme est modifié pour fonctionner avec SDL et sous GNU/Linux. Au passage, plusieurs problèmes de boutisme sont corrigés car le développement est réalisé sur une machine PowerPC. En octobre 2008, ce travail permet de publier une version 2.00 bêta 97 %. Elle ne contient pas de grosses nouvelles fonctionnalités, mais permet d’utiliser GrafX2 sur GNU/Linux, Windows, Mac OS X et AmigaOS 4. Début 2009, la version bêta 98 % ajoute la prise en charge de Amiga OS 3, BeOS, Haiku, AROS, SkyOS, MorphOS, et de la console GP2x, ainsi qu’un certain nombre de fonctions manquantes de la version DOS.

En juin 2009, la version 2.0 est enfin publiée. Elle implémente toutes les fonctionnalités prévues par les développeurs de la version DOS de GrafX2 (et quelques autres en plus). Elle sera suivie de plusieurs versions « bugfix » durant l’été 2009, puis assez rapidement d’une version 2.1 apportant principalement la gestion de formats d’images pour le Commodore 64, ainsi que diverses améliorations du fonctionnement de l’interface utilisateur.

Capture d’écran

Versions 2.2 à 2.4

Sur cette base, il devient possible d’ajouter de nouvelles fonctions. Le gros changement de la version 2.2 sera la possibilité d’utiliser des calques ; la version 2.3 apportera la possibilité de manipuler l’image éditée à l’aide de scripts Lua, et la version 2.4 (publiée en 2012) ajoutera enfin la gestion des animations (enregistrées au format GIF).

Capture d’écran

La version 2.5

Le développement va un peu ralentir après la version 2.4. Les raisons sont multiples : d’une part, les développeurs sont occupés par d’autres projets, et d’autre part, la question se pose de passer à la version 2 de la bibliothèque SDL. En effet, GrafX2 utilise toujours la version 1.2, qui n’est plus maintenue aujourd’hui. Un travail de conversion est donc démarré, mais plusieurs problèmes sont rencontrés : bogues dans SDL2, impossibilité d’utiliser un mode graphique en 256 couleurs avec une palette (indispensable pour GrafX2, par exemple pour les effets de « colorcycling »), et surtout, une portabilité nettement moins bonne pour les plateformes prises en charge par GrafX2 (encore aujourd’hui, il n’y a pas de solution en vue ni pour AmigaOS 3, ni pour la console GP2x).

Finalement, la décision est prise de reporter le passage à SDL2 et de publier une version 2.5 comprenant plutôt diverses corrections de bogues accumulées depuis la version 2.4 et quelques nouvelles fonctions. On y trouvera principalement la gestion de nombreux nouveaux formats de fichiers et la possibilité de travailler directement sur des images pour des systèmes utilisant des modes graphiques contraints, par exemple le ZX Spectrum qui ne peut utiliser que deux couleurs par bloc de 8 × 8 pixels.

Capture d’écran

L’avenir de GrafX2

GrafX2 est toujours utilisé par de nombreux graphistes, mais l’équipe de développement reste assez réduite (2 à 3 personnes, toutes déjà impliquées dans d’autres projets).

Aujourd’hui le logiciel offre déjà de nombreuses fonctions et il y a peu de projets d’amélioration de ce côté. Cependant, il y aurait beaucoup de travail à faire pour moderniser l’interface et réaliser une version utilisant, par exemple, SDL2, tout en conservant la portabilité et la prise en charge de nombreuses plates‐formes.

La question se pose également de conserver l’apparence actuelle (avec ses polices de caractères monospace et dessinées à la main sans anticrénelage) ou d’essayer d’utiliser une apparence mieux intégrée avec le système environnant (GrafX2 est plutôt conçu pour être utilisé en plein écran en mode « distraction free » — il est même possible de masquer complètement le menu et de travailler exclusivement avec des raccourcis clavier). C’est en tout cas une des critiques relativement fréquentes des utilisateurs potentiels.

Plein de raccourcis clavier

Aller plus loin

  • # Ca semble vraiment sympa

    Posté par  . Évalué à 4.

    J'aime beaucoup ce type de logiciel qui est conçu pour tourner en pleine écran avec une ergonomie principalement destiné au clavier.
    Ça change un peu de tous ces logiciels en gtk qt ou autre… C'est une autre expérience utilisateur.
    Je suis peut être un des seul à aimer ça… C'est possible…
    Mais un logiciel qui est dépendant de SDL1.2 ou de SDL2 je trouve ça vraiment bien !

    • [^] # Re: Ca semble vraiment sympa

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      L'expérience utilisateur date de la version DOS. On aime ou on aime pas. D'un côté, ça permet de travailler en étant pleinement concentré sur ce qu'on fait et sans interférences. Mais d'un autre, il y a plein de petites choses qui ne marchent pas comme prévu (en particulier tout ce qui tourne autour du presse-papier et de la saisie de texte).

      En tout cas ça n'empêcherait pas de moderniser un peu l'interface et au moins d'avoir une police de caractères proportionnelle, qui serait plus agréable.

  • # Sympa !

    Posté par  (site web personnel, Mastodon) . Évalué à 7.

    c'est bien sympa de voir l'histoire de ce logiciel, c'est marrant c'est comme lire une petite nouvelle et ça me rappelle des souvenir (j'ai connu Deluxe Paint – 2 je crois – sur Amiga), j'ai installé rapidement pour voir à quoi ça ressemble, c'est super intuitif.

    Je me demandais l'intérêt d'un logiciel comme ça par rapport à quelque chose d'incomparablement plus puissant comme Gimp, est-ce qu'il y a des fonctionnalités spécifiques ? Le premier qui me vient à l'esprit est la simplicité, on comprend tout de suite comment faire une animation, ça c'est chouette.

    Merci d'avoir fait connaître :)

    • [^] # Re: Sympa !

      Posté par  . Évalué à 10.

      Je me demandais l'intérêt d'un logiciel comme ça par rapport à quelque chose d'incomparablement plus puissant comme Gimp, est-ce qu'il y a des fonctionnalités spécifiques ?

      GrafX 2 est un logiciel qui a été développé avec en tête le demomaking et donc la production d'image sur des supports très limités. Par exemple, comme expliqué en fin d'article,

      le ZX Spectrum qui ne peut utiliser que deux couleurs par bloc de 8 × 8 pixels.

      Je conseille à ce sujet le blog 16 couleurs, et en particulier les articles suivants :

      GrafX 2 reprend des outils qui viennent d'ancêtres d'outils pixel art comme Deluxe Paint et qui permettent de mélanger des pixels (smearing) ou de gérer des palettes de couleurs et leur animation, ce qui permettait à l'époque où les limitations techniques des machines étaient énormes de produire de superbes animations comme celles-ci (cliquer sur Show Options pour voir que le seul effet appliqué est la translation de certaines couleurs dans la palette de couleurs… c'est fou !).

      Bref, GrafX 2 est un logiciel de niche et c'est un peu compliqué de le comparer à des outils comme GIMP :)

      • [^] # Re: Sympa !

        Posté par  (site web personnel, Mastodon) . Évalué à 8. Dernière modification le 25 mai 2018 à 12:54.

        Je travaille (entre autres) avec Exocet qui tient le blog 16 couleurs. Du coup, GrafX2 a un peu évolué depuis ces articles et les choses sont devenues un peu plus simples pour la gestion des contraintes graphiques (c'est une des nouveautés de la version 2.5).

        Mais en effet, l'un des intérêts est de pouvoir travailler directement avec des filtres assez tordus, du genre "une ligne sur deux, il n'y a que 4 couleurs utilisables, et pour les autres lignes, on a 16 couleurs mais les pixels sont deux fois plus larges" (ici par exemple: http://julien-nevo.com/mahjong/ )

        Plus généralement, l'idée est de travailler exclusivement avec des images palettisées et donc on va aller plus loin que GIMP sur des traitements assez spécifiques, par exemple éclaircir/assombrir une couleur ne se fait pas du tout de la même façon quand on peut faire du RGB ou quand on doit choisir parmi 16 couleurs seulement. On a donc plusieurs outils pour gérer les couleurs, en les mettant dans un ordre précis, par exemple.

        Un autre aspect, c'est l'idée de contrôler individuellement chaque pixel. Les outils par défaut ne font donc pas d'antialiasing, et on a des raccourcis claviers pour se déplacer d'un pixel à l'autre de façon précise (une souris ne permet pas de le faire facilement, à moins de zoomer vraiment beaucoup et du coup de ne plus avoir de vue d'ensemble sur l'image.

        Les captures d'écran insérées dans l'article montrent des images qui ont été réalisées avec GrafX2, on peut voir les versions complètes et d'autres images ici ou . Le style est assez différent de ce qu'on fait avec GIMP, et la façon de travailler aussi.

      • [^] # Re: Sympa !

        Posté par  . Évalué à 4.

        produire de superbes animations comme celles-ci (cliquer sur Show Options pour voir que le seul effet appliqué est la translation de certaines couleurs dans la palette de couleurs… c'est fou !

        Je suis soufflé. Après avoir lu d'un oeil sceptique le début de l'article, je suis converti !

        (J'adore les vieux logiciels rétro mais je ne comprenais pas l'utilité par rapport à Gimp).

        • [^] # Re: Sympa !

          Posté par  . Évalué à 3.

          Pareil, whaou !
          J'ai mis du temps à comprendre pourquoi j'avais une impression de « limitation » des animations.
          --> l'image est statique, ce sont seulement certaines couleurs qui changent (il faut cliquer sur « Show Options » pour voir).

          Par contre « de mon jeune temps » ça n'existait pas du tout ces animations :-)

          • [^] # Re: Sympa !

            Posté par  (site web personnel) . Évalué à 2.

            ça fait pourtant très très très longtemps que ces techniques d'animations sont utilisées, notamment sur les "demos" et les vieux jeux vidéos

            • [^] # Re: Sympa !

              Posté par  (site web personnel) . Évalué à 4.

              Tout à fait ! Le fameux mode 13h était prisé pour pouvoir afficher 256 couleurs simultanées à l'écran, mais les couleurs pouvaient être sélectionnées parmi 262144 couleurs (64*64*64). En modifiant la palette durant le programme, ça permettait de faire des effets graphique assez rapidement (il est plus rapide de changer une couleur dans la palette que de réécrire les pixels)

            • [^] # Re: Sympa !

              Posté par  . Évalué à 2.

              ça fait pourtant très très très longtemps que ces techniques d'animations sont utilisées, notamment sur les "demos" et les vieux jeux vidéos

              Si tu as un lien, je suis preneur. J'ai bien connu les époques « 8-bits » (même si pas mal étaient en 16 bits), alors certes je ne connais pas tout, mais aucun souvenir de ce genre de qualité.

              • [^] # Re: Sympa !

                Posté par  . Évalué à 5.

                Les cascades de la planete ou on se fait attaquer par le robot dans Space Quest V sont superbement animées avec des effets de palette.

                Titre de l'image

                BeOS le faisait il y a 20 ans !

    • [^] # Re: Sympa !

      Posté par  (site web personnel) . Évalué à 5.

      Gimp pour du pixel art, c'est la croix et la misère!

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Sympa !

        Posté par  (site web personnel) . Évalué à 10.

        Ouais ben de mon temps on faisait du pixel art sur Amstrad CPC en redéfinissant les fontes 8x8 en binaire dans du Basic après avoir dessiné sur du papier millimétré… Espèce de jeunes assistés ! (enfin assisté·e·s)

        • [^] # Re: Sympa !

          Posté par  (site web personnel) . Évalué à 5.

          A l'époque c'était justifié par des contraintes techniques. Aujourd'hui c'est juste que Gimp ne propose pas une interface ergonomique: pour dessiner pixel par pixel, il faut choisir l'outil crayon (27° icône dans le menu en haut à gauche) puis sélectionner la brosse "Pixel" puis régler sa taille à 1.

          Un débutant va mettre du temps avant de deviner ces opérations ou tout simplement abandonner. D'ailleurs je reste sur Gimp, car avec Krita je n'ai jamais compris comment faire :-)

          Je ne connais pas bien grafX2, mais sous la plupart des éditeurs spécialisés (comme Piskel par exemple), c'est l'opération par défaut et la première dans la barre d'outil.

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

          • [^] # Re: Sympa !

            Posté par  (site web personnel, Mastodon) . Évalué à 4.

            C'est bien sûr l'opération par défaut et la première dans la barre d'outils, avec 4 modes de fonctionnement différents sur le même bouton (accessibles en faisant un clic droit)

            On a aussi une aide contextuelle pour ceux qui seraient perdus: mettre la souris au dessus de n'importe quel bouton du menu oud'une fenêtre et appuyer sur F1 (ou Help, si vous utilisez un clavier Atari, Sun ou Amiga qui dispose de cette touche). Et comme le reste du logiciel, cette aide est pensée pour aider à faire du dessin au pixel et pas autre chose.

          • [^] # Re: Sympa !

            Posté par  . Évalué à 1.

            Ce qui est très bien avec GraphX2 aussi, c'est d'avoir le contrôle sur le nombre de couleurs utilisées (une fonctionnalité d'optimisation de la palette reconnaît les couleurs doublons utilisées dans le dessin pour les éliminer).

            Pratique pour faire des compos de 4, 16 ou 256 couleurs, par exemple en partant d'une image plus complexe.

  • # nostalgie

    Posté par  . Évalué à 5.

    une petite larme pour Deluxe Paint ;(

    • [^] # Re: nostalgie

      Posté par  . Évalué à 1.

      Il y avait également Deluxe Anime, que je trouvais très pratique pour débuter dans l'animation. Je n'ai pas encore bien pris en main Graphx2 pour voir si sa prise en charge des animations ressemble à Anime.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.