Interview : Upsilandre

Pour ce nouvel interview le site de la PGR ce tourne vers Upsilandre. S’il n’est pas novice dans le monde du jeux vidéo, il a récemment fait parler de lui avec une démo technique d’Axelay sur NES (Axelay est un shoot them up sorti sur la Super Nintendo), on y voit le fameux demake avec des effets que l’on pensait jusque là impossible sur NES.

 

Démo de Axelay sur NES

 

Salut Upsilandre, tu peut te présenter rapidement pour nos lecteurs ?

Oui oui oui je le peux! J’ai 44 ans, technophile depuis toujours, j’ai évidemment joué sur toutes ces machines plus jeunes (je suis surtout un consoleux). J’ai donc vu grandir cette industrie mais mon intérêt pour le retrogaming est assez récent. C’est par la programmation sur Atari 2600 y a 5-6 ans que je me suis découvert un intérêt certain pour le retrogaming et plus largement pour l’histoire du jeu vidéo mais plutôt du point de vue technologique car c’est une histoire très technologique évidemment. Je me sent plutôt de l’ecole Douglas Alves (historien du jeux vidéo pour MO5.com)  :). Et quand je fais des démos c’est plutôt dans une démarche de recherche. Pratiquer pour mieux comprendre (les machines 8 bits principalement car c’est la que tout commence).

 

Cette démo de Axelay NES impressionne du monde, comment est ce possible sur cette machine ?

C’est possible essentiellement parce que je suis un génie… ou alors parce que c’est plus simple qu’il y paraît. je suis certain en tout cas que c’est l’un des 2 :).

Y a déjà un gros malentendu sur Axelay, un mythe a briser, c’est que l’effet “Axelay” n’est pas du mode 7. Et c’est justement parce que c’est pas du mode 7 que c’est reproductible sur un large panel de machine même 8 bits. Ca nécessite principalement de pouvoir modifier les paramètres de scrolling vertical pendant le balayage de l’écran, à chaque ligne, ce que ne permet pas la NES… sauf de façon indirect en bidouillant. Un truc quand même bien tordu mais on est sauvé !

C’est ce que fait la démo. Je modifie les paramètres du scrolling vertical 210 fois par frame, pendant le balayage de l’écran (au lieu de le faire classiquement une seule fois entre 2 frames). Ça permet alors de produire n’importe quelle type de scaling vertical sur l’image (étirement, compression). Ça demande juste un timing précis et de l’optimisation au cycle prêt surtout si on veut laisser un maximum de ressources CPU disponible pour le reste et ça j’y tenais.

Ce qu’on peut dire par contre c’est que cette démo n’aurait pas pu être fait a l’époque. C’est la conclusion surprenante de mes recherches après avoir analysé un certain nombre de jeu du catalogue NES. C’est seulement grâce à la documentation très pointu qu’on a aujourd’hui (NesDev) sur le fonctionnement interne du PPU (le chip graphique de la NES) qu’on peut mettre en place ce type de méthode aujourd’hui. Et ça a été ma plus grande surprise. J’étais convaincu que cette méthode était maîtrisé a l’époque (y a de nombreuse trace dans de nombreux jeux NES) même si pas utilisé de cette façon.

 

Démo de Axelay sur NES

 

C’est jouable sur une vraie Nes/Famicom ?

Oui, ça tourne parfaitement sur une NES NTSC (j’ai pas eu le temps d’adapter le code au PAL) ou sur une Famicom. Suffit de charger la ROM sur un everdrive. Cette effet “Axelay” est entièrement issu du CPU et du PPU de la NES.

Mais ça reste qu’une démo avec des interactions, ce n’est pas un jeu. Y a aucune démarche de gamedesign dedans, uniquement des décisions techniques donc le terme “jouable” est peut être trompeur.

 

Tu compte finir le travail et proposer un jeu complet (on me dit dans l’oreillette qu’on a déjà des pré-commandes si jamais)?

Non d’aucune façon :). Ça n’a jamais été ma démarche. J’ai une approche d’ingénierie. J’expérimente pour mieux comprendre ces machines 8 bits. Je suis pas du tout dans une démarche de création de jeu.

Faire un jeu c’est tout autre chose. Ce qu’a fait par exemple Antoine Gohin (que tu connais bien puisque tu l’as interviewé) avec Twin Dragons en 1 an en partant de quasiment rien, ça c’est un vrai défi bien plus que n’importe quelle démo quelle qu’elles soit. Faut de la méthode, de la rigueur, de l’endurance, un moral d’acier, faire beaucoup de compromis… Les gens surestiment la difficulté derrière une démo et sous estime la complexité que c’est de faire un jeu. Donc non je n’en ferais probablement jamais car jamais je ne pourrais réunir tous les ingrédients que ça nécessite :).

 

Compte tu faire un tuto pour aider la communauté homebrew ?

Je fais des vidéos sur ma chaîne youtube, ça fait longtemps que j’en ai pas fait, possible que j’en fasse une sur cette démo. Mais idéalement c’est plutôt un topic sur nesdev qu’il faudrait que je fasse pour partager mais c’est en anglais et ça complique un peu trop les choses pour moi, à voir.

 

Démo de Axelay sur NES

 

Tu as fait quoi comme étude ? Travaille tu dans le jeux vidéo ?

J’ai quitté l’école relativement tôt donc sans aucun diplôme et je suis actuellement manutentionnaire dans un centre de tri de la Poste donc non je n’ai vraiment aucune accointance avec le milieu ni aucune formation dans le domaine de la programmation, de l’informatique ou de l’ingénierie en général. Juste un gout prononcé pour ces choses là, mais avec certaines limites. La programmation me lasse vite par exemple. Je programme jamais plus de quelques semaines mais au bout d’un ou deux ans ça finit toujours par me manquer donc j’y retourne quelques semaines. Mon expérience en programmation est donc discontinu et assez limité mis bout a bout.

 

Des conseils pour nos lecteurs qui voudraient se lancer sans avoir de bagages ?

Ça dépend beaucoup de la démarche dans laquelle ils sont. Si c’est comme moi par intérêt pour les machines, le hardware, l’expérimentation, alors la programmation en assembleur sur des consoles 8 bits est quelque chose de vraiment jouissif et gratifiant. On apprend beaucoup de choses fondamentales au sens premier du terme. Choisissez pour commencer une machine populaire qui sera alors très bien documenté, ça évite les frustrations, et qui aura donc aussi une communauté active et des émulateurs de qualité avec des outils debug avancés (par exemple la NES ou l’Atari 2600).

Si ce que vous voulez c’est plutôt créer des jeux sur des machines retro et avec un intérêt limité pour le hardware alors tournez vous vers un langage plus évolué comme le C et dans ce cas plutôt vers une machine comme la Megadrive bien plus adapté a ce type d’approche tout en ayant aussi une communauté très active (et très francophone).

 

Démo de Raster sur Master System

 

Axelay est ton premier projet ?

Difficile de définir où se trouve la limite entre projet et simple expérimentation. j’ai expérimenté sur Atari 2600, Colecovision, Master System et NES (et y a très longtemps sur PC) mais toujours en assembleur pour les raisons que j’ai évoqué. La démo Axelay est juste une expérience parmi d’autre mais par contre il est vrai qu’a chaque fois je soigne un peu plus l’habillage donc dans la forme ça évolue, ça se décale.

 

Merci Upsilandre pour ton temps, tu nous tiens au courant à la PGR si tu sort une vidéo « tuto » ou si tu travaille sur autre chose ?

Y a de forte chance que j’entre plutôt dans une période sans programmation car j’ai eu ma dose mais c’est entendu, et merci a toi.

 

Vous pouvez retrouver la démo technique de Axelay Nes à cette adresse, jouable via émulateur ou NES NTSC pour le moment).

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *