Retourner au sommaire

Interview : Fano / Easter Egg

Initialement publié sur Push'n'Pop, par Barjack, le 9 septembre 2011.

C'est à l'occasion de la Reset #0 se déroulant à Coutances qu'il nous a été donné l'occasion de faire la connaissance du fort sympathique Fano, le programmeur d'un des meilleurs shoot'em'up sur CPC qui devrait voir le jour à la rentrée, le bien nommé : R-Type.

Salut ! je me nomme Carl-Stéphane BERQUEZ, j'ai 34 ans. Vers 10 ans, j'ai eu contact avec les infâmes TO/MO à l'école et mon père possédait un C64 qui ne m'a jamais fait grand effet.

La vraie révélation a été le 464 dont mon collège était équipé à l'époque. Dans le cadre de la scolarité, on avait des cours d'initiation informatique qui ont vite dégénéré en concours de dessin à coup de PLOT et de DRAW et le mercredi après-midi était consacré à jouer. Que d'après-midi consacrés à jouer à Ikari Warrior et autres Renegade :D

Mon père a ensuite fait l'acquisition d'un 6128 et à force de lobbying féroce ma mère a fini par m'acheter un 6128 (ce qui mine de rien représentait un mois de salaire à l'époque !)

C'est vraiment devenu une passion à ce moment, notamment grâce au manuel de l'utilisateur très bien fait et un BASIC formidable (pour l'époque). A cette époque pré-internet, les magazines spécialisés étaient un gisement formidable d'information et ça a été un plaisir d'apprendre notamment à travers les articles et les listings de Claude le Moullec. J'utilisais Sprite City aussi qui était un outil super sympa pour apprendre.

Barjack, Shap, et Fano à la Reset #0

Au bout d'un moment, lassé par la lenteur du BASIC, j'ai réussi à me dégotter un bouquin d'assembleur (que j'ai toujours) mais faute d'assembleur en lui-même j'assemblais mon code à la main. J'ai ensuite fini par obtenir le fameux DAMS et j'ai pu apprendre grâce aux articles qu'on retrouvait notamment dans ACPC (papy Longshot si tu nous lis, merci !). Je suis ensuite passé sur console mais de temps à autre je démarrais le CPC par moment pour écrire un peu de code. J'ai dû écrire ma dernière ligne de code en 1999.

Je suis revenu au CPC en 2008 juste après la naissance de mon fils. J'ai très vite retrouvé mes marques notamment grâce à la quantité et à la qualité de la documentation qu'on peut trouver sur internet ce qui m'a permis de faire un prototype de schmup sur 6128+ puis RD128+ en fin d'année 2009. Même si ce n'est pas mon domaine de prédilection, il m'arrive de faire des GFXs avec plus ou de moins de réussite comme dans le cadre de ma modeste participation à Color Lines.

R-Type version CPC

La bidouille de R-Type est quelque chose que j'avais commencé il y a au moins 20 ans. A l'époque je désassemblais le code avec disco et je m'amusais à le modifier. J'avais notamment mis au point un système de screenshot qui transférait l'écran dans les banks à l'époque. J'y suis revenu fin 2009 alors que je finalisais RD128+ où j'ai commencé à hacker sérieusement R-Type avec le debuggueur de Winape. L'objectif premier était de patcher les fonctions graphiques, je les ai en grande partie analysées et j'ai posté mes trouvailles sur le “talk” du CPCwiki consacré à R-Type.

Je suis un fan de R-Type (qui est pour moi une beta du 2 que j'adore encore plus) qui a révolutionné le genre à l'époque, que ce soit au niveau réalisation ou au niveau du gameplay. La version CPC n'est pas mauvaise car elle hérite de la version Spectrum qui est une vraie réussite à mon sens pour la machine. Mais les graphismes monochromes souffrant de color clash et l'indigence du son ne rendaient pas hommage au CPC. Je me suis alors dit qu'une version exploitant 128k pourrait être une bonne idée, un peu comme pour RD128+.

La plus grosse difficulté s'est en fait présentée au moment où nous avons eu la meilleure nouvelle pour le projet : l'obtention du code source de la version Spectrum. En effet, le gameplay de version Spectrum devait servir de référence et il fallait y coupler un moteur graphique qui collait au CPC tout en tenant compte de ses contraintes (notamment le rendu au caractère), en gardant une vitesse équivalente tout en doublant la taille des graphismes à afficher. Il a fallu aussi trancher dans les possibilités qu'offre le CPC au niveau du scroll (hard / soft, au char / à l'octet / au pixel avec ou sans usage de R3, simple / double buffer, 64k/128k/512k) tout en gardant le gameplay original. Une fois les arbitrages faits, il a fallu mettre au point le moteur lui-même en essayant d'avoir le maximum d'optimisation.

R-Type version Spectrum

Alors que j'ai eu le code source fin mai, je n'ai commencé à écrire ce nouveau moteur que début août car je voulais savoir où j'allais avant de m'y mettre. Je sais que ça a été une période difficile pour mes co-équipiers car ils ont eu l'impression que j'étais en train d'abandonner le projet, ce qui n'était évidemment pas le cas. Il était juste nécessaire de pouvoir se reposer sur quelque chose de fiable qui ne nécessiterait pas une ré-écriture 6 mois après avec la perte de temps et de motivation qui vont avec. Je dois avouer que le premier lancement du nouveau moteur a été quelque chose car ça prenait enfin forme, et en plus avec un résultat meilleur que celui escompté.

Sur le plan technique, il s'agit tout bêtement d'un rendu logiciel par caractère sur une grille de 32*20 en simple buffer. Il y a 5 éléments de 1 octet par cellule (flags / bank / lowaddr /hiaddr / master), les éléments étant distants de 256 octets afin de permettre leur accès plus rapidement. 6 bits du flag servent à faire le branchement vers chacune des routines optimisées , bank / lowaddr / hiaddr servent à désigner le caractère qui sera rendu à l'écran depuis n'importe quelle banque supplémentaire du 6128. Enfin, master sert à retrouver à quelle entité appartient le caractère rendu afin de tester les collisions rapidement. Le scrolling en lui-même est fait à partir de 4 images décalées du niveau. Un programme sur PC fait ce décalage, élimine les redondances et génère les patterns.

Pendant le jeu, 64k sont utilisés par les graphismes, 16k par les objets communs (joueur, armes , bonus ,etc…), 16k pour les objets du niveau (ennemis) et 32k pour les graphismes du niveau en lui-même. Néanmoins, ce système est assez souple et il est possible d'affecter 16k du scrolling aux objets du niveau comme ça a été nécessaire dans certains cas. Il y a aussi beaucoup de petites astuces et au final ça permet d'avoir quelque chose de satisfaisant au niveau vitesse.

Je suis aussi très content du niveau 4 qui m'inquiétait fortement à cause du plan supplémentaire destructible. Au final, ça fonctionne bien même si ça reste en deçà des autres au niveau de la performance. Le niveau 3 est aussi une source de satisfaction, déjà par le fait qu'il ait fallu gérer un gros objet mobile en partie destructible comme le battleship et aussi par le fait que TotO ait fait un très beau travail sur les graphismes. C'est d'ailleurs le niveau qui nous a demandé le plus de travail car il a fallu plus de 3 mois pour le faire correspondre à nos exigences.

TotO travaille à partir des graphismes de la version arcade. Dans un premier temps, il les adapte aux dimensions voulues puis les travaille pour le CPC. Il y a un travail important de retouche à ce niveau afin de faire coller ces graphismes au CPC, il utilise Paint Shop Pro pour cela. Certains cas sont parfois problématiques et demandent beaucoup de travail comme ça a été le cas pour le battleship du niveau 3 par exemple. TotO est aussi responsable du design des menus qui sont à mon goût très réussis (même s'il a fallu qu'il use ma santé mentale pour en arriver là !). Nous sommes en discussion quasi permanente afin d'obtenir le meilleur résultat possible.

R-Type version CPC 2011

Il s'agit du travail d'iXien qui n'est autre que le webmaster de Amstrad Today. C'est un ami de TotO et c'est lui qui lui a demandé de faire un essai sur le niveau 2. Le résultat fut plus que probant. Mon exigence était que les musiques devaient respecter le plus possible les originales avec les contraintes du CPC (contrairement à la version ST qui dénature celles-ci). Force est de reconnaitre qu'iXien est allé au delà de mes espérances en ce domaine.

R-Type version CPC 2011

TotO et moi sommes admiratifs du soin apporté aux options des jeux japonais de l'époque. Nous avons donc voulu apporter le même genre de chose à travers un sound test comme cela avait déjà été fait pour RD128+ et aussi d'autres options de réglage. Néanmoins, R-Type étant un jeu très exigeant et nous avons voulu le rendre accessible au plus grand nombre. Cela a été fait par une série d'options qui rendent l'expérience de jeu moins frustrante sans dénaturer le jeu original. C'est un mode de jeu totalement inédit qui n'existe dans aucune des versions de R-Type et j'espère qu'il fera des petits.

Je dois avouer que j'ai beaucoup (trop) de projets pour le CPC et le Plus. En ce qui concerne le CPC, j'ai beaucoup d'idées mais rien n'est clairement arrêté à l'heure actuelle. Sur Plus, Project Wildfire a déjà fait l'objet d'un prototype en 2008 mais ça reste largement en deçà de ce que je souhaite réaliser au final. Maintenant que des solutions abordables pour le plus grand nombre arrivent pour le support cartouche (notamment The man in the middle), je souhaiterais faire quelque chose qui soit compatible avec la GX4000 et tirer parti de la machine qui a été tristement sous-exploitée. Il s'agit d'un schmup à déroulement lent orienté tactique comme R-Type avec un système de module et un armement différents. Au niveau technique, il me reste encore un gros problème à solutionner pour pouvoir progresser et ne pas me ramasser lamentablement contre la barrière des 20Knops.

Il s'agit de Greenfields, une adaptation du jeu flash “Mindfield”. Il a été commencé début 2010 avant que le projet R-Type 128k prenne les proportions qu'on lui connait et engloutisse tout mon temps libre. C'est un puzzle game où on doit permettre à un véhicule d'atteindre son objectif en plaçant des objets sur sa route. C'est un concept simple mais très addictif. Les graphismes sont de PapyCPC et la musique de MrLou. Le moteur de jeu est quasi complet mais il reste encore à améliorer la prise en main afin de le rendre plus agréable à jouer.

Star Sabre

De manière plus générale j'ai été assez impressionné par Orion Prime, évidemment au niveau technique mais aussi et surtout par son ambiance formidablement bien rendue. A l'inverse, même si les premiers jeux étaient sympas, je trouve dommage que les Mojons Twins aient poursuivi dans cette voie. Certes, avoir un moteur générique pour accélérer le développement est une bonne idée mais au final on a peu d'innovation et les jeux se ressemblent beaucoup au niveau gameplay.

Je pense que Paul Kooistra aka Axelay montre la voie à suivre en matière de shoot. Ses réalisations sont toujours impeccables même si elles évoluent dans un gameplay assez classique. Star Sabre est une réussite qui me fait beaucoup penser à Zynaps que j'ai adoré à l'époque, en beaucoup mieux évidemment ! Le seul point noir à mon goût serait sa difficulté élevée. J'aime beaucoup Dead On Time qui est un pur arena shooter. Le concept est simple mais il est très addictif et on passe son temps à lutter contre celui-ci. Niveau technique, rien à redire. Les musiques et les graphismes de ce titre sont vraiment sympas pour ne rien gâcher. Je ne suis pas fan du concept de Sub Hunter mais il nous offre là une réalisation impeccable. Je trouve notamment que les graphismes ont gagné au passage sur CPC. Pour finir, je dois avouer que la technique qu'il a déployée pour Edge Grinder m'a impressionné. Même si le scroll au R3 est une technique connue (discutée et discutable), c'est très bien foutu et le CPC est superbement représenté dans ce Format War.

Ca m'a vraiment fait plaisir de voir autant de passionnés du CPC réunis. Ca a été une occasion de mettre une tête sur un pseudo, une prod ou même un post. Ca change tout à la façon de percevoir la “scène” CPC, ça permet aussi de nuancer les propos tenus ici et là, qu'on soit du même avis ou pas d'ailleurs. A mon avis, tout ça contribue à la cohésion autour du CPC/Plus qui est au final notre passion commune. J'ai eu l'occasion de découvrir des personnalités, d'avoir des discussions techniques passionnantes, notamment avec Power et Grim à propos du hard du CPC. J'ai beaucoup aimé le GFX de Rex pour Outer World Music. Les effets présentés sur Plus par Power m'ont aussi impressionné et j'attends avec impatience de voir terminé ce GFX que tu m'as montré lors de notre discussion sur le mode 5. Mais à tout seigneur tout honneur, je tiens à remercier Eliot pour sa gentillesse et pour le mal qu'il se donne à organiser ce meeting. C'était vraiment chouette et j'ai dans l'intention de revenir au prochain !

Retro-Gaming Connexion

C'est moi qui vous remercie pour l'intérêt porté à notre projet. Grâce à PnP à nous la célébrité, l'argent et le succès avec les femmes ! Je lis parfois des choses sur l'ouverture vers les autres machines, je vais dans cette optique en profiter pour faire un peu de pub. Les 5 et 6 Novembre prochain se tiendra, à coté de Meaux (77), la RGC. C'est un meeting orienté rétrogamming généraliste avec des organisateurs super sympas et accueillants. Tout comme à l'Atari Connection, j'y serai en tant que CPCiste et j'espère y voir certains d'entre vous ;)

Lire les commentaires sur cet interview sur Push'n'Pop.