16 Couleurs

16 Couleurs – graphisme & jeu vidéo


3 Commentaires

Silly Venture 2018

Voici quelques petites créations avec lesquelles j’ai contribué à deux démos pour Atari 2600 présentées à la Silly Venture 2018, demoparty Atari qui s’est tenue au début du mois dernier à Gdansk en Pologne. Il y a au maximum 2 couleurs par lignes comme c’est la norme sur la VCS (voir mon billet sur le graphisme pour Atari 2600 pour plus de détails).

Les deux démos sont parmi les plus intéressantes sorties sur l’Atari 2600 mais pour des raisons complètement différentes.

M (Pouët, Demozoo) par Flush est réellement novatrice pour son contenu artistique, avec une véritable petite histoire, beaucoup d’humour et un design cohérent, autant de choses qui sont délicates à obtenir sur une machine aussi limitée que l’Atari 2600.

Alpha Cucks (Pouët, Demozoo) par Dentifrice propose quant à elle un concentré d’exploits techniques présenté en moins de trois minutes avec des effets jamais vus sur la machine comme le raycaster (partie à la Wolfenstein 3D) et le zoom sur les sprites avec effet de transparence.

Mon apport à ces productions n’a été que marginal, 99% du travail ayant été fourni par les talentueux membres de Flush et Dentifrice.

La Silly Venture a comme d’habitude permis la sortie nombreuses productions Atari impressionnantes comme Lockup, une démo au style modern qui tourne sur un Atari Falcon de base ou R0x Zero, un superbe jeu pour Atari STE. Je ne peux pas toutes les nommer et je vous conseille donc d’aller jeter un œil sur la page de Demozoo consacrée à l’événement.

Publicités


4 Commentaires

Les révélations choc sur Mission: Liftoff, le nouveau jeu pour Thomson TO8 et TO9+

Ça y est, il est enfin sorti, le jeu Thomson sur lequel Préhisto (de Puls) et moi, épaulés par Maf, travaillions dans le plus grand secret depuis plus de 4 ans.

En juillet 2014 j’avais entrepris de créer quelques mockups de portages imaginaires de jeux à succès sur Thomson, pour avoir une idée de ce à quoi ils auraient pu ressembler en utilisant le mode graphique bitmap 16 qui permet généralement d’obtenir un résultat supérieur aux autres ordinateurs 8 bits du fait de la palette de 16 couleurs redéfinissable et de l’absence de contraintes de blocs. Plus généralement, j’étais à l’époque en plein doute existentiel : pourquoi y avait-il des jeux fluides et jouables à profusion sur ZX Spectrum, Commodore 64 ou Amstrad CPC, mais si peu sur Thomson ? Y avait-il un problème technique inhérent à l’architecture de ces machines ou bien tout simplement les programmeurs n’avaient-ils pas su (ou pas pu) les exploiter à leur vrai potentiel, la petite taille du marché et manque de concurrence sur celui-ci limitant le temps alloué à chaque projet ?

J’avais donc commencé avec un mockup de Jetpac, le hit de Tim et Chris Stamper disponible sur une multitude de plateformes 8 bits mais pas sur Thomson. Avec le recul, ce mockup était un peu bâclé, mais le but était d’en réaliser tout une série (le prochain devant être le jeu d’arcade Mario Bros mais celui là est resté jusqu’ici au stade de projet). J’avais posté ce mockup sur Logicielsmoto, un forum spécialisé Thomson et quelques semaines plus tard, alors que je n’y pensais plus vraiment, j’eu la bonne surprise d’être contacté par Préhisto qui m’annonça qu’il avait commencé à travailler sur le jeu.

Mission: Liftoff, comparaison mockup et jeu

Fini les plateformes qui lévitent et les poulpes qui ressemblent à des poux.

S’ensuivit un échange de nombreux emails et il est rapidement apparu que Préhisto parvenait à extraire du TO8 beaucoup plus que communément admis. Fort de sa connaissance intime de l’architecture des machines Thomson, il était en train d’obtenir un résultat inespéré sur cette plateforme, jugez du peu :

  • Rafraîchissement constant de 25 images par seconde, quel que soit le nombres de sprites à l’écran (la plupart des jeux Thomson se traînent plutôt à 10 images par seconde, voire moins)
  • Mixage logiciel de sons digitalisés sur trois voix en tâche de fond (quasiment tous les jeux sur Thomson se contentent de bips basiques. Quelques-uns proposent des sons digitalisés, mais jamais sur trois voix)
  • Musique digitalisée de qualité CD sur l’écran de titre (aucun jeu ne propose ça à ma connaissance)
  • Animation plein écran avec son en introduction (idem, du jamais vu sur Thomson)

Bref, de l’inédit sur Thomson et sur beaucoup de machines 8 bits. Préhisto partage certaines de ses trouvailles techniques ici. Rappelons que le Thomson TO8 est un ordinateur sorti en 1986 disposant d’un processeur Motorola 6890e à 1 Mhz et de 256 à 512 Ko de RAM. Le mode graphique utilisé pour le jeu est le 160×200 avec 16 couleurs choisies parmi une palette de 4096. Pour donner un peu de contexte à ces chiffres, comparé à un PC moderne avec un microprocesseur Core i7 et 8 Go de RAM, le TO8 dispose d’un microprocesseur environ 200 000 fois plus lent (0.42 MIPS) et d’une mémoire vive 30 000 fois moindre (256 Ko).

La réalisation des graphismes a demandé beaucoup moins d’astuces même si le jeu a représenté une masse de travail importante pour accorder tous les éléments et fignoler le tout autant que faire se peut. Au delà de l’aspect esthétique à proprement parler, j’ai toujours tenté de privilégier la lisibilité de l’action, en particulier la nécessité de distinguer immédiatement ce qui relève de l’avant-plan et de l’arrière-plan, même quand l’écran devient très chargé à mesure que la difficulté augmente. Un gros avantage pour moi fut que je n’eu pas à me préoccuper de construire les niveaux avec des tiles, comme c’est souvent le cas sur 8 bits pour économiser de la mémoire (voir mes expérimentations sur la NES, par exemple). Ça explique en grande partie pourquoi les niveaux sont aussi variés visuellement : chacun d’entre eux est en effet une image utilisant toute la résolution et les couleurs disponibles, la seule contrainte étant la position des plateformes. Rien d’exotique aussi au niveau des outils utilisés pour les graphismes : Grafx2 et Pro Motion NG pour tout ce qui apparaît dans le jeu, Adobe Animate pour l’animation d’introduction, convertie ensuite avec un script ImageMagick, et pour l’étiquette de la disquette, Leonardo (un nouveau programme de dessin orienté tactile que je recommande) et Illustrator. Pour le site web j’ai utilisé Xara Web Designer mais ce fut assez fastidieux donc je ne renouvellerai pas l’expérience (aujourd’hui je privilégierais plutôt un outil moderne comme Mobirise). Pour le trailer, j’ai eu recours aux classiques Adobe Premiere et Adobe After Effects. Les captures du jeu sont le résultat le classique OBS Studio et les GIF des très pratiques ScreenToGif et GifCam. Le jeu a été beaucoup testé avec les émulateurs DCmoto et Téo, mais aussi sur le hardware d’origine.

Mission: Liftoff (Thomson TO8/TO9 8 bit game)Le but initial était de prouver que le Thomson TO8 pouvait faire aussi bien que les machines concurrentes de l’époque (les ZX Spectrum, Amstrad CPC ou Commodore 64) et à l’arrivée il semble même qu’il pouvait faire beaucoup mieux sur ce type de jeu ! Laissez-moi vous dire que ces derniers jours, dans les hautes sphères de Sinclair ou Commodore, c’est l’affolement général… ou tout du moins le jeu leur aurait peut-être fait hausser les sourcils il y a 30 ans.

Les retours de la communauté Thomson et au delà ont été très positifs (voir ici, ici, ici, ou ici, par exemple) et je pense que l’effet de surprise a également joué en notre faveur, personne ne suspectant notre plan diabolique de réhabilitation posthume des TO8 et TO9+.

Pour contexte, voici le genre de jeux auxquels je jouais petit sur le TO8 familial et qui étaient considérés comme étant dans la norme du point de vue des performances. Game Over, avec son action sur écran fixe et ses nombreux sprites, est assez similaire à Mission: Liftoff d’un point de vue technique, mais il tourne en 320×200 (avec les contraintes de blocs qui vont avec), est quasiment monochrome et plafonne à 5-10 images par seconde. Imaginez aussi quelques petits prouts en guise de sons. De rares jeux exploitaient le même mode graphique que Mission: Litftoff pour obtenir un résultat très sympathique comme Turbo Cup, mais avec un framerate toujours anémique (5 images par seconde ?) et quasiment pas d’effets sonores. Ceci dit, loin moi l’idée de dénigrer les développeurs des jeux Thomson des années 1980. Les conditions de travail étaient incomparables et j’imagine que généralement les développeurs étaient payés au lance-pierre et se voyaient imposer des délais extrêmement serrés. En fait les « avantages compétitifs » qui ont permis la sortie d’un jeu comme Mission: Liftoff étaient tout simplement inaccessibles à cette époque : que ce soit aussi bien l’expérience (impossible mathématiquement de disposer alors de plusieurs décennies d’expérience de programmation sur Thomson comme Préhisto), le temps (pouvoir prendre le temps de réfléchir et de voir le jeu d’un œil neuf après une pause de plusieurs mois est un luxe énorme) et l’accès à des outils de développement modernes, puissants et stables.

Mission: Liftoff - image titre

Un petit mot pour l’utilisation du jeu sur émulateur : il faut bien veiller à utiliser les touches qui émulent le fonctionnement d’un joystick, le jeu ne supportant pas le clavier pour des raisons de performance. Avec DCmoto (Windows), ce sont par défaut les touches 1, 2, 3, 5 et Entrée du pavé numérique mais je recommande de changer la touche « action » pour Ctrl, ce qui vous évitera pas mal de crampes. Avec Téo (Windows, Mac, Linux), utilisez les touches 2, 4, 6, 8 du pavé numérique et le Ctrl ou Shift de droite. Il existe aussi une version du jeu « clé en main » pour Windows, qui tourne avec DCmoto et est disponible ici. Pour cette version et pour les émulateurs, il est aussi possible de jouer avec une manette connectée en USB, comme le modèle Buffalo que j’utilise.

Disquette Mission: Liftoff

Bientôt dans toutes les bonnes boucheries

Et maintenant ? Je souhaiterais pouvoir proposer une édition physique du jeu (boîte imprimée, disquette, manuel) à un prix raisonnable en début d’année prochaine. Ça sera quelques dizaines d’exemplaires tout au plus, ce qui parait réaliste au vu du petit nombre de véritables enthousiastes des machines Thomson. Ensuite je ne pense pas embrayer sur un autre jeu TO8 tout de suite, certains de mes projets sur d’autres plateformes ayant pris beaucoup de retard du fait du travail sur Liftoff. J’espère néanmoins que ce jeu motivera d’autres passionnés à pousser les machines Thomson dans ses derniers retranchements. Peut-être un jeu avec un scrolling fluide, qui sait ?

 


2 Commentaires

Nova 2018

De retour de la Nova dans le Devon au Royaume-Uni (très jolie région, au passage), où j’ai présenté deux releases : un graph dans la compétition GFX old school et une invitation PC Engine pour la Datastorm par Up Rough dans la compétition Demo old school.

Ayant été beaucoup occupé les semaines précédant la party, mon graph a malheureusement été réalisé dans l’urgence absolue : esquisses en début de semaine, premiers pixels posés trois jours avant la party et gros du travail sur place. Pas de miracle à l’arrivée, mais je pense néanmoins que le concept a du potentiel et mériterait d’y accorder plus de temps. Niveau format c’est du pur Atari ST en 320×200 et 16 couleurs, avec la palette plus limitée du STF (choix de 512 couleurs).

Ninja Cat

Ninja Cat, 320×200 16 couleurs (palette STF)

L’invitation a été plus préparée à tête reposée puisque Mooz m’avait proposé de coopérer à la fin du mois d’avril, même si du fait d’un manque d’inspiration initial et de quelques fausses pistes, les graphismes définitifs n’ont été commencés que début juin et la décision de présenter l’intro à la Nova n’a été prise que quelques jours avant la party. Il n’aura pas échappé aux plus vieux d’entre que le personnage est inspiré du clip Sabotage des les Beasty Boys. Mes connaissances de la PC Engine / TurboGrafx-16 sont approximatives, mais niveau graphisme nous sommes en terrain connu : 16 couleurs à choisir parmi une palette de 512, comme sur l’Atari STF. Au niveau architecture, le fait d’avoir été présentée par NEC comme la première console 16 bit fit polémique à l’époque : le CPU est un bon vieux 8 bit et c’est seulement le coprocesseur graphique qui est 16 bit. Un petit arrangement avec la réalité qu’Atari réutilisera pour la Jaguar quelques années plus tard !

Datastorm Logo


10 Commentaires

Monstrombinoscope, image en collaboration avec Profil pour la VIP 2018

Petite expérimentation pour la VIP 2018 : une image en coopération avec Profil / Eclipse pour la compétition « oldschool graphics » ! J’avais fait la connaissance de Profil dans des demoparties alors que je débutais tout juste dans la demoscene (on parle quand même du dernier millénaire là !) et son talent et son attitude toujours très positive avaient été une inspiration importante pour moi.

Monstrombinoscope_x2

Monstrombinoscope, deuxième place dans la compétition oldschool graphics à la VIP 2018

Nous nous sommes un peu perdus de vue par la suite mais j’ai toujours souhaité avoir la possibilité de travailler ensemble sur un projet, chose qui a fini par se réaliser cette année. Nous nous y sommes évidemment pris trop tard pour espérer pouvoir présenter une image peaufinée comme il se doit, puisque que la machine s’est réellement mise en route une dizaine de jours avant la deadline. Ça aura néanmoins été une super expérience que j’espère avoir l’occasion de reproduire à l’avenir. Le contenu de l’image n’avait été discuté que dans ses grandes lignes au début du projet et donc les allez-retours du fichier ont généré leur lot de surprises quand un personnage inattendu surgissait sans crier gare. Le plus difficile a été de décider d’un thème en fait !

Il se trouve que le légendaire Ra a également présenté une image à la VIP. Ra, Profil, Exocet… on est en quelle année exactement ? 🙂

 


5 Commentaires

Archéologie infographique : le graphisme pour la NES

J’ai dernièrement eu l’opportunité de travailler avec Mara et Glafouk de Flush sur une petite production pour la NES, une invitation pour la VIP 2018 :

Le temps nous a fait défaut pour pouvoir inclure certaines des idées que nous avions en tête (en particulier, un peu d’animation sur les fantômes) mais le résultat est satisfaisant, surtout que pour nous tous il s’agissait peu ou prou de notre première expérience avec la NES. Ça m’aura ainsi permis de m’initier à la réalisation de graphismes adaptés aux contraintes de la console même si la réalisation de certaines images a été un peu précipitée.

Comme toujours, il a fallu tâtonner un petit peu avant de trouver exactement comment s’y prendre. Pour commencer il est très utile de comprendre comment la NES gère l’affichage à l’écran. L’article NES Graphics – Part 1 l’explique très clairement, mais on peut le résumer à ces cinq règles, les cinq commandements du graphisme NES :

  • La résolution de la NES est de 256×240
  • On dispose de 4 palettes de 4 couleurs (hors sprites), choisies parmi un total de 64.
  • La couleur 0 dans chacune de ces 4 palettes doit être identique, c’est la « couleur de fond ».
  • L’écran est composé de tiles de 8×8 pixels, avec un maximum de 256 (une tile peut être utilisée autant de fois que nécessaire).
  • Ces tiles sont à leur tour groupées en blocs de 2×2 (donc 16×16 pixels) qui doivent chacun utiliser uniquement les couleurs d’une seule palette.

NES graphics explained

Il faut donc gérer une double grille : 8×8 pour les tiles et 16×16 pour les palettes. La deuxième s’avère beaucoup plus contraignante en pratique et il vaut mieux commencer par la prendre en compte dès le début pour éviter d’avoir à se casser la tête plus tard à gérer les conflits de couleurs.

Les contraintes ci-dessus sont spécifiques aux écrans d’arrière-plan, auxquels on peut ensuite ajouter des sprites, qui sont eux aussi composés de tiles de 8×8 et disposent de leur propre palette de 4 couleurs, dont une transparente. La NES peut afficher jusqu’à 64 sprites simultanément mais gare aux problèmes de clignotement s’il y en a plus de 8 sur une même ligne d’affichage.

Revenons à la palette standard NES, la sélection de 64 couleurs parmi lesquels on choisit les teintes souhaitée. La première impression, c’est que le choix des couleurs est un peu navrant : pas de vrai jaune, des teintes qui font quasiment doublon, très peu de gris… Ensuite j’ai réalisé qu’il y avait une multitude de façons de représenter ces couleurs selon la version de la console (NTSC/PAL), le type d’écran et la connexion entre les deux et j’ai décidé de ne pas trop me monter le ciboulot avec l’exactitude des teintes.

NES palettes

How I learned to stop worrying about NES colours.
Source : http://emulation.gametechwiki.com/index.php/Famicom_Color_Palette

NES Screen Tool est un petit outil Windows utilisé pour convertir une image au format BMP en un format compréhensible par la NES. Attention par contre, il faut vraiment respecter les contraintes de palettes à 100% pour que la conversion se passe bien, NESst ne prétend pas faire une conversion intelligente en optimisant la palette et en réaffectant les couleurs. Le moindre pixel en dehors des clous (même si c’est la bonne teinte, mais avec le mauvais index de palette) donne des couleurs complètement incorrectes sur un bloc entier. Mieux vaut donc préparer ses palettes dès le départ, en copiant la couleur de fond à l’index 0 de chaque palette et bien s’assurer que chaque bloc de 16×16 utilise les couleurs d’une seule palette uniquement.

NES Screen Tool

NES Screen Tool

Niveau tiles, certains logiciels de pixel art les gèrent nativement, ce qui permet de s’assurer qu’on ne dépasse pas la limite de 256. Sinon on peut simplement afficher une grille de 8×8 et veiller à réutiliser les mêmes tiles autant que possible. En guise de référence, ma petite maison ci-dessus n’en utilise que la moitié sur les 256 disponibles.

Également disponible dans la série « archéologie infographique » :


1 commentaire

Stella À Trois, une intro 4 ko pour Atari 2600, et les prods marquantes de la Revision 2018

Stella À Trois est une petite intro 4 ko pour l’Atari 2600 que j’ai réalisée avec Flewww et Glafouk et qui fut présentée à la Revision le week-end dernier. Dans cette catégorie, la difficulté consiste évidemment à conserver la taille du programme sous la barre des 4096 octets tout en proposant des effets intéressants, ce qui limite grandement les possibilités. Ici je pense que les objets en dots mettent bien en valeur les capacités de la console. Le code source de l’intro est disponible sous licence GPL pour les plus curieux d’entre vous. Je tiens enfin à préciser que je suis seul responsable du jeu de mot vaseux utilisé pour le titre (Stella étant le nom de code de la console lors de son développement).

La Revision est considérée comme la demoparty la plus importante du moment et par conséquent on y découvre toujours beaucoup de productions très intéressantes. Voici quelques-unes de celles qui m’ont le plus impressionné cette année :

  • The Fall par Lemon et Deadliners : une démo Amiga 500 peaufinée à l’extrême et agrémentée de superbes graphs de Made.

 

  • Crank Crank Revolution par LFT et Redcrab : un petit jeu C64 humoristique, original et très bien réalisé.

 

  • Isometrikum par Vanity : une intro 4 ko pour Amstrad CPC très originale et agréable à regarder même en faisant abstraction des contraintes techniques.

 

  • Oscar’s Chair par Eos : une intro PC 4k très cinématique et extrêmement impressionnante. À cette taille là, la puissance des microprocesseurs modernes est mise à profit pour générer toutes les assets complexes : textures, samples, effets spéciaux… Pour référence, 4 ko c’est un fichier de 4096 caractères, soit 3 pages de roman ou probablement moins que le poids d’une icône sur votre bureau.

 

  • When Silence Dims The Stars Above par Conspiracy : du grand spectacle en 64 ko (grosso modo le poids d’un petit GIF). On arrive au point où la génération du contenu est tellement optimisée que la contrainte de taille se fait quasiment invisible. On croirait presque voir l’intro d’un jeu récent à gros budget.

 


1 commentaire

Alientis, pixel art pour Thomson TO8

Mi-mars : après la nuit polaire de ces 6 derniers mois, les premiers rayons du soleil caressent les immenses congères qui nous ont coupé du monde cet hiver. Les meutes de loups quittent peu à peu les rues du village pour les sombres bois qui le ceinturent. Le sang commence enfin à revenir dans mes doigts gourds et je peux même brièvement ôter mes moufles à l’intérieur pour réparer les dégâts causés par la neige et le gel. Dans quelques semaines la douche sera de nouveau utilisable ! Ces signes que l’hiver tire sa révérence, laissant derrière lui son habituel lot de désolation et de regrets amers, sont aussi le déclic pour mon nouveau vice : présenter une image Thomson à la Forever, une demoparty slovaque dédiée aux ordinateurs 8 bits.

Les Atari XL et XE, ZX Spectrum et Commodore 64 y sont les plus représentés, mais généralement on y découvrent aussi quelques productions pour Thomson. J’y ai participé en 2013, 2016 et 2017, portant à chaque fois fièrement l’étendard de l’apogée de la high-tech hexagonale des années 80.

Les Forever ont cette particularité que chaque édition propose un thème facultatif pour les productions. Cette année le thème était l’Atlantide et le hasard a fait que, alors que j’étais à la recherche d’une idée en rapport avec cette thématique, j’ai passé quatre soirées à regarder une nouvelle fois la quadrilogie Alien… Quelques connexions neuronales plus tard, voilà le résultat de ce crossover improbable :

Alientis, pour la Forever 2018. Image Thomson TO8 en 320×200, 16 couleurs.

Alientis, pour la Forever 2018. Image Thomson TO8 en 320×200, 16 couleurs.
Version originale sur Demozoo.

L’image utilise le mode 320×200, 16 couleurs des TO8/TO9+ avec une contrainte de proximité de deux couleurs maximum par bloc de 8×1 pixels. Elle a été réalisée avec Pro Motion NG, la nouvelle version du logiciel de dessin dédié au pixel art de Cosmigo. Une fonctionnalité particulièrement appréciable est la possibilité de tester instantanément si les contraintes de proximité sont bien respectées : il suffit de presser Alt + G pour voir les pixels problématiques s’afficher en rouge. On peut continuer à éditer l’image dans ce mode mais malheureusement les erreurs ne sont pas mises à jour en temps réel. Ici le color clash est je pense relativement discret à quelques exceptions près, la difficulté a plutôt été comme toujours de composer avec les couleurs mal étalonnées de la palette Thomson, avec très peu de choix dans les tons sombres. Pour définir la palette j’ai utilisé de nouveau le vénérable TGA2Teo.

Alientis s’est classée première (sur trois) dans la catégorie « Other 8-bit Graphics » de la Forever et a également remporté le prix « Eternity », décerné par les organisateurs à la contribution symbolisant le mieux le thème et l’atmosphère de la demoparty. Merci à eux ! Un grand merci également à Pulkomandy qui a accepté une fois de plus de me représenter sur place, en plus de toutes ses activités habituelles.

Alientis Timelapse

Alientis Timelapse