Void Lancer : shoot 'em up C64 inspiré de Giger par Snow-G

Void Lancer : shoot 'em up C64 inspiré de Giger par Snow-G

Void Lancer, du développeur Snow-G, est un nouveau jeu de tir pour Commodore 64 disponible sur itch.io, et il ne cherche pas à être mignon. C'est un shoot 'em up horizontal biomécanique qui puise largement dans l'art de H. R. Giger, l'artiste suisse à l'origine de l'esthétique des films Alien. Au programme : des tubes striés, des chambres à oeufs et des cathédrales d'os, le tout compressé sur une machine 8 bits du début des années quatre-vingt.

Chez IndieRetroNews, on le qualifie de shooter "plutôt correct". Rien qu'à la liste des fonctionnalités, on dirait pourtant que Snow-G visait bien plus haut que "correct".

Chair, os et pixels

Le jeu se déroule sur six niveaux. Chacun est long et possède sa propre identité : il ne s'agit donc pas d'un seul couloir repeint avec une autre palette de couleurs. Les décors défilent avec une parallaxe en mode caractères qui avance pixel par pixel. Concrètement, les différentes couches glissent à des vitesses différentes, ce qui donne de la profondeur au décor sans les saccades dont souffraient certains vieux jeux C64.

Il y a ensuite les graphismes multicolores "façon aérographe", que le développeur dit générer de manière procédurale. Sur une machine à la palette aussi limitée, cette description à elle seule a piqué ma curiosité. L'oeuvre de Giger, ce sont des dégradés doux et des formes organiques et humides, pas vraiment ce qu'on associe spontanément aux gros pixels du C64. Snow-G semble pourtant convaincu que la machine peut s'en sortir.

Des bonus à la Gradius

Sous ses airs de cauchemar, le jeu se joue comme un shooter d'arcade classique. Les armes passent par une barre de bonus flexible, dans le style de Gradius de Konami. C'est vous qui choisissez comment la dépenser : gain de vitesse, lasers ou bouclier.

C'est un choix judicieux. Ce système a toujours récompensé les joueurs qui anticipent plutôt que ceux qui ramassent tout ce qui passe. Snow-G met aussi en avant des zones de collision précises, un point crucial dans un genre où mourir à cause d'un pixel qu'on n'a jamais touché est le moyen le plus rapide de faire abandonner quelqu'un.

La musique est une bande-son originale à plusieurs morceaux pour le SID, la célèbre puce sonore du C64. Pour beaucoup de fans de rétro, une bonne partition SID peut porter un jeu à elle seule.

Un petit avertissement : c'est un jeu très difficile, et il tourne en boucle. Une fois terminé, il recommence. Si vous aimez les shooters qu'on peut boucler tranquillement en une soirée, Void Lancer n'est sans doute pas pour vous.

Des boss qui remplissent l'écran

Les six boss sont la vraie vitrine du jeu. Leurs noms vont de l'Ovomorph Mother à la Hive Queen et, oui, ils sont exactement aussi peu engageants qu'on l'imagine. Ils sont énormes et occupent tout l'écran.

Plutôt que de les construire avec des sprites, Snow-G les assemble à partir de caractères, les blocs graphiques en forme de tuiles du C64. Ils sont animés en douceur grâce aux registres XSCROLL et YSCROLL de la machine, les réglages matériels qui gèrent le défilement fin. La position de l'image suivante est préparée à l'avance dans un tampon caché. Une astuce ingénieuse pour afficher de gros monstres mobiles sur un matériel qui n'a jamais été conçu pour ça.

En plus de cela, le développeur évoque un multiplexeur de 32 sprites. Pour faire simple, c'est une technique qui permet de réutiliser le petit nombre de sprites matériels du C64 au cours d'une même image, afin d'afficher beaucoup plus d'objets à l'écran en même temps. Pour un shooter rempli d'ennemis et de projectiles, c'est quasiment indispensable.

Chargement, à l'ancienne et à la moderne

Void Lancer est livré avec un fastloader maison, ce genre de routine que les jeux C64 utilisaient pour réduire des temps de chargement disquette réputés interminables. Il s'agit d'un chargeur 2 bits avec décompression LZ77, conçu pour continuer à fonctionner même lorsque les interruptions et le DMA de l'écran tournent en arrière-plan.

Le jeu prend en charge les machines PAL standard, la norme télé européenne, associées au lecteur de disquettes 1541 d'origine. Il existe aussi une solution de repli qui s'appuie sur le KERNAL, les routines système intégrées du C64, pour les périphériques SD2IEC modernes. Il s'agit d'adaptateurs pour cartes SD qui remplacent un vrai lecteur de disquettes. Que vous possédiez du matériel d'époque ou une configuration plus récente, vous devriez donc être paré.

Écrit en assembleur - avec un coup de main

Snow-G a écrit le jeu de zéro en langage assembleur 6502, le code bas niveau que comprend le processeur du C64. La sortie s'accompagne aussi d'une mention concernant l'IA : le code a été écrit avec l'aide de l'IA. Ce détail est indiqué ouvertement sur la page itch.io et dans l'article d'IndieRetroNews.

Void Lancer est disponible dès maintenant sur itch.io.

Notre avis

Void Lancer arrive dans une année chargée pour la scène homebrew. Nous avons récemment parlé de projets comme le Rollerball de HAL qui débarque sur Amstrad CPC et une variante de Xevious à défilement horizontal sur MSX. Ce qui frappe ici, c'est l'ambition technique. Des boss en caractères qui remplissent l'écran, un multiplexeur de sprites et un fastloader compatible à la fois avec le 1541 et le SD2IEC : tout indique un développeur qui veut que son jeu soit joué sur de vraies machines, pas seulement sur émulateur.

La mention de l'IA est sans doute ce qui fera le plus parler. La programmation rétro est depuis longtemps admirée comme un travail d'artisan, et il sera intéressant de voir comment la communauté accueille un jeu qui reconnaît ouvertement l'aide de l'IA pour son code assembleur. Quoi qu'il en soit, la transparence de Snow-G est bienvenue.

Pour les fans de shooters, la grande question est de savoir si la difficulté élevée et la structure en boucle paraissent justes manette en main. Les premières impressions le jugent correct, et il sera intéressant de voir si les joueurs sont d'accord une fois qu'ils auront affronté la Hive Queen eux-mêmes.