On peut difficilement imaginer plus oldschool et rustique que l’Atari 2600 (ou VCS) : sortie en 1977, la première console d’Atari a été conçue avec un cahier des charges des plus drastiques : créer une machine qui permettrait grosso modo de faire tourner le Tank d’Atari/Kee Games pour un coût minimum.
Les p’tits gars de Flush qui sont des gens très bien m’ont donné l’opportunité de faire mes armes sur la 2600 en vue d’une démo pour la Revision 2017. La coopération s’est très bien passée et on a pu se côtoyer lors de la party sans que ça se termine en pugilat sur le parking d’une zone commerciale de Sarrebruck. Je pense qu’on est même tous contents du résultat : une démo propre et originale sur une machine où les productions ne se bousculent pas. La musique en particulier est à des années-lumières des premières démos VCS grâce au talent de Glafouk et de l’existence d’un outil dédié : TIATracker.
Les capacités graphiques de la machine sont évidemment très limitées : résolution de 40×192 théoriquement (c’est bien 40, il ne manque pas un chiffre), même si .bin tourne en fait en 40×248, et seulement 1 couleur par ligne sur les deux « calques » (background et playfield, les pixels sur ce dernier pouvant être aussi transparents). Par contre le nombre de couleurs simultanées n’est limité que par la palette de 104 couleurs même si en pratique on peine à en utiliser beaucoup simultanément vu les autres contraintes. Outre les deux calques, on dispose de quelques sprites 1 bit de 8×192 ou 1×192 (player 1, player 2, missile et ball) qui peuvent éventuellement être doublés, triplés ou quadruplés sur l’axe horizontal et qui peuvent être utilisés pour ajouter des détails d’une couleur différente sur des images, comme les yeux rouges sur mon image du robot.
En pratique, produire des graphismes pour la VCS est relativement simple. Voilà ma façon de procéder :
- Tout d’abord se procurer la palette de la console. Attention, les couleurs diffèrent légèrement entre les versions PAL et NTSC du hardware, avec des couleurs plus vives dans le deuxième cas. Les démos Flush visent les consoles européennes et c’est donc la palette PAL qui fut choisie. Un lien pour télécharger la palette que j’ai utilisée est disponible en fin d’article.
- Créer une nouvelle image en 320×192 (ou 320×248 si c’est une option) dans son logiciel de dessin préféré.
- Créer deux calques pour le background et le playfield. On peut éventuellement en ajouter d’autres pour les sprites.
- Définir une grille de 8×1 qui permettra de garder en tête la résolution particulière de la VCS.
- Dessiner avec une brosse de 8×1 sur le calque playfield. C’est plus simple pour le calque background, puisque les lignes font forcément la largeur de l’écran.
- S’assurer qu’une seule couleur par ligne est utilisée et que la grille de 8×1 est bien respectée pour le playfield.
- Exporter les calques individuellement.
- Redimensionner les images exportées en 40 pixels de large (algorithme « nearest neighbor / hard edges » évidemment).
- Envoyer le tout à une personne qualifiée qui saura afficher ça sur la 2600 🙂
Je suis particulièrement content du logo Flush en simili-3D (voir en début d’article), qui je pense fait oublier un instant les limitations de la machine. J’avais proposé ça sans trop croire que ce soit techniquement possible quand je réfléchissais à des transitions pour le logo à l’aide d’Adobe Animate (Flash Professional pour les plus vieux). Il s’est avéré que c’était faisable et le résultat final est même supérieur à mon mockup d’origine ! Merci à Flewww, g012, Glafouk et p0ke pour ce petit projet très sympa qui ne sera d’ailleurs sûrement pas le dernier.
- Télécharger la palette Atari VCS 2600 au format Microsoft, compatible entre autres avec Grafx2, Pro Motion ou XnView
- Télécharger la palette Atari VCS 2600 au format Jasc, compatible entre autres avec Grafx2, Aseprite, IrfanView ou XnView
- .bin sur Demozoo
- .bin sur Pouët
28 août 2017 à 16:28
Superbe démo, je suis fan de l’anim pseudo 3D du logo Flush, ce n’est que du playfield, mais c’est super ingénieux, bravo !
31 août 2017 à 15:32
Merci ! C’est ce genre d’astuce qui fait tout l’intérêt du développement sur des vieilles machines 🙂
29 septembre 2017 à 08:37
Donc si je comprends bien cette histoire de playfield, on a à l’écran au plus 3 couleurs par ligne: le noir (fixe), et 2 couleurs au choix parmi les 104, l’une allant dans le background et l’autre le playfield. C’est ca ?
29 septembre 2017 à 16:22
Non, désolé si ce n’était pas clair : 2 couleurs en tout par ligne, une pour le background (pas forcément noir), une pour le playfield.
Pingback: 40 years par Flush, une démo Atari 2600 pour la Silly Venture 2017 | 16 Couleurs
Pingback: Archéologie infographique : le graphisme pour la NES | 16 Couleurs
Pingback: Silly Venture 2018 | 16 Couleurs