La palette NES

attachment_20

La palette dans son intégralité.

Salut à tous et merci de votre présence! Vous lisez actuellement le premier vrai post de la V2.0! Au programme on ne va pas commencer avec un test mais plutôt de la NES et de ses graphismes.

La NES est une console 8-bits, c’est à dire que le processeur est basé sur une architecture de processeurs aux instructions de taille 8 bits (comprenez que chaque opération du processeur est stocké dans un octet, pas plus ni moins.) Le Picture Processing Unit, ce qu’on pourrait considérer comme carte graphique, est grossièrement limitée à 64 couleurs mais n’a que 52 couleurs utilisables et à une résolution PAL de 256x240 et NTSC de 256x224, le reste n’étant que des nuances de noir.

Au 21e siècle, cela parait ridicule face à nos écran 24 bits qui dépassent désormais la HD avec la mise en place future du standard 4K, la résolution Full HD multipliée par deux en largeur comme hauteur, qui affiche une résolution obscène de 3840x2160. Mais pourquoi n’a-t-on jamais vu autant de couleurs sur un écran de jeu et pourquoi cette palette est mieux fichue que ce que beaucoup peuvent penser?

Plus de détails techniques!

Décomposition d'un Megaman morbide en sprites qui le compose.

Décomposition d'un Megaman morbide en sprites qui le compose.

Imaginez que votre écran soit composé de deux couches, deux calques, deux feuilles transparentes où l’on dessinerait dessus. La NES possède ainsi deux layers : un pour le background, que l’on utilise généralement comme fond ou comme map, et une pour les sprites, les trucs qui bougent, se fritent, gagnent des vies ou se retrouvent écrasés - oui, c’est bien les personnages/objets/éléments de l’interface qui bougent.

La structure des backgrounds est particulière, mais pour faire simple on a des tiles de 8*8 pixels de 4 couleurs (3 dont une transparente si je ne plante pas) d’une des 13 couleurs (16 mais une, la transparente, est répétée 3 fois) dans un système de name tables, ce qu’on pourrait résumer comme des grilles de 32x30, remplissant -ô miacle- un écran entier. Vous me suivez?

Pour les sprites, c’est plus ou moins pareil: on a deux modes possibles, 8x8 ou 8x16, et les mêmes contraintes de palette que les maps, même si la palette est indépendante de l’autre. Si vous suivez toujours, on peut ainsi remarquer un truc : les sprites plus gros sont en fait composés de plusieurs plus petits blocs de 8x8 qui sont chacun considérés comme un sprite. Etonnant, hein?

Exemple d'une astuce en or : pour éviter le manque de couleurs, le visage de Megaman est un sprite séparé du corps.

Exemple d'une astuce en or : pour éviter le manque de couleurs, le visage de Megaman est un sprite séparé du corps.

Autre limitation intéressante : le PPU ne peut stocker que 64 sprites à la fois! Ici, notre petit Megaman dans le screenshot de Tile Layer Pro en utilise pas moins de 10! (3x3 pour le corps, un pour le visage). Dernière limitation du système : one ne peut afficher que 8 sprites en même temps sur la même ligne de pixels, les suivants ne seront pas affichés. D’où l’astuce de Capcom avec les Megaman : faire clignoter les sprites pour qu’on puisse tout de même les voir, si ce n’est qu’en transparent.

La puissance de la palette

Le gros problème avec cette palette est son utilisation. Des sprites de 4 couleurs ne montrent pas vraiment l’utilisation que l’on en pourrait faire si on avait carte blanche sur les graphismes. J’ai essayé de dessiner un peu avec ces couleurs. Voici mon verdict :

Des essais de ma main à la palette. Je suis fier de l'arbre.

Des essais de ma main à la palette. Je suis fier de l'arbre.

La palette n’est pas trop mal. Si on maîtrise le sujet, on peut ressortir des détails avec les nombreux coloris de bleu et de vert. Mais la palette souffre d’un très gros problème au niveau du contraste : des couleurs trop tranchantes entre le clair - presque blanc et la couleur très saturée. Il manque aussi des tons neutres qui pourrait donner des couleurs de base convenables. Je pense que des améliorations des graphismes de la consoles sont possibles, tel ce que l’on voit sur DuelingAnalogs mais je ne pense pas qu’un artise veuille aujourd’hui prendre cette palette pour cette raison-ci.

Voilà voilà. Ce fut le premier Pixel du futur, j’espère pouvoir m’étendre un peu plus sur ce genre de discussions dans le futur. D’ailleurs j’essairai de fournir quelques précisions sur les palettes en elle-même, j’ai de quoi vous triturer le crâne avec! Je vous laisse pour l’instant vous dégourdir les jambes et l’esprit, ça vous fera du bien! À plus!


Référence :

  • NESDoc : Documentation technique de la NES
  • DuelingAnalogs : Un bon article, certes anglais, sur cette palette avec de zôlies illustrations.
  • NESHacker : Une liste exhaustive des couleurs.
Presque pas fait exprès!

Presque pas fait exprès!