Les 15 couleurs nécessitaient donc 4 bits.
Nous n'avions pas 24=16 couleurs différentes car en interne la couleur était codée sur 3-bits (soit seulement 23=8 couleurs), et le 4ème indiquait d'assombrir la couleur, ce qui était sans effet sur le noir. D'où la perte de la 16ème couleur.
La sortie écran aurait donc logiquement nécessité une mémoire de 256x192/2=24576 octets, soit 24Kio.
Or, les premiers modèles de 1982 ne disposaient que de 16Kio de mémoire, mémoire qui de plus devait pouvoir être utilisée par le système ainsi que par l'utilisateur - ça ne rentrait pas.
L'astuce habituelle des années 80 que nous t'avions déjà présentée lors de notre adaptation du jeu Mille Bornes des Thomson MO5/TO7 pour TI-83 Premium CE s'appelait contrainte de proximité.
Cela impliquait que formes et couleurs étaient stockées séparément.
Nous avions donc déjà pour le stockage des formes 256x192/8=6144 octets, soit 6Kio.
Quant aux couleurs, et c'était là l'astuce, elles n'étaient pas stockées à raison de 1 couleur par pixel comme on en a l'habitude, mais de 2 couleurs par zone, l'écran étant lui-même découpé en zones couleur élémentaires.
Sur les Thomson MO5/TO7 de 1985, la zone élémentaire était un petit segment horizontal de 8x1 pixels.
Sur le ZX Spectrum, la zone écran élémentaire était un gros carré de 8x8 pixels.
Le stockage des couleurs nécessitait donc seulement 256/8x192/8=768 octets, soit 0.75Kio.
Au final, la sortie vidéo ne monopolisait donc que 6.75Kio de mémoire, ce qui laissait un espace libre confortable pour le système et l'utilisateur.
Par contre en pratique, à cause de cette contrainte nous limitant au maximum à 2 couleurs différentes par carré de 8x8 pixels, les jeux sortis pour l'ordinateur couleur ZX Spectrum pouvaient bien souvent être qualifiés paradoxalement de monochromes.
Les jeux offraient bien souvent à l'écran plusieurs zones rectangulaires (affichage du jeu en tant que tel, barre de statut, cadre pour justifier artificiellement la mention de jeu couleur...), chaque zone étant monochrome (1 couleur + le noir pour le fond).
Comme sur Thomson MO5/TO7, il était possible aux graphistes de talent de réaliser de grandes choses une fois les contraintes de proximité parfaitement maîtrisées, mais avec beaucoup plus d'efforts et de sueur.
Le ZX Spectrum dispose toutefois encore de nos jours de nombreux fans actifs, puisque des jeux continuent à être développés et à sortir, notamment Alter Ego en 2011 par l'éditeur russe RetroSouls.
Un jeu qui fait le choix de faire dans la couleur et donc, comme il ne s'agit pas ici d'une image fixe, de ne pas avoir un affichage parfait comme tu peux voir ci-contre avec des défauts de bavure de couleur lorsque les sprites des joueurs et ennemis, normalement en blanc, chevauchent une zone contenant déjà un autre sprite coloré.
Alter Ego n'en reste pas moins un jeu de plate-forme et énigmes passionnant.
Ton but est de ramasser tous les items de chaque tableau, mais l'originalité est que tu y contrôles non pas 1 mais 2 joueurs simultanément :
- le joueur principal
- et son alter ego qui fera exactement les mêmes mouvements à l'autre bout de l'écran, mais inversés comme de l'autre côté d'un miroir
Ton alter ego est invulnérable, ne pouvant être blessé par les ennemis contrairement au joueur principal, mais ne peut pas ramasser les items.
Donc à quoi sert-il cet espèce de fantôme ?... Et bien tu peux à tout moment échanger ta position avec celle de ton alter ego, et c'est cette astuce qui te permettra d'échapper à une fin fatale et de résoudre nombre d'énigmes !
En 2012, Alter Ego est adapté en homebrew pour console Nintendo NES par Shiru, avec de tout nouveaux graphismes s'affranchissant des contraintes de proximité.
Cette version fut par la suite portée en 2015 pour micro-ordinateurs Amiga, et 2016 par Makapuf pour BitBox, une console de jeux libre et ouverte.
Aujourd'hui l'aventure Alter Ego continue sur ta TI-Nspire CX munie de Ndless avec un portage de Gameblabla.
Plus précisément, il s'agit d'un portage de la version BitBox, qui t'offrira donc des graphismes décents.
Téléchargement : archives_voir.php?id=896325
Source : viewtopic.php?f=20&t=16484&p=215075#p215075