Wednesday, February 17, 2010

Do you sass' ZX Willy ?

"Connaissez-vous Manic Miner et le ZX Spectrum ?" me demandait assez logiquement caractère de 8x8 et n'avait pas de sprites. Si bien que quelque soit le jeu, ça ressemblait assez invariablement à un livre d'image colorié par un gamin qui ne sait pas éviter de déborder des contours. Maintenant, j'imagine que pour celui qui en a possédé un gamin, c'est une merveille de nostalgie au même titre que le c64 l'est pour moi et l'amstrad CPC pour Pierrick H.



Willy, revisited by Arne
Pour ce qui est de Willy (Jet Set Willy, Manic Miner), je ne connais que depuis la sortie des "Lost Levels" sous DS. D'ailleurs, c'est bien simple, quand en juin 2007 Arne nous poste ce joli mock'up sur Pixelation, je me dis juste "que c'est bien fait pour du 16 couleurs. Mais où va-t-il chercher tout ça ?". Le parallèle était pourtant frappant.


Mais indépendamment des qualités du jeu, de l'"ingéniosité" des niveaux et tout ça, je n'accroche pas. Ni aux "lost levels" flambant neufs, ni à l'idée de me le refaire sur un émulateur.


Lost Levels par Headsoft
La maniabilité de Willy redore le blazon de l'explorateur de Pharaoh's Curse et de Thing on a Spring. Et pourtant, j'ai passé plus de 900 vies à finir "vvvvvv" ... Alors quoi ?

Premier hic, la lenteur. Eeeh oui. Si Willy nous change de l'animation en deux temps de Rick Dangerous, en revanche, il est trop lent à se déplacer, bien plus lent que votre "projection mentale dans le jeu", ce qui pour un jeu de "timing" est particulièrement désagréable.
Autre hic -- de taille -- la lisibilité. Se faire tuer par quelques pixels qui trainaient par là et qui ressemblent autant à un buisson qu'à une clé, ça n'a rien d'amusant. La version GBA est un peu plus lisible (sans aller jusqu'à dire qu'elle est meilleure pour autant). La version ancienne (ZX) est assez bien lisible (si ce n'est pas noir ni du sol, touche-le pas) et d'une difficulté sans doute plus progressive. La preuve c'est que j'ai réussi à aller au niveau 2.

Je vais donc éviter de jeter un blâme et je ne me lancerai pas dans des calculs savant de temps-pour-traverser-l'écran divisé par temps-de-réaction-pour-contrer-un-monstre. Il est clair que si j'ajuste le gameplay de Bilou, ce sera légèrement, de sorte qu'un monstre isolé représente déjà une difficulté (là, s'ils ne sont pas au moins deux dans un environnement exigu, le jeu est plutôt de voir combien de fois vous pourrez vous gausser grassement d'eux avant qu'ils ne vous touchent). Mais je n'irai pas cloner le gameplay de Manic Miner... Ooh non, alors!

Il est clair aussi que ce qui fait le "charme" des aventures de Willy, c'est ce côté "hors-contexte" des monstres et des salles, renforcé par le fait qu'il "suffisait" de 8 chiffres pour "programmer" une dalle et d'une douzaine de dalles pour un niveau. J'ai beau me débrouiller en pixel art, je ne suis pas graphiste. Il faudra donc que je trouve quelque-chose d'autre pour rendre le "petit puzzle-platformer avec Bilou" suffisament attractif. Je laisse donc tomber le "mining" du titre, la prochaine "milestone" sera tout simplement

Bilou : Nuts & Bolts

PS: ça veut dire "des boulons et des écrous", et je trouve que ça colle bien au fait de devoir retrouver les pièces de l'astro-cruiser tout éparpillées ...
PPS: une vitesse verticale de 600 pour commencer un saut paraît bien pour ça. Ca rend déjà le champignon dans le premier arbre inaccessible, par contre :P
PPPS: je n'oublie évidemment pas les choses que j'avais trouvées sympa dans Johnny Biscuit (rotation des thèmes graphiques plutôt que 4 niveau halloween, puis 4 niveau en égypte, puis ...) et dans Qwak (parcours semi-aléatoire d'une partie à l'autre).

Voir aussi :

7 comments:

Anonymous said...

Salut !!

Etant fan de la marque Sinclair (et collectionneur), je me permets de rectifier. Le Spectrum ne possédait PAS de sprites, cela était du ressort du programmeur de créer lui-même (en software) les différents sprites.

Les graphismes étaient effectivement limités à 2 couleurs par bloc de 8x8 pixels. On appelait "color clash" le phénomène visuel qui donnait l'impression que l'écran était à certains moments constitué de pixels énormes (8x8 !). Ca n'existait évidemment pas sur le Commodore 64 !

L'avantage du Spectrum est que sa résolution est supérieure à celle du C64. La vitesse du CPU (3,5 mhz) lui donnait également un avantage sur le C64 dans certaines applications, les jeux en 3D notamment comme Driller, ou en pseudo 3D comme Sentinel.

Les désavantages sont: couleurs limitées, son exécrable, pas de sprites hardware.

Le gros plus du Spectrum par rapport au c64 est son basic orienté graphisme (cercles, lignes etc).

Oui oui, je connais très bien cette machine puisque j'ai même développé un émulateur qui fonctionne sur des consoles de jeu dont la Dreamcast.

Le nom de l'émulateur est Speccyal'k. Il existe une version pour Dreamcast, une pour GP32 et j'avais entamé une version pour XBox (jamais terminée ... malheureusement).

A++++ et bon amusement !!

PypeBros said...

plus grande résolution ? j'ai en tête 320x200 pour le C64, et les snapshots de Willy suggérait plutôt du 256x192 (la résolution d'un écran DS ^_^) pour le spectrum ...

Sinon, grand merci pour toutes ces précisions. C'est plus sympa comme ça que si j'avais dû copier-coller depuis Wikipedia ^^"

Le BASIC du C64 était assez exécrable pour les graphismes. Un vrai "pokeausaure", comme on disait dans le temps. J'avais heureusement mis la main sur la disquette du "Simon's BASIC" qui -- moyennant réduction (encore) de la mémoire disponible -- permettait de s'approcher un peu plus de ce que serait le QBASIC tout en gardant les sprites et le SID.

Anonymous said...

Plus de précisions concernant les modes graphiques :

Sur le C64 il y a plusieurs modes graphiques. Celui permettent le plus grand nombre de couleurs est le mode 160x200. Le mode 320x200 étant limité comme le spectrum à 2 couleurs par bloc de 8x8 !! et oui !

Mais des astuces permettant de switcher très rapidement entre 2 écrans 160x200 pour démultiplier les couleurs ...

Sur ce, à bientôt, et longue vie au blog :)

PypeBros said...

juste. J'avais zappé ça. Par contre, il semblerait qu'il y ait eu moyen de bidouiller encore un peu plus, du style choisir entre lores-4cols et hires-2cols caractère par caractère, comme en témoigne ce screenshot de Giana Sister (où les diamants sont trop nombreux pour être des sprites, et trop réguliers pour être en "wide pixels")

c64 said...

Ahhhh....j'ai reconnu l'anonyme :)))

PypeBros said...

Persiste et signe, cf.

http://www.unusedino.de/ec64/technical/misc/vic656x/vic656x.html, section 3.7.3.2. Multicolor text mode (ECM/BMM/MCM=0/0/1)

If bit 11 of the c-data is zero, the character is
displayed as in standard text mode with only the colors 0-7 available for
the foreground. If bit 11 is set, each two adjacent bits of the dot matrix
form one pixel


Il y avait en réalité 12 bits de choix de couleur par caractère sur le C64. A noter aussi que sur ZX, la "luminosité" (dark/light) affecte aussi bien la couleur de fond que la couleur d'avant plan, ce qui renforce encore le "color clash".

Anonymous said...

Exact !
Il y avait un flag "bright" présent pour chaque attribut (groupe de 8x8 pixels) sur le spectrum. Ce qui pouvait dédoubler en quelque sorte le nombre de couleurs (de 8 à 16).

L'écran du spectrum était divisé en 2 : une zone mémoire graphique (commençant à l'adresse 16384, et pesant 256x192 pixels) et une zone "attributs" qui suivait directement la mémoire graphique. La zone "attributs" définissait la couleur d'avant-plant et d'arrière plan pour chacun des groupes de 8x8 pixels composant l'écran.

Quoi qu'il en soit, certains jeux sur Spectrum étaient extrêmement bien programmés, comme "Dan Dare 3", et on avait l'impression que le nombre de couleurs était bien supérieur au nombre disponible.

D'autres jeux utilisaient des astruces, et pouvaient afficher 8 couleurs dans un carré de 8x8, comme l'écran d'intro d'un shoot'em'up dont je ne suis plus sûr (Zynaps je pense).

D'autres jeux, enfin, utilisaient le bord de l'écran, habituellement inutilisé pour agrandir l'aire de jeu, en utilisant des timings très précis.

C'était une époque où les programmeurs devaient connaître à fond les machines pour en tirer la quintessence.

Steph