Interview – Guillaume aka Exterminator du groupe Delight

Optimisation ! c’est le terme qui convient de mettre à l’honneur quand on parle de coder de crack intro.
Réussir à en mettre plein les mirettes avec seulement une poignée de kilo octets ! tel fut le crédo de ces discrets programmeurs dont les talents nous épataient à chaque fois que nous lancions un jeu obtenu par des moyens peu légaux.
Et entre nous, n’avez-vous pas conservé des jeux pourris uniquement pour pouvoir de temps en temps admirer la présentation
de votre team favorite ?
Il faut reconnaître que le codeur de cracktro est une bête à part, un homme acharné ! toujours à retourner son code dans tous les sens pour gagner du temps machine, dormant peu et baragouinant des formules mathématiques qui permettent de faire des belles animations 3D qui tournent dans tous les sens.
Nous vous proposons de lire l’histoire de Guillaume alias Exterminator, qui plongea corps et âme dans les arcanes du 68000 et les joies de l’assembleur à l’aube des années 90.
Mais dis-moi Jammy ! comment débute-ton l’assembleur sur Amiga ? Eh bien mon cher Fred c’est tout simple, t’as qu’à lire cet article…

 

Bienvenue Guillaume, pourrais-tu te présenter auprès des lecteurs d’Insert Disk 2 ?

Je m'appelle Guillaume Proux et j'ai participé brièvement à la scène française entre 1991 et 1993 en tant que sidekick d'Anthony Prieur (Paranormal). Mon nom de scène était EXTERMINATOR qui, si je me rappelle bien, m'était venu du nom du virus LAMER EXTERMINATOR qui s’était assez répandu à une époque.
Aujourd'hui cela fait bien longtemps que j'ai
rangé mon Amiga (même si j'ai un Raspberry Pi 3 avec UAE pour rejouer à ces jeux qui ne vieillissent pas et à l’occasion revoir les quelques démos qui nous avaient marqué). Désormais je co-dirige avec un ami une entreprise de services informatique et audiovisuelle, 30 ans après nos amis de WILD COPPER !

Quels furent tes premiers pas dans la micro-informatique et comment as-tu attrapé la fièvre du codage ?

Ma fascination avec l'informatique commença à l'âge de 8-9 ans lorsque dans un atelier informatique à mon école primaire, on nous laissa jouer avec des TO7/70. Evidemment il y avait "L'Aigle d'Or", un jeu qui me fascinait. La possibilité de taper des programmes me fascinait encore plus. Alors du haut de mes neuf ans, j’ai commencé à recopier les programmes d'initiation des manuels Thomson.
Je me rappelle encore très clairement ces instructions:

 

Figure: copie du manuel de programmation du TO7/70

 

 

Je me souviens que j'étais captivé par les possibilités de ce programme de 7 lignes qui produisait à chaque fois un résultat différent à l'écran…. Je crois que c’est exactement à ce moment-là que j’ai voulu me lancer dans la programmation.

Mais enfant d’ouvriers, mes parents n’avaient pas les moyens de nous offrir un micro-ordinateur. Alors pendant des années, je m’abreuvais des informations lu dans TILT, et squattais régulièrement chez des amis: il y avait Fred avec son Amstrad CPC-6128 (SORCERY II!) et Christophe avec son Amstrad CPC-464 (ah les heures de bonheur à attendre la fin du chargement de BOMBERMAN).

Fred acheta alors un Atari 520 STF et la puissance des ordinateurs 16 bits et de la souris me rendais vraiment vert de jalousie (dont les premiers jeux des Bitmap Brothers comme XENON!).

Mais la révélation fut lorsque le grand Fred acheta un Amiga. Il ne fallut pas longtemps pour que je remue ciel et terre pour squatter chez lui de manière régulière…. Halluciné par le fait qu’on pouvait pour la première fois faire passer un FA-18 Interceptor sous le fameux Golden Gate de San Francisco…

Et il y avait aussi les démos, même s’il me fallut un peu de temps avant de vraiment tomber sous leurs charmes.

C’est à partir de ce moment que j’ai monté une offensive auprès de mes parents pour pouvoir obtenir un ordinateur. Acheter un Amiga 500 à l'époque coûtait une fortune pour mes parents (3690 francs sans écran). Je décidai alors de réunir mes économies de bouts de ficelles afin de racheter à mon ami, le grand Fred, son ordinateur ATARI 800XL avec le lecteur de cassette pour 400 francs.  Me voilà chez moi maintenant à monopoliser la prise Péritel de la seule télévision familiale au grand dam de mes parents qui ne peuvent plus suivre leurs émissions préférées. Et si je jouais à pas mal aux jeux que mon camarade m’avait refilés, je passai de plus en plus de temps à réaliser de petits programmes et à recopier ceux que je trouvais dans de vieux journaux. Mon père me demanda alors s’il était possible d'écrire un logiciel qui permettait de relever des informations topologiques sur des sites archéologiques… évidemment, je lui répondis que tout était possible mais “pas avec mon Atari 800XL, car il n’est pas assez puissant”.

Et donc après six mois de squattage intensif de télévision, ce fut à notre grande surprise que nous découvrîmes à Noël sous le sapin (tout en m’étant au préalable bien assuré que mon père n’achèterait pas par erreur une abomination comme l’Atari 520 STF!!!!), non seulement un Amiga 500 tout neuf mais également une petite télé sans marque achetée surement a la foirefouille… Quel Noel!  En ce temps-là J'étais déjà en seconde au lycée!

Mais bien sûr, submergé par les jeux vidéo démentiels de l’Amiga, il me fallut un peu de temps avant que je ne retombe dans la programmation. Cela commença par beaucoup de programmes sérieux en GFA Basic me permettant ainsi de faire mes études de graphes et autres fonctions analytiques, dessiner des courbes sinus et cosinus, résoudre des équations a deux inconnues, du deuxième degré, trouver des solutions à des intersections de courbes par dichotomie, etc…

Les démos commencèrent à envahir mes disquettes et m’obligèrent à faire des longs voyages jusqu’au SURCOUF (Ancienne enseigne informatique parisienne aujourd’hui disparue) ou d’autres petits magasins d’informatiques présents près de gare de l’Est (où mon ami Karl s’amusait à nous emmener en passant via la Rue Saint-Denis tout en apostrophant les dames qui attendaient le bus, comme ma maman m’avait expliqué tout petit…) afin de nous réapprovisionner en disquettes de basse qualité.  Ça valait le coup : 100 disquettes pour 300 francs ce n’était pas cher…

 

Le fier vaisseau de Surcouf a fini par sombrer en 2012

 

Evidemment, j’essayais de faire des petites démos en GFA Basic, mais il y avait tellement de limitations. C'était lent, c'était moche! Toutefois mon vrai problème était que je voulais coller de la musique dans mes productions… et le seul code dont je disposais était une routine de 20 pages en assembleur 68k.  Evidemment je n’y comprenais rien... mais il me fallait comprendre.

J’ai alors commencé à collectionner les différents logiciels de programmation en assembleur allant jusqu'à passer des jours et des nuits à traduire le manuel allemand du mythique logiciel assembleur K-SEKA. Mais le vrai bond en avant fut mon amitié avec Anthony (Paranormal) qui allait nous motiver en boucle fermée avec DEVPAC pour enfin comprendre en détail ce langage ésotérique.

Quelles furent tes expériences dans les groupes démo au lycée ?

À part Anthony et notre ami Seb (le zicos de la bande), peu de gens autour de nous étaient dans les démos ou même pire… ils étaient plutôt basé sur le STF, horreur! Donc nous n’eûmes pas trop d’interactions à part avec une amie de classe que l’on gardera anonyme car elle dessinait pour un groupe de crackers sur Atari et avait la fâcheuse habitude de croquer nos professeures en petite tenue sur ses cahiers!

Au final, ce fut surtout Anthony, Seb et moi au lycée. À l'époque je faisais également partie du club de basket-ball municipal où un des arbitres volontaires, Jérôme, nous avait aussi proposé de passer chez lui. Quelle claque: Amiga 2000 avec disque dur et carte accélératrice ‘030 plus carte MS-DOS qui fut bientôt supplanté par un Amiga 4000. Jérôme et son frère Patrice étaient tous deux de jeunes ingénieurs avec des emplois bien rémunérés. Lui-même ingénieur réseau (on a entendu parler de réseau Token Ring!) et son frère concepteur de circuit imprimés il me semble.

À cette époque, je découvris alors la collection Fred Fish et ces millions de petits utilitaires du domaine public qui rapidement m’aidèrent à me forger des valeurs identitaires pour l’existence du domaine public.

 

Quels fut ta relation « amigale » avec Anthony/Paranormal

En fait depuis le milieu de la seconde jusqu'à la fin de la Terminale, nous passions tous les week-ends chez lui à taper du code ensemble, lire du code, freezer les démos et les jeux grâce à son Action Replay MK2 et fouiller dans la mémoire afin de rechercher des techniques du moment.

Combien de fois on a halluciné en observant les techniques utilisées par certaines démos dont les plus novatrices ? combien de fois avons-nous regardé la démo Copper Master de Angel?

Je me rappelle qu’une de nos premières productions, hélas jamais distribuée, était une démo où nous avions ripé une image inspirée du film Terminator et où nous avons écrit notre première routine de scrolltext. C’est également cette image de Terminator qui m’a poussé à adopter mon nom de scène définitif: EXTERMINATOR. Dès cet instant, avec Anthony, nous avons codé des intros ensemble même si je lui ai laissé prendre tout le crédit… j’avais trop peur de l’APP (Agence pour la Protection des Programmes… quel nom de fou quand même!) mais en vrai toutes nos productions furent estampillées EXT&PRN !

 

La démo Copper Master de Angel (et la fantastique musique de Frédéric Motte) 1991

 

Qu’est ce qui t’as tant fasciné dans la 3D ?

Le vrai problème était que nous programmions sans aucune base mathématique au départ. Même si les formules que l’on trouvait étaient possible à implémenter, nous n’éprouvions aucune insatisfaction à appliquer ces choses sans les comprendre. Jouer avec les sinus (scrolltext et autre plasma) était beaucoup plus satisfaisant. En utilisant nos connaissances de base, nous pouvions combiner plusieurs rotations autour des trois axes élémentaires et en utilisant les formules de projection que nous avions calculées nous-même (Thales!) …. Nous pûmes ainsi faire tourner notre premier cube dans l’espace… d’abord en GFA Basic… puis en assembleur.

Ce n’est qu’au détour de la Terminale avec l’apprentissage des matrices que l’on commença à mieux comprendre le fonctionnement de tout ce bordel et que des notions telles que le produit vectoriel nous permettait d’appréhender l’orientation des polygones afin d'éliminer les parties cachées.

Par contre, je me souviens que nous n’avions pas vraiment cherché à comprendre comment marchait le hardware pour certains besoins, comme par exemple comment le blitter faisait pour tracer ses lignes ou même remplir les surfaces! Nous utilisions des routines pré-faites sans jamais vraiment les maitriser. Je regrette un peu aujourd’hui de n’avoir pas eu les informations pour mieux maîtriser cela…

 

Quel problématique te donna le plus de fil à retordre ?

Ma spécialité c'était le pré-calcul. Je me rappelle vraiment d’avoir été déçu après analyse du code de plusieurs démos, de constater qu’elles effectuaient certains de leurs effets les plus magiques en les pré-calculant tous ! J’essayais de trouver des effets dont une partie serait pré-calculée afin de garder du raster (du temps machine calculé en pourcentage de temps écran disponible) pour des effets bien plus costauds.

Cela amena un week-end mythique où à tour de rôle avec Anthony, nous avons essayé de corriger le bogue (mais non c’est une feature!!) d’affichage d’une routine que j’avais réalisée et qui permettait d’afficher une sphère de points avec très peu de points initiaux pré-calculés. En effet, mon idée était que si sur un cercle il était simple d’utiliser les différentes symétries naturelles pour calculer 7 points à partir d’un point initial (soit 8 points au total), en utilisant les symétries dans la sphère, il était alors possible d’afficher 16 points par simple symétrie (des calculs super simples !) à partir d’un seul point calculé. Je pensais que ma théorie mathématique était solide… et pourtant nous avions eu une bouillie de points immondes. C’est après 48 ou 72 heures de débogage acharné… que je me rendis compte de mon erreur. Les symétries ne fonctionnent pas une fois que la sphère tourne!  Depuis Anthony/Paranormal n’a jamais raté une opportunité de me chambrer! Mais nous avions inventé le concept de pair-programming avant l’heure!

 

La crack intro de Genesia qui illustre l’application évoqué ci-dessus

 

 

Utilisais-tu les plateformes BBS pour communiquer avec les autres membres de la demo scene?

Ma famille faisait les comptes régulièrement et je voyais mon père veiller au grain sur les factures téléphoniques. Il m'était tout simplement impossible d’enrichir France Telecom. La seule chose que je faisais de temps en temps était un peu de 3615 RTL2 pour discuter avec d’autres gens de la scene.

Avais-tu des contacts réguliers avec les autres groupes de la demo scene Amiga?

Les premières personnes avec lesquelles nous avions eu des contacts réguliers étaient dans mon souvenirs Thanatos (qui œuvra aussi chez les Demons groupe rival des Félés NDR) et Zuul de NEWTYPE. C’est eux qui nous ont vraiment introduit dans la scene. J’ai appris le décès de Thanatos il y a quelques années, cela a vraiment fait bizarre. Nous sommes entrés chez IRIS mais sans vraiment y connaître grand monde, puis ensuite nous avons été recrutes par VOYCE de Delight. C’était peut-être la première personne que nous connaissions qui essayait de prendre un vrai rôle de “manager”. Il nous appelait régulièrement (et on lui faisait écouter de la musique pendant 20 min au téléphone !) nous rappelait les deadlines et nous encourageait. C'était drôle car nous étions juste des ados prétentieux et tout ce qu’on voulait c’est de pouvoir dire que nous étions dans le même groupe qu’Audiomonster!

 

Breath of Wisdom BBS Newtype 1992 & One Man Slide by Newtype 1991

 

As-tu eu l’occasion de participer à des coding party ?

Je suis allé à deux événements mais le seul mémorable fut la IRIS PARTY en Décembre 1992. Notre ami Jérôme s’y rendait avec son 4000 et avait accepté de nous y conduire équipés d’un Amiga 500.  Résultat, aucun sommeil pendant presque 72 heures.  Je me rappelle encore que Jerome était un peu dégouté de conduire car une fois dans le voiture pour le trajet retour… nous nous sommes tous endormis d’un seul homme … sauf lui ! Heureusement.

Finalement en rentrant chez moi vers 2h de l'après-midi, j’indique à ma mère que je vais me coucher pour faire une sieste. Je me suis réveillé alors 3h de l'après-midi et je vois ma mère me regarder avec des gros yeux… je venais de dormir 25h d'affilée!

Je me suis retrouvé sur la bande vidéo prise à l’époque et disponible sur Youtube: https://youtu.be/AATomZBEQ2M?t=1166 (le gars en pullover violet violent hum ! hum ! le fashion sense ! pris sur la bande par hasard par le cameraman qui suivait une espèce rare dans le monde de la démo : une blonde sulfureuse style Samantha Fox!)

 

Scènes de vie à la Iris New Year Conference de décembre 1991

 

Quel fut ensuite ton parcours professionnel ?

Après l’école d'ingénieur et ma dernière année que je fis en Angleterre, je ne souhaitai pas aller au service militaire (on le comprend NDR). Je m’inscris donc en fac pour obtenir un report et suivre des cours de Culture et Civilisation Japonaise à Paris 7… Mais rapidement il me fallut subvenir à mes besoins et je commença-donc à travailler pour une petite société DNS Telecom de courtage en service de télécommunication. D’abord à mi-temps puis à plein temps (après avoir complètement zappé la date de mes premiers partiels).

En 1999, je fus accepté pour un emploi à temps plein dans une société japonaise pour un poste d'ingénieur logiciel. J'émigre alors au Japon en Juillet 1999 (où je réside toujours!). J’ai travaillé ensuite pendant presque trois ans pour Symbian où mon embauche fut en grande partie décidée par ma maitrise réelle de l’assembleur 68000. J’appris alors l’assembleur ARM et participa à plusieurs projets de bas niveau d’optimisation.

En 2004, je commençai alors à travailler pour Scala, recruté par le mythique Gerard Bucas, ex-fondateur de GVP et rejoignis la bande de joyeux drilles la plupart recrutées par Scala dans la région de Westchester County près de Philadelphie, le bastion de Commodore avant sa faillite. Cette fois ci c’était pour un poste de technico-commercial (je commençai à avoir des douleurs dans les poignets depuis plus d’un an). J’ai aidé alors à fonder la filiale japonaise et qui lança l’expansion de Scala à travers l’Asie, une aventure qui durera presque 15 ans!

Evidemment la rencontre avec Scala ne s'était pas faite par hasard. Lors de mon arrivé au Japon, mon premier achat conséquent fut un appareil photo numérique 2 MPIX (woohoo!). Voulant faire partager avec ma famille mes aventures, j’opta pour une solution Scala et ses outils super simples en création multimédia.

Mais évidemment patatras ! lorsqu’on utilise du japonais, voilà que le logiciel affiche des pâtés pas beaux ou même pire…crashe! Je pris alors contact avec Scala pour savoir s’ils prévoyaient le support de l’Unicode… et ce fut c’est grâce à cette discussion que Gerard Bucas me retrouvera dans le CRM primitif de l'époque pour me contacter!

Aujourd’hui j’ai lancé ma propre société de service informatique et audiovisuel avec un ami: oomnis Limited (www.oomnis.com). Notre première réalisation de grande ampleur est notre logiciel de gestion des salles de réunion FlexO. J’y contribue de manière modeste, mon binome étant régulièrement énervé de devoir corriger les bogues que j’y aurait introduit….

Quels sont les meilleurs souvenirs que tu conserves de cette période ?

Je pense que les meilleurs souvenirs c’est le fait qu’une bande de geek se retrouvait physiquement et de manière régulière pour partager des petits morceaux de vie.

Dans les anecdotes rigolotes, il y a bien sur Anthony/Paranormal qui voulait que nous soyons physiquement en forme. Mais voilà, Je ne suis et n'était pas un grand partisan de l’effort physique.

Nous faisions alors entre deux séances de coding des séances de culture physique, essentiellement des assouplissements et des pompes (Anthony pouvait faire un grand écart entre deux chaises comme JCVD!). Un jour, complètement fou, Anthony décida qu’il battrait le record du plus grand nombre de pompes en 24h… Et nous faisions alors 20 pompes chacun. A 150 pompes je pleurais mais poussé par Anthony j’ai finalement fini par en faire peut-être 500 en quelques heures. Lui, il se serait arrêté à 1600 pompes (ou était-ce 2000?). Autant dire que pendant les plusieurs jours qui suivirent nous ne codèrent point.

 

Que représente pour toi l’Amiga ?

Comme pour beaucoup de gens, ça a été à la fois une religion et peut être aussi la première “girlfriend” (d'où le nom Amiga?!). On se rappellera toujours de la première girlfriend!

Mais bien plus que cela, c’est l’ordinateur qui m’a transformé d’un ado curieux en un chercheur chevronné, voulant comprendre tous les rouages de la machine. L'élégance du système Amiga, de son hardware m’a toujours impressionné et après avoir connu certains des développeurs de l'époque (le grand Peter Cherna entre autre), il me reste quand même le goût amer d’un grand gâchis...

 

Continues-tu encore à coder ?

Plus trop pour le plaisir… je fais encore pas mal de scripting pour des petits projets dans ma boite, pour l’instant c’est cela qui prend le plus de mon temps. Mais j'espère un de ces quatre pouvoir me poser pour écrire ma première démo depuis plus de 20 ans. Peut-être avant le début de la cinquantaine!


Article rédigé par Alexmenchi