Fiction-interactive.fr

Rétro-informatique

Liste des articles :

Qu’est-ce que la Z-Machine ? - Hugo Labrande

Entretien avec Hugo Labrande sur son portage de Même les pommes de terre ont des yeux ! - Stéphane Wiart

Créer un jeu d’aventure des années 80, maintenant ! - Hugo Labrande

Entretien avec Pierre Durant sur l’actu de Froggy Software – Stéphane Wiart

De la grammaire des jeux à parser – Hugo Labrande et Grégoire Schneller

Entretien avec Stefan Vogt, auteur de FI modernes sur ordinateurs 8 bits ! - Hugo Labrande

Cet ebook compile des articles parus sur le site http://www.fiction-interactive.fr, centrés sur le thème des fictions interactives sur ordinateurs « rétro » (surtout les micros des années 80).

Nous publions un article sur la fiction interactive, et plus largement les narrations non-linéaires, tous les vendredis de septembre à juin.

Si ces articles vous ont plu, n’hésitez pas à :

parler de http://www.fiction-interactive.fr autour de vous ;

nous rejoindre sur notre serveur Discord ;

faire un don à notre compte paypal (paypal@fiction-interactive.fr), qui servira à couvrir nos frais d’hébergement et à proposer des prix pour notre concours annuel.

Qu’est-ce que la Z-machine ?

Hugo Labrande

Aujourd’hui, un sujet technique, mais qui devrait ravir les gens qui s’intéressent à l’abandonware. Je vais vous parler du format d’histoires utilisé par Inform, et pourquoi ça veut dire que vous (oui, vous !) pouvez créer en un clic des nouveaux jeux qui marchent aussi bien sur Android que sur l’Amiga, sur iOS ou sur Apple II !

La Z-machine

Je vous fait la version courte ; si vous voulez en savoir plus, je vous encourage à lire la page Wikipédia sur la Z-machine (que j’ai écrite, au passage…).

Dans les années 80, le marché du jeu vidéo était fragmenté en une dizaine de micro-ordinateurs, chacun avec ses spécificités, et incompatibles entre eux : les jeux disponibles pour Commodore 64 n’étaient pas disponibles pour Oric, ou Apple II, à moins que le développeur décide de recoder le jeu (plus ou moins) pour qu’il tourne sur ceux-ci. (Il y avait des facteurs qui aidaient : même processeur, écriture en BASIC, etc., mais pas tout le temps.)

De nos jours, on n’a pas ce problème : un créateur de jeux vidéo n’a pas besoin de faire une version pour les HP et une autre pour les Toshiba : le système d’exploitation, comme Windows ou Linux par exemple, unifie la façon dont les ordinateurs marchent. Mais il nous reste quand même un petit nombre de plateformes incompatibles entre elles (Windows, macOS, Linux, Android, iOS, etc.). De nos jours, les développeurs ont des outils pour produire des versions de leur jeu adaptées à chaque environnement, mais à l’époque, beaucoup moins.

Infocom, l’entreprise majeure dans le domaine de la fiction interactive, dont les jeux sont la référence pour les anglophones, est parvenue à sortir tous ses jeux pour plus d’une dizaine de micro-ordinateurs différents. Comment ont-ils fait ? Leur solution a été de créer une « fausse machine », une machine virtuelle, la fameuse « Z-machine », et de coder leurs jeux pour cet ordinateur virtuel. (La Z-Machine n’est donc pas un objet physique, juste un objet théorique !) Ensuite, il leur a suffit d’écrire un programme pour Apple II qui se comporte comme la Z-machine, puis un programme pour l’Atari ST qui se comporte comme la Z-machine, et ainsi de suite. Une fois ces programmes écrits, ils n’y touchaient plus ; ils créaient leur jeu en format Z-machine, puis sur les disquettes ils mettaient le jeu et le programme correspondant au micro-ordinateur visé !

Il y eut plusieurs versions de la Z-Machine, avec plus ou moins de fonctionnalités. De nos jours, les versions qui nous intéressent sont la version 3 (extension .z3, 128 ko max), la version 5 (fichiers .z5, 256 ko, quelques fonctionnalités en plus comme la gestion du temps réel), et la version 8 (.z8, 512 ko). La version 6.34 du compilateur Inform 6 peut sortir un jeu dans n’importe quel de ces formats !

Quelques années plus tard, lorsque Graham Nelson a créé le langage de programmation Inform (qui sert à créer des jeux similaires — même qu’on a plein de tutos sur notre site !), il s’est assuré que le format de sortie était bien la Z-machine : tout le monde pouvait écrire des jeux dans le même format que celui d’Infocom ! Une révolution à l’époque, qui a contribué au succès immédiat d’Inform.

Traducteur de machines

Le fait qu’Inform permette d’obtenir un fichier de jeu Z-machine veut dire qu’en théorie, un jeu que vous avez codé avec Inform peut tourner sur les mêmes micro-ordinateurs que ceux visés par Infocom. Il suffit de récupérer le programme pour ce micro-ordinateur qui se comporte comme une Z-machine : le mot technique est « interpréteur » (même si c’est une mauvaise traduction de l’anglais interpreter, qui veut dire « traducteur/interprète »). Par exemple, certaines personnes ont réussi à extraire l’interpréteur qu’Infocom avait écrit pour l’Apple II et à s’en servir pour faire des disquettes qui lancent leur propre jeu sur Apple II. Idem pour le Commodore 64 — et même, encore mieux, une équipe a codé leur propre interpréteur, Ozmoo, qui va plus vite et permet de lancer des jeux plus gros que celui d’Infocom, en plus de prendre en charge les accents français ! On peut également lancer les jeux sur Amiga, avec Frotz.

Et ça, c’est assez incroyable ! Ça veut dire que vous pouvez télécharger Inform 6 sur notre site, suivre nos tutos, faire un petit jeu, suivre les instructions ci-dessus, copier tout ça sur la bonne disquette, remonter au grenier de chez vos parents, trouver le vieil ordinateur poussiéreux des années 80, mettre votre disquette dedans, et votre jeu se lance ! Ensuite vous pouvez remonter dans le temps et vendre votre jeu (où le personnage a un iPhone et mange des kebabs) pour 300 FF sans problème. Blague à part, les FI sont à ma connaissance le seul type de jeu vidéo que l’on peut facilement créer nous-même et faire tourner sur tout un tas de machines anciennes !

Quel tas de machines anciennes ? Difficile d’avoir une liste exhaustive, mais il y a quelques ressources en ligne, comme par exemple ce tableau officiel d’Infocom, mais qui n’intègre pas les interpréteurs amateurs codés depuis ! Allez, je tente : Apple II, Commodore 64/128, Atari XL/SE, Atari ST, TI-99/4A, Amiga, TRS-80, Osborne, Amstrad CPC, IBM PC, DOS, MSX, ZX Spectrum Next, BBC Micro, Acorn, Commodore PET, Commodore Plus/4, et Oric ! Mais attention, tout n’est pas toujours 100% possible ou compatible ! J’en parle dans la section suivante.

Mais il y a mieux que les interpréteurs pour vieilles machines. Déjà, notons qu’il existe des interpréteurs pour nos systèmes actuels : vous pouvez jouer à la même fiction interactive sur Windows, Mac, et Linux avec Gargoyle, ou sur iOS (Frotz) et Android (Text Fiction) — et ce, sans que l’auteur ait eu besoin de faire quoi que ce soit. Vous pouvez même y jouer dans votre navigateur grâce à Parchment, l’interpréteur JavaScript qui nous permet d’avoir des boutons « Jouer au jeu en ligne » sur notre site. Et en fait, tant qu’un appareil permet d’afficher du texte, vous pouvez coder un interpréteur qui lance des FI sur cet appareil ! On peut ainsi jouer à vos jeux sur un Raspberry Pi, sur un Palm Pilot (mais si, les PDA), sur une Dreamcast, sur un stylo LiveScribe, ou même, grâce à mon collègue Natrium729, tous ensemble sur notre salon Discord !!

Les limites de la machine

Il y a quelques limitations à ce que je viens de vous dire. Commençons par celles qui peuvent se poser sur les ordinateurs rétro, auxquelles je faisais allusion plus haut. Il y a plusieurs problèmes qui peuvent se poser :

L’interpréteur disponible sur la plateforme (par exemple, celui qui a été gratté des images disque d’Infocom de l’époque) ne peut pas lire tous les types de fichiers ; typiquement, sur les vieux ordinateurs, il est possible de lire les fichiers .z3, mais pas les .z5 ou les .z8. Ça peut être parce que l’interpréteur est vieux et on pourrait aller plus loin en étant plus malins dans le codage (les interpréteurs Infocom n’étaient pas particulièrement optimisés), ou alors…

parce que la machine est physiquement incapable d’avoir une Z-machine, ou une Z-machine qui lit des fichiers plus gros que 128 ko ; par exemple, si la mémoire est insuffisante, ou si l’ordinateur ne peut pas adresser des espaces aussi grands que ça. (Je pense que c’est par exemple un problème sur les TI-99/4A.) Un autre souci est celui des cassettes : certaines machines, comme le ZX Spectrum, n’avaient pas de lecteurs de disquettes mais un lecteur de cassettes. Or, les cassettes, ça se lit en avançant (vous ne pouvez pas accéder à n’importe quel bout de données, au contraire des disquettes, qui ont cet « accès aléatoire »), et donc il faut que les données soient arrangées d’une certaine façon ; impossible pour les jeux Infocom, qui nécessiteraient de tout stocker en mémoire vive !

Enfin, il peut arriver qu’il n’y ait juste pas d’interpréteur écrit pour la plateforme. Infocom n’a par exemple jamais sorti ses jeux sur Oric ou sur ordinateurs Thomson (comme le TO-7) ; des passionnés ont ensuite fait des interpréteurs Oric, mais pour le Thomson, ça n’existe pas, ou pas encore devrais-je dire…

Il y a aussi une contrainte au niveau des formats de sortie. De nos jours, pour écrire un jeu Z-Machine, il faut utiliser Inform 6. En effet, Inform 7, qui se base sur une approche différente, génère beaucoup plus de code (et ça ne s’arrange pas avec les versions) ; en conséquence, il y a quelques années, l’équipe d’Inform 7 a annoncé abandonner la possibilité de créer des jeux pour la Z-Machine (utilisant un autre format, Glulx, à la place).

Enfin, une des limitations est malheureusement celle des accents… C’est celle qui m’embête le plus pour tout dire. La Z-machine (en tout cas, la version Inform — j’avoue que ça n’est pas très clair) est capable d’afficher les accents, mais la plupart des interpréteurs ne les prennent pas en charge… Mettez votre jeu dans un interpréteur pour vieux ordinateurs et il y a des chances que les accents soient illisibles, et votre jeu aussi ! C’est dommage, et c’est une combinaison de « les vieilles machines sont limitées » et « les anglophones s’en fichent »… Espérons qu’un jour ça soit résolu !

Car oui, il me semble qu’il y a clairement un côté « les anglophones s’en fichent », parfois… Par exemple, la dernière fois que j’ai regardé, Frotz, un des interpréteurs de référence, ne pouvait pas afficher les accents et autres caractères Unicode. La priorité était alors de régler les problèmes de prise en charge de sons pour le seul jeu Infocom qui les utilisaient (la version Amiga de The Lurking Horror), plutôt que les accents, qui ne sont utilisés que par un seul jeu Infocom (la traduction allemande de Zork – si, si !). Oui d’accord, mais il n’y a pas qu’Infocom qui utilise la Z-Machine… résultat, je ne peux pas jouer à mes jeux avec RetroPi sur mon Raspberry Pi…

Un défi !

Je termine cet article par un rêve, et un défi pour vous. Les premiers ordinateurs n’avaient pas d’écran, et le résultat et le texte étaient imprimés sur du papier ; certains jouaient à Adventure comme ça dans les années 1970. Mon rêve serait d’avoir un système similaire, en couplant un Raspberry Pi avec une imprimante thermique (celles qui impriment les tickets de caisse) ; il y a un tutoriel pour faire quelque chose de similaire sur Internet. Je pense que l’on peut prendre un Raspberry Pi (modèle 3 avec WiFi par exemple), y faire tourner une Z-Machine qui donne le texte sur la sortie usuelle (avec les accents…), puis rerouter la sortie vers l’imprimante thermique pour que ça soit imprimé immédiatement. La façon de communiquer avec le Raspberry Pi est à préciser : par Bluetooth, par Twitter,  par une application spéciale, en envoyant un courriel, n’importe. J’annonce que je suis prêt à offrir un prix, disons de 50 € pour l’instant, à quiconque me fera un tutoriel avec les bons scripts qui font tout ! (En plus de ce prix, nous publierons le tuto ici, et en parlerons autour de nous — personnellement je pense que ce genre de dispositifs peut intéresser les bibliothécaires et les enseignants !)

À vous !

Entretien avec Hugo Labrande sur son portage de Même les pommes de terre ont des yeux !

Stéphane Wiart

Bonjour ! Je suis Stéphane Wiart, sur le forum depuis un peu plus de deux ans. J’ai mené quelques projets à terme en découvrant Inform 7 et ink ; mon dernier, Violette, a été écrit en ink, et j’en ai réalisé une version matérialisée (même si les intéressés peuvent m’envoyer un mail pour y jouer !). Je m’intéresse beaucoup au retrogaming, notamment aux jeux Magnetic Scrolls ou Scott Adams, mais aussi aux jeux francophones, comme ceux de Froggy Software… Et c’est pour ça que j’ai envoyé quelques questions à Hugo Labrande, qui a réalisé un portage de Même les pommes de terre ont des yeux ! il y a quelques années, car la démarche m’intéresse, pourquoi pas pour m’y essayer. Ce qui suit est notre conversation…

Stéphane : Quand as-tu commencé le projet ? Combien de temps t’a-t-il pris ?

Hugo : Je suis allé chercher dans les archives du forum (c’est l’avantage du forum par rapport aux salons de conversation !), et j’ai retrouvé le sujet du forum correspondant ! Et donc, je l’ai commencé le 24-27 juin 2007, fini en une semaine, et posté le 2 juillet 2007. Tiens, j’avais eu l’impression que ça m’avait pris plus de temps que ça… En tout cas, j’étais en vacances cette semaine-là donc j’avais beaucoup de temps libre.

S : Quelle était l’ambition de départ ?

H : Comme c’est écrit dans le fil du forum, mon inspiration c’était le projet« From Hell », de Roberto Grassi, un auteur italien de fictions interactives. Ce projet visait à réimplanter des vieux jeux en Z-code/Inform, pour tirer parti du fait que la Z-machine est très portable et donc que ces jeux pourraient être joués sur énormément de plateformes. (En 2007 c’était particulier : on pouvait jouer à des jeux Inform dans un navigateur avec une applet Java qui marchait vraiment pas tout le temps. x) C’était avant le JavaScript, et Parchment, qui a ensuite engendré Vorple. Mais bon, c’était possible d’y jouer sur un navigateur, ce qui était plus pratique qu’un émulateur Apple II.)

Je crois aussi que je cherchais un petit projet à faire pour manger plus d’Inform 6, pour vraiment me familiariser avec le langage.

Pour la petite parenthèse, d’après ce que j’ai pu comprendre en discutant avec des Italiens, leur scène fiction interactive est très portée sur les jeux rétro (leur forum est un sous-forum d’un site de jeux rétro, OldGamesItalia, si je ne dis pas de bêtises). Normal que ce projet vienne d’eux, en quelque sorte. Je me disais qu’il devait bien y avoir des francophones qui veulent jouer aux jeux Froggy Software ; mais ça n’était pas la même chose sans les images, et je n’ai pas vraiment réussi à intéresser particulièrement la communauté abandonware en France. Mais c’est très drôle de me voir jeune fougueux en 2007 en train d’essayer de faire grandir la communauté et son nombre de jeux disponibles ; à l’époque on était un peu plus en mode survie niveau organisation du concours, il me semble, et on se disait que peut-être qu’en ayant plus de jeux on attirerait du monde. C’est pas exactement comme ça que ça s’est passé mais on s’est bien amusés et voilà que 12 ans après ça intéresse quand même des gens. 🙂

S : As-tu disposé du code source ou as-tu fais du « retro-engineering » ?

H : Je n’ai pas disposé du code source ; je ne crois pas qu’il soit disponible, et dans tous les cas je m’y connais très peu en vieux ordinateurs. C’était du « retro-engineering », c’est-à-dire jouer au jeu en testant tout (en m’aidant d’une solution, il me semble) et en notant tout, puis en le retranscrivant en Inform 6… Il n’est pas exclus qu’il manque des commandes, mais j’avais inclus quelques commandes bonus comme les insultes, donc j’avais tenté pas mal de trucs je pense…

À noter que quelque temps plus tard, j’ai fait un portage du jeu La femme qui ne supportait pas les ordinateurs, toujours chez Froggy Software ; là pour le coup le portage est beaucoup plus fidèle à l’original, puisque les seuls choix sont « oui » ou « non » (donc j’ai exploré tout l’arbre et toute la structure du jeu méthodiquement) et que le jeu est en mode texte uniquement, comme un jeu Inform de base.

S : As-tu contacté l’équipe originale ?

H :Comme mentionné dans le forum, voilà comment ça s’est passé : je ne m’en suis pas préoccupé, et quelqu’un d’autre (Yoruk) a envoyé un mail à Jean-Louis Le Breton, cofondateur du studio et programmeur pour le jeu, pour lui demander ; il a dit : « je n’y suis pas opposé tant que ça ne se fait pas dans un but commercial » ; ce qui n’était pas le but de toute façon.

Pour mon autre projet de réimplantation rétro, La femme qui ne supportait pas les ordinateurs, quelques mois plus tard, j’avais contacté l’autrice principale, Chine Lanzmann, notamment pour retrouver l’image disque, qui était introuvable sur le Net, et aussi avoir son accord. Le temps qu’elle me réponde, je l’avais retrouvée grâce à Deckard, quelqu’un de chez GrosPixels, qui me l’a retrouvée et envoyée (j’ai encore l’email plein de smileys que je lui avais envoyé à l’époque), et j’avais fait la transcription du jeu ; « incroyable ! vous m’épatez ! bien sur je vous donne mon feu vert ! » m’a-t-elle répondu !

S : As-tu transposé à la lettre le titre initial ou as-tu apporté des éléments supplémentaires (nombre d’objets, interactions…) ?

H : J’ai essayé de retranscrire à la lettre, sans ajouter d’indices ou d’objets en plus. Il est possible que j’aie ajouté quelques synonymes à la volée (genre dire « ah ça serait bien qu’on ajoute « speakerine » en synonyme de « présentatrice » ») mais je ne pense vraiment pas ; je voulais vraiment faire un portage le plus fidèle possible sans avoir accès à la source (j’aurais testé si le synonyme était dans le jeu original avant de l’inclure je pense).

Par contre, la grande différence est que je ne pouvais pas inclure d’images dans le jeu à l’époque. Enfin, je pouvais en théorie, mais je ne savais pas trop comment faire et je n’avais pas vraiment envie de chercher, ça n’était pas le but. Du coup, j’ai remplacé les descriptions originales par des descriptions un peu plus explicites, qui décrivaient les objets (hélicoptère, gardes, etc) présents à l’écran. Je pense que ça n’est pas très grave, mais bon quand même.

Ah et tout de même, il y a une image qui a été transcrite, pour l’écran de game over : un pistolet, dessiné en ASCII par Yoruk. 🙂

J’en ai un peu parlé dans l’article sur Vorple et les jeux old school, mais maintenant que (douze ans plus tard…) je sais comment faire pour ajouter des images et avoir une interface similaire, il faudrait faire une capture d’écran de toutes les images et les intégrer au jeu, et enlever ces nouvelles descriptions, si on veut coller encore plus au jeu original.

S : Quelles difficultés as-tu rencontré ?

H : Je ne me souviens pas vraiment de difficultés à part celles qui venaient de mon manque de maîtrise de l’outil. Un point qui était un peu ennuyeux c’était la gestion des verbes, et surtout les quelques tournures spéciales (genre un mot de passe à taper sans verbe) à prendre en compte à des points précis ; en Inform 6 c’est un peu particulier à gérer quand on n’a pas l’habitude, mais en Inform 7 c’est un peu plus simple car on peut dire des phrases entières entre guillemets. Rien de très difficile à gérer dans tous les cas (vu que j’étais pas extrêmement fort à l’époque et que je l’ai fait en une semaine).

S : Pourquoi sous Inform ?

H : Le format de sortie de Inform s’y prête (le parser est déjà codé, il y a déjà beaucoup de réponses standard prévues, une géographie, etc.), et le but de ce projet pour moi était surtout, je crois, de me faire la main sur Inform 6.

S : Tu n’as jamais eu l’envie de créer un jeu non dématérialisé ? Un peu comme mon projet Violette, ou comme le travail de Brutaldeluxe sur La crapule pour Apple II/Mac. Une simple feuille A4 pliée dans un zip-lock, avec la notice et l’illustration, par exemple ?

H : Comme je l’ai mentionné, je ne connais pas du tout la scène abandonware ou vieux ordinateurs (j’ai lu des livres, mais je n’en ai jamais touché un de ma vie). Le style des années 80 est particulier et rigolo, et y’a le facteur nostalgie qui joue ; j’avoue que faire quelque chose dans ce style m’intéresse.

J’aime bien l’idée théorique qu’un jeu Inform peut potentiellement se retrouver sur un vieil ordinateur, mais sachant que je n’ai pas le matériel et pas vraiment les compétences techniques, il faudrait que quelqu’un le fasse pour moi quoi. 😉 D’ailleurs on aura quelqu’un qui écrira un article pour nous sur ce sujet à la rentrée…

Par contre, un projet dont j’avais parlé dans un article précédent serait d’arriver à brancher Inform (sur un Raspberry Pi ou un Arduino) à une imprimante thermique (celle des tickets de caisse). L’idée de taper quelque chose et que le reste du texte s’imprime sur un papier me plait beaucoup, mais là encore il faudra que j’ai du temps pour regarder les détails. 🙂

S : Tu n’as pas intégré de graphismes. Était-ce un choix délibéré ?

H : C’est plutôt quelque chose qui était une contrainte technique. En Z-machine, il y a en théorie une extension (la V6) pour intégrer des graphismes, mais personne ne l’a jamais utilisée pour faire des jeux à l’époque moderne (y’a 2 jeux Infocom de la fin des années 80 qui le font et c’est tout). J’avais vaguement pour projet de le faire, j’avais trouvé un tutoriel, mais bon. Après il y a aussi Glulx, qui permet en théorie d’avoir un écran splitté avec image en haut et texte en bas (Ekphrasis le faisait en format gauche-droite) ; c’est bien plus abordable mais à l’époque vu mon petit niveau, c’est bof.

Là de nos jours, avec Vorple, j’ai vraiment l’impression que c’est à portée très facilement ; c’est pour ça que je l’ai mentionné. Je trouve que ce genre de jeux se prête relativement peu au jeu sans images ; peu de texte, des réponses lapidaires, si y’a pas les images pour l’ambiance ça me plaît moyen. Pour moi, un jeu en mode texte seulement doit être soit plus étoffé et littéraire, soit plus profond et complet comme un open-world.

S : As-tu d’autres projets de transcriptions ? Autres titres de Froggy, The Hobbit…

H : Pas vraiment, enfin ça me plairait mais je ne sais pas si j’ai le temps ou l’envie de mener ça tout seul. Si je le fais, il me faudra de l’aide : quelqu’un qui me recopie les réponses à intégrer, ou qui me décompose les énigmes, quelqu’un qui me donne les images, etc. Je pense que ça pourrait être bien si il y a une petite équipe, ou si le développement se fait sur Twitch avec plusieurs personnes qui discutent pour me motiver.

Pour ce qui est des jeux, ça serait bien d’avoir quelques classiques, comme Le passager du temps, ou SRAM, ou Le diamant de l’île maudite, pour toucher le maximum de gens. Le passager du temps serait celui qui me motiverait le plus, car beaucoup de gens s’en souviennent avec émotion, et l’interface est très chouette. En Froggy j’avais aussi pensé au Crime du parking, parce qu’il est intéressant dans son ambition (et il a le premier personnage gay du jeu vidéo au monde), mais en y jouant je le trouve plutôt puéril dans son traitement et il y a des choses qui ne passent vraiment pas en 2019.

Merci !

Merci à toi ! Je suis très content de voir qu’un projet qui m’a amusé il y a douze ans peut encore intéresser d’autres gens !

Créer un jeu d’aventure des années 80, maintenant !

Hugo Labrande

SRAM, Orphée, Les passagers du temps, Kikekankoi, Le pacte… La fiction interactive francophone dans les années 80, c’était bien particulier : des illustrations en haut de l’écran, quelques lignes de description, et un analyseur syntaxique qui répondait aux insultes (je ne sais pas pourquoi, mais c’était important apparemment). La tradition s’est perdue, et les raisons sont multiples ; notamment, les formats qui ont permis l’éclosion d’une communauté amateur sont issus de la communauté anglophone, où la référence reste Infocom et ses jeux sans images. Mais depuis quelques temps, on a des outils qui vont plus loin, et qui permettent de faire exactement ce qu’on veut : l’un de ces outils, c’est Vorple (mon chouchou), et voici un tutoriel pour vous lancer.

Avant tout, posons les choses

Puisque je pense que cet article va intéresser pas mal de monde hors de nos lecteurs habituels, un petit propos liminaire.

Bonjour ! Nous sommes Fiction-interactive.fr, une communauté qui fait des aventures textuelles en amateur depuis 2002 ! Nous faisons des jeux à choix multiples, qui vont encore plus loin que les livres dont vous êtes le héros, mais aussi (et surtout, historiquement) des jeux d’aventure avec analyseur syntaxique, ceux où on doit taper une commande pour avancer. Nous utilisons principalement deux langages : Inform 6 et Inform 7, qui, malgré leurs noms, sont très différents dans leur approche et leur syntaxe. Le format de sortie de ces langages spécialisés a des contraintes spécifiques (par exemple, voir cet article) ; mais récemment, une extension nommée Vorple, qui marche aussi bien avec l’un qu’avec l’autre, permet de s’affranchir de ces contraintes et d’aller beaucoup plus loin, et c’est ce qu’on utilisera dans ce tutoriel !

Si vous avez une question sur I6 ou I7, demandez, mais sinon, vous pouvez aller sur notre Discord ou notre forum !

Que va-t-on faire aujourd’hui ? On va faire des jeux en Inform, qui peuvent être joués dans un navigateur Internet, et qui ressemblent à ça.

D’ailleurs, je vous ai fait un tout petit exemple pour cet article ! Cliquez ici pour y jouer et ici pour consulter le code source ! Et pour commencer à bidouiller, je vous ai mis tout ce qu’il faut pour commencer (et le code source du jeu ci-dessus) dans un kit de démarrage !

Si vous voulez en faire des applications pour les mettre sur Steam ou itch.io, c’est possible, mais un peu complexe ; on aura un tutoriel sur le sujet bientôt, mais pour l’instant ça ne marchera que dans un navigateur. Par contre, autant annoncer la couleur : ces jeux ne tourneront pas sur un CPC ou un Amiga, on n’a pas moyen de les compiler et ils seraient trop gros ; faux rétro diront les uns, une chance de pouvoir faire un jeu aussi gros que vous voulez dans ce style-là diront les autres ! 😉

Prêts ? C’est parti.

Le code Inform 6 qui a inspiré cet article a été développé pour le jeu Panoptique, que j’ai écrit avec Nighten Dushi. Si vous voulez voir à quoi peut ressembler un code complet, voici le fichier source.

La barre de statut de Vorple

Dans le format de sortie des jeux Inform, il y a un petit espace dédié à la barre de statut : une ou deux lignes qui restent en permanence en haut de l’écran (le texte défile dessous) et qui affiche quelques informations comme le nom de la salle, le score, etc. La dernière version de Vorple permet de prendre cela en charge, et le système est même plus puissant et flexible que dans Inform de base. Bien sûr, ceci veut dire qu’il faut installer Vorple et faire les bonnes choses pour que ça marche : je vous renvoie aux tutoriels que l’on a écrits sur notre site pour démarrer.

Concrètement, dans Vorple, la barre de statut est un objet HTML qui contient quatre choses différentes : la partie gauche (status-line-left), la partie du milieu (status-line-middle), la partie droite (status-line-right ), et un conteneur spécial, status-line-mobile, qui est utilisé dans le cas où l’espace de jeu est petit (quand on rapetisse la fenêtre ou sur mobile). Si vous voulez, par exemple, écrire le nom du lieu en haut de l’écran, centré, et qu’il soit mis à jour à chaque tour, il vous faut juste dire à Vorple de changer le focus d’écriture pour le placer dans status-line-middle, écrire le nom du lieu, et relâcher le focus ; ce bout de code devra être mis dans le livre des règles de mise à jour de la barre de statut, qui est exécuté à chaque tour. En Inform 6, ça donnerait tout simplement

Object MyStatusLineRule "" StatusLineRulebook,

 with description [;

 VorpleStatusLineClear();

 VorpleSetOutputFocus("status-line-middle");

 print location;

 VorpleSetOutputFocusMainWindow();

 ];

Et en Inform 7, quelque chose comme :

For constructing the Vorple status line:

 clear the Vorple status line;

 set the output focus to the element called "status-line-middle";

 say "[the player's surroundings]";

 set the output focus to the main window;

 rule succeeds.

Et on peut mettre n’importe quoi dans une barre de statut… Vous me voyez venir : mettons-y nos images ! Ceci permet aussi, automatiquement, d’avoir le texte qui défile en dessous de l’image.

En vérité, il existe un moyen plus facile de modifier la barre de statut quand on ne veut qu’afficher du texte, mais comme notre but est d’afficher des images, on ne va voir que cette méthode « compliquée ».

Il y a seulement un petit problème : la barre de statut va recouvrir le haut du texte, donc on ne verra pas le début. On peut remédier à cela en ajoutant de la marge au texte. Avec I6, il faudra ajouter VorpleExecuteJavaScriptCommand("$('#window0').css('margin-top', '320px');"); après VorpleInitialise() dans Initialise. Avec I7, ce sera execute JavaScript command "$('#window0').css('margin-top', '320px');"; dans une règle Vorple Interface Setup. (Bien entendu, il faut remplacer le 320px par la hauteur de vos images.) Il est aussi possible d’ajouter ce CSS directement dans la feuille de style.

Une première solution

Avant tout, il faut dire à Vorple qu’on veut une barre de statut, avec une seule colonne (c’est la colonne centrale, centrée, par défaut). En Inform 6, il faut mettre les lignes suivantes à la fin de votre fonction habituelle Initialise :

VorpleInitialise();

VorpleConstructStatusLine(1);

Et ne pas oublier d’inclure vorple-status-line.h. En Inform 7, il faut écrire Include Vorple Status Line by Juhana Leinonen, et ensuite écrire la règle :

When play begins:

 construct a Vorple status line with 1 column.

Ensuite, on construit notre règle de mise à jour de l’image. On peut se dire que l’image va dépendre du lieu dans lequel on est. Dans votre code, vous aurez des lieux définis ainsi :

Object pyramide_azteque "Pyramide aztèque"

 with description "Vous gravissez les dernières marches en transpirant, et regardez autour de vous. La jungle, à perte de vue.";

Object jungle "Dans la jungle"

 ! etc.

Vous pouvez alors construire une règle sous cette forme :

Object MyStatusLineRule "" StatusLineRulebook,

 with description [;

 VorpleStatusLineClear(); ! pour effacer l’ancienne

 VorpleSetOutputFocus("status-line-middle"); ! on se met au milieu

 if (location == pyramide_azteque)

 VorpleImage("pyramide.png", "", IMAGE_CENTERED);

 if (location == jungle)

 VorpleImage("jungle.png", "", IMAGE_CENTERED);

 !etc.

 VorpleSetOutputFocusMainWindow(); ! on rend la main

 ];

Toute ressemblance avec un classique espagnol (Chichén Itzá) est tout à fait voulue.

Pour Inform 7, les lieux seront définis par :

La Pyramide aztèque est un endroit. "Vous gravissez les dernières marches en transpirant, et regardez autour de vous. La jungle, à perte de vue.".

Et votre règle devrait être :

Rule for constructing the Vorple status line:

 clear the Vorple status line;

 set the output focus to the element called "status-line-middle";

 if the location is the Pyramide azteque:

 place an image "pyramide.png", centered;

 set the output focus to the main window;

 rule succeeds.

Il vous suffit de rajouter un test pour chaque image. Et c’est tout bon !

Une deuxième solution

L’inconvénient de la solution précédente, c’est qu’on fini par avoir une grosse succession de if, et ça n’est pas très facile à déboguer. Il y a une autre manière, un peu plus dans l’esprit « orienté objet », d’organiser les choses : on va donner à chaque lieu le nom de son image, et dire dans la fonction de mise à jour d’afficher l’image associée au lieu actuel. En Inform 6 ça revient à déclarer une propriété dans les objets, comme ceci :

Object pyramide_azteque "Pyramide aztèque"

 with description "Vous gravissez les dernières marches en transpirant, et regardez autour de vous. La jungle, à perte de vue",

 nom_image "pyramide.png";

Object jungle "Dans la jungle"

 with description "Une chaleur étouffante.",

 nom_image "jungle.png";

Votre règle est alors simplement

Object MyStatusLineRule "" StatusLineRulebook,

 with description [;

 VorpleStatusLineClear(); ! pour effacer l’ancienne

 VorpleSetOutputFocus("status-line-middle"); ! on se met au milieu

 VorpleImage(location.nom_image, "", IMAGE_CENTERED);

 VorpleSetOutputFocusMainWindow(); ! on rend la main

 ];

On peut même raffiner ceci : vous pouvez écrire des choses comme nom_image [ ; if (il_fait_nuit) { return "jungle_nuit.png";} else { return "jungle_jour.png";} ];Ceci vous permet d’adapter l’image en fonction d’autres conditions, au plus près de l’objet lui-même.

En Inform 7, ça devrait donner quelque chose comme ça :

Un endroit has a text called illustration. L' illustration de la pyramide est "pyramide.png".

Et la règle :

Rule for constructing the Vorple status line:

 clear the Vorple status line;

 set the output focus to the element called "status-line-middle";

 place an image "[illustration of la location]", centered;

 set the output focus to the main window;

 rule succeeds.

Pour aller plus loin

Il y a de nombreuses façons d’aller plus loin, que vous découvrirez en jouant avec le système ! Pour l’heure, voici quelques pistes d’amélioration.

Vorple a une fonction qui permet de précharger les images (VorplePreloadImages en Inform 6, preload image avec Inform 7) : elles seront téléchargées silencieusement lorsque le jeu démarre, puis affichées instantanément. À vous de voir si vous voulez faire ceci (après tout, vous voulez peut-être qu’il y ait un temps de chargement, pour l’effet old school) ; si vous voulez le faire, il faut mettre tous les noms d’image dans une liste, puis les précharger (voir par exemple l’objet Preload dans le code de Panoptique).

Vous pouvez aller beaucoup plus loin en termes de présentation, notamment en travaillant sur le CSS du jeu : changez la police de caractères pour la remplacer par une police de micro-ordinateur, mettez un cadre autour de vos images, changez la couleur de fond, etc. ! On trouve des tutoriels CSS un peu partout, mais notre tutoriel pour le CSS et Vorple vous permettra de mettre le pied à l’étrier.

N’oubliez pas que vous pouvez aussi adapter votre jeu aux navigateurs mobiles en utilisant status-line-mobile : mettez-y des images plus petites pour plus de lisibilité !

Même les pommes de terre ont des yeux compile encore, et voilà le résultat rapidement avec les réglages par défaut de Vorple ! À continuer peut-être, douze ans après…

Si vous avez des questions sur ce tutoriel, n’hésitez pas ! J’espère qu’il vous aura stimulé et donné envie de vous mettre à programmer votre propre jeu old school ! Revenez-nous-en parler !

Entretien avec Pierre Durant sur l’actu de Froggy Software

Stéphane Wiart

En 1987, Jean-Louis Le Breton, fondateur de Froggy Software, sort « La Crapule », un jeu d’enquête policière avec graphismes et analyseur syntaxique, sur Macintosh. Trois décennies plus tard, Pierre Durant et Antoine Vignaux travaillent avec Jean-Louis Le Breton pour porter ce jeu sur Apple II, vendu par correspondance chez Brutal Deluxe. Et ce n’est pas fini, d’autres projets sont en cours ! Voici un petit entretien avec Pierre Durant, qui a gentiment accepté de nous répondre.

Bonjour, peux-tu te présenter ?

Pierre Durant, belge, 53 ans (he oui…) et toutes ses dents (ou presque). Baigne dans l’IT depuis son adolescence (premier « ordinateur », un sharp pc 1211 avant un ITT2020 et plus tard des atari ST, des PC et des Mac 🙂 ) . Aujourd’hui, à part mes vieux 8 bits, sur Mac. Pas de surprise, je travaille également dans l’IT 🙂

Pourquoi la Crapule ?

Par hasard. Je suivais chaque année le festival « Apple II France » et en 2017, Antoine Vigneau y annonçait qu’il avait converti à l’Apple II un jeu d’aventure de Froggy sorti sur MAC. Il précisait que le jeu avait été développé comme un petit moteur de jeu susceptible d’en développer ensuite d’autre. Cela m’a immédiatement intéressé car je venais d’adapter le moteur de jeu d’aventure « scottFree » (les aventures de Scott Adams) en C# et .net aux plateformes mobiles via le framework Xamarin ! Celui-ci n’est jamais sorti, il n’a jamais tourné que son mon iphone ;-), bien que Scott m’ai autorisé à le publier (gratuitement bien sûr). La partie « interface » m’avait pris un certain temps et je pensais que je pourrais en réutiliser un bon morceau pour la crapule et son moteur (que j’ai appelé le « froggy engine » 🙂 ) . J’ai donc contacté Antoine et Jean-Louis qui se sont déclaré partant.

Quelle est ta culture vidéo ludique ?

Space invader tu connais ? 🙂 Hé bien j’ai commencé avec cela à l’époque où c’était révolutionnaire 🙂 Idem avec mystery house et les autres jeux d’aventures textuels. J’ai continué à suivre le domaine du jeu dans les années 80, 90 et 2000 avec les myst, les DOOM, Half Life etc… Depuis un moment je suis un peu « largué » 🙂 disons que le dernier grand jeu auquel j’ai joué devait être la dernière version de wolfenstein sur PS3. Avec une mention spéciale pour Portal 1 et 2.

Quand as-tu commencé le projet d’adaptation de « La Crapule ? » Combien d’heures travail ça t’a pris ?

Pfff impossible à dire…. Du travail en soirée durant plusieurs semaine. Démarré mi-septembre, une version 1.5 fin octobre, et puis beaucoup de test (merci Jean-Louis 🙂 ) des ajouts/améliorations, des corrections même par rapport à l’original, l’apprentissage de la publication d’application sur les stores (ça ne se fait pas en 5 minutes même lorsque l’on sait comment faire).

Peux-tu présenter l’équipe qui a participé à cette adaptation ?

Moi au développement. Jean-Louis aux tests (sur surnom : « bug-finder » 🙂 )

As-tu disposé du code source ou as tu fais du « retro enginering » ?

On avait le code source « turbo-pascal pour mac » de Jean-Louis ! Effectivement Jean-Louis l’avais déjà pensé comme un moteur indépendant même si un peu limité et avec encore une série de « hardcoding » qu’il a fallu « défaire » pour en faire un moteur à part entière totalement indépendant de la crapule. Certaines tables ont donc dû être ajoutées.

Quel a été le processus de création ?

Pure adaptation, à part « l’autonomisation » totale du moteur comme expliqué ci-dessus. Également certaines fonctionnalités ont été ajoutées. D’où je parle d’un moteur en version 1.5 par rapport à la version originale 1.0.

As-tu transposé à la lettre le titre initial ou a tu apporté des éléments supplémentaires (nombres d’objets, interactions…) ?

Oui c’est une transposition « à la lettre », à part les modifs apportées au moteur comme expliqué ci-dessus.

Avec le recul y a-t-il des éléments que tu modifierait ou feras-tu une sorte en Enhanced Edition avec graphisme amélioré, analyseur plus poussé…

Non je crois que pour « La Crapule », le moteur actuel est suffisant. Il est vrai, comme déjà dit, que nous nous sommes laissés le temps de corriger et d’ajouter de nouvelles fonctionnalités (comme les dialogues « lus »).

Quelles difficultés as-tu rencontré ?

Pas vraiment de difficulté mais l’apprentissage de Xamarin ne se fait pas en une journée 🙂

Quels ont été les langages de programmation ?

Comme déjà dit : C# – .NET – XAMARIN

Quelle était l’ambition de départ ?

Créer un moteur de jeu permettant d’abord de faire revivre « La Crapule », mais capable ensuite d’accueillir de nouveau jeux.

As-tu d’autres projets de transcriptions ou d’aller plus loin sur le projet comme écrire une mini novel tirée du jeu.

Non pas de mini-novel. Je pense que pour « La Crapule », cette renaissance n’ira pas plus loin. C’est déjà pas mal de revenir après 30 ans 😉

CEPENDANT j’ai développé une version 2.0 du moteur avec toute une série de nouveautés (véritable gestion d’inventaire, gestion de la musique, gestion du temps, gestion d’objectifs, gestion de paramètres, gestion d’automatisme etc…).

Avec un éditeur de scénario écrit lui en python.

Tout ceci devait être testé par Jean-Louis et aboutir à une nouvelle aventure.

Les changement dans sa vie professionnelle, dont le lancement d’une nouvelle maison d’édition de livre, ont empêché Jean-Louis d’aller plus loin pour l’instant. Mais l’intention est toujours d’avancer dans cette direction. Il y aura donc peut-être dans un avenir proche une nouvelle aventure de Froggy 🙂

Sinon, plutôt dans le cadre de la reprise des aventure de Scott Adams, j’avais écrit un programme de récupération des anciens format graphiques de type « vectoriels » créé sur Apple II entre autres et utilisé par Polarware ou Scott Adams dans leurs anciens jeu d’aventure.

Pour l’instant, en attendant qu’avec Jean-Louis, on relance le Froggy engine 2 et une aventure, je m’amuse à créer un lecteur de SD-card pour le génial ordinateur belge DAI créé à la fin des années 70 et dépassant en capacité graphiques et sonores tout ce qui se faisait à l’époque (pré-c64 donc).

Voilà, toujours le nez dans un projet donc !

De la grammaire des jeux à parser

Hugo Labrande et Grégoire Schneller

Je vous emmène aujourd’hui dans une exploration des jeux à parser qui va de 1980 à 2020 – hé oui, ça fait plus de 40 ans qu’il y a des jeux vidéo à analyseur syntaxique en français ! On va se focaliser sur une question qui me taraude depuis un petit moment, et qui va faire l’objet de notre article du jour, grâce à Grégoire Schneller (alias Eriorg sur notre forum, qui est dans notre communauté depuis, pfouh là là, une quinzaine d’années, et qui a une excellente mémoire) qui a collecté la majeure partie des sources de cet article.

On va parler : indicatif, impératif, infinitif.

Un problème invisible pour les anglophones

Mettez-vous dans la peau d’un anglophone. Vous avez beaucoup de chance, votre tableau de conjugaison est super simple. J’ouvre ? I open. Ouvre ! Open ! Ouvrez ! Open ! Ouvrir ? To open. Open, open, open.

Du coup, quand vous jouez à un jeu à analyseur syntaxique et qu’on vous demande de taper une commande « verbe + objet », vous ne réfléchissez même pas, vous écrivez open box. Cool.

Revenons dans la peau d’un francophone. Quelle est la bonne traduction de open box ? Plusieurs écoles s’affrontent, et la réponse n’est vraiment pas évidente.

Certains (quasiment tout le monde chez les contemporains) diront : infinitif. « Ouvrir la boîte » – sous-entendu, « je veux… ouvrir la boîte ».

D’autres diront : impératif. « Ouvre la boîte » – sous-entendu : « ordinateur, ouvre la boîte s’il te plaît ».

Enfin, on pourrait dire : indicatif. « (J’) ouvre la boîte », comme quand dans un jeu de rôle vous répondez au maître du jeu en restant dans le personnage.

Qui a raison ? Qui a tort ? En fait, personne ! Pour déterminer ceci on peut regarder les explications que les anglophones donnent pour donner une idée au joueur de ce qu’il doit taper.

Il y a des jeux qui disent What should you, the detective, do ? (dans The Witness d’Infocom), que l’on peut traduire par « que devriez-vous faire » ; vous pouvez répondre par « je marche » (indicatif) ou « je devrais marcher » (ici, marcher est à l’infinitif).

D’autres jeux diraient, tels des MJ de jeux de rôle, « Vous arrivez à une grande tour. Que faites-vous ? », et la réponse semble être de l’indicatif (« Je lui donne un coup de pied »).

Il y a des jeux qui disent « Que faire ? » ; la réponse cohérente après ceci est à l’infinitif (« Prendre une grande respiration. »).

D’autres disent « Que voulez-vous faire ? », et une réponse est « Je veux sauter » (action à l’infinitif, donc).

Et enfin, il y en a d’autres où l’ordinateur vous dit « Que dois-je faire ? », où une réponse cohérente est d’utiliser l’impératif (« Arrête la machine »).

Bref, selon la façon dont vous formulez la question (implicite, ou explicite si vous voulez aider les nouveaux joueurs), les trois sont possibles. Les anglophones, bien sûr, ne s’en rendent même pas compte (bon, j’exagère un peu, la majorité penche du côté de l’impératif, si je me souviens bien de ce fil sur intfiction.org, mais il y a de tout, et ça n’est pas une question importante pour eux).

Du reste, la bibliothèque Inform 6 (et I7 ?) en français ne tranche pas. Les verbes sont écrits par défaut à l’infinitif, mais il y a un bout de code (UnknownVerb, qui se déclenche quand on ne reconnaît pas le verbe, mais avant que le parser abandonne et dise « Je ne connais pas ce verbe ») qui permet de reconnaître les formes conjuguées des verbes et les fait correspondre à leur équivalent à l’infinitif. Ça prend 450 lignes, toutes fascinantes (« if (word=='bouge') return 'bouger'; », etc.) mais au moins la bibliothèque est flexible !

Une fois ce constat neutre (Grégoire est helvète, après tout) posé, on peut se poser la question : dans les faits, en pratique, qui vote pour quoi ? Quels sont les usages ? La majorité des gens de nos jours utilisent l’infinitif. Pourquoi ? Plongeons-nous dans les sources qu’il nous a fournies.

Les temps anciens

Revenons aux sources. Non, pas Adventure, mais le premier jeu en français à avoir été distribué dans le commerce : la traduction en français de Mystery House, en 1980. (Vous ne saviez pas qu’elle existait ? Yoruk vous l’a retrouvée !) Dans cette version, le jeu indique clairement au joueur d’utiliser l’infinitif (« aller ») dans les messages l’aiguillant. Est-ce que la tradition d’utiliser l’infinitif vient de là ? Pas si vite. Et pourquoi utiliser l’infinitif ? Je ne sais pas trop, mais notons que le traducteur, Tom Navelanko, ne semble pas être un natif francophone : des critiques de l’époque notent qu’il y a des contresens et tournures étranges (« éventuellement » pour « eventually », « ne frappez pas ‘aller’ »…). Du coup, ce choix de traduction – dans un contexte où personne n’en avait jamais joué en français – n’est peut-être pas quelque chose auquel on doit attacher beaucoup de poids.

Avant de regarder notre prochain jeu, une petite escale en 1981 : dans le numéro 11 de Jeux & Stratégie, en octobre, on parle du futur des jeux vidéo ; et dans un paragraphe qui parle de Zork (oui oui !), on dit qu’il en existe peu en français. L’explication donnée est que « go door, take note » est mieux que « aller porte, prendre message ». Mmh, intéressant : pourquoi utiliser l’infinitif ? (Je ne connais pas d’autre jeu en français que la traduction de Mystery House à cette époque ; possible que l’auteur ait joué à ce jeu et ait été influencé…)

Septembre 1982, et « La caverne des lutins », jeu sorti sur Victor Lambda (c’est le nom d’un micro-ordinateur, oui oui). Il s’agit d’un jeu 100 % texte, dont le manuel dit « Victor est toujours à vos côtés et vous assiste. Donnez-lui les ordres que vous voulez lui voir exécuter. ». On est clairement dans une formulation implicite de « Qu’est-ce que je fais, moi, l’ordinateur ? », et les exemples de commandes sont donnés à l’impératif : « examine », « regarde ». Un partout, la balle au centre…

Ensuite, c’est le boom des jeux d’aventure. En 1983, « Le vampire fou », premier jeu de Jean-Louis Le Breton, dit clairement dans l’aide « tapez un verbe (à l’infinitif) ». Dans d’autres jeux Froggy Software, comme « Même les pommes de terre ont des yeux ! », on nous dit dans le manuel « l’usage de l’infinitif est préférable au mode conjugué », même si le jeu indique bien se baser sur les 5 premières lettres des mots ; même recommandation dans « Le crime du parking » (1984), et dans « Tempête sur les Bermudes » (1986), on vous dit clairement d’utiliser l’infinitif. Par contre, « Le mystère de Kikekankoi » (1983) dit au dos de sa jaquette (la version CPC de 1985 au moins) : « J’avale la soupe orange », de l’indicatif ! On peut noter aussi « Le diamant de l’île maudite » (1985), de Loriciels, qui a un analyseur syntaxique malin : dès que vous avez tapé 3 ou 4 lettres, le jeu reconnaît le mot (parmi son vocabulaire limité) et le complète. Quand vous commencez à écrire un verbe, il est complété à l’impératif ! Regardons aussi « Le passager du temps » (1987) : le jeu a besoin que l’on tape les verbes en entier et à l’impératif, comme « lis lettre ». Bref, on dirait que c’est un peu selon l’humeur des auteurs !

Notez que depuis quelques paragraphes, je ne parle pas en termes de « qu’est-ce que l’ordinateur reconnaît », mais plutôt « qu’est-ce que le manuel ou le jeu vous disent d’utiliser ». Il y a une raison simple à ça : la majorité des jeux de l’époque ne regardaient pas le mot en entier, mais ne regardaient que les 3 ou 4 premières lettres. (Ce n’est pas le cas de « Le Passager du Temps » ou « Conspiration de l’An III », qui veulent le mot entier.) Ainsi, « regarde », « regarder », « regardez » était transformé en REGA et comparé à une table de verbes comme ça. Il n’empêche que les joueurs ne tapaient pas toujours REGA, PREN, OUVR ; la question de savoir ce qu’il y avait dans la tête des joueurs et comment ils concevaient le parser est toujours intéressante.

Grégoire m’a raconté une anecdote qui peut aussi faire pencher la balance en faveur de l’infinitif : les erreurs de conjugaison. En effet, si votre joueur écrit « prendt l’épée », est-ce que vous l’acceptez ou pas ? OK, vous allez me dire que la plupart des erreurs de conjugaison n’étaient pas détectées à cause du fait que les jeux regardaient les 4 premières lettres. Alors, que pensez-vous du jeu « Conspiration de l’An III », jeu qui demandait des commandes à l’impératif, mais dans lequel malgré tout la commande pour sortir n’était pas « SORS » mais « SORT » ? Et préférez-vous un jeu à l’infinitif avec un verbe « CONVAINCRE », ou le même à l’impératif ? C’est un des arguments de Jean-Luc Pontico plus tard : conjuguer certains verbes à l’impératif, c’est parfois compliqué, alors que tout le monde connaît l’infinitif.

On peut aussi vouloir regarder du côté de jeux qui, bien que n’étant pas des fictions interactives, avaient tout de même une interface à base de verbes : les jeux LucasArts et les jeux Sierra, pionniers des jeux d’aventure en point-and-click. Dans ces jeux, quelques verbes sont écrits sur l’écran, et il faut cliquer sur le verbe et l’image de l’objet pour faire une commande. Dans la version anglaise, les verbes sont-ils à l’impératif, l’indicatif, l’infinitif ? Mystère (le manuel dit « verbes (mots d’action) » – je commence à croire que les anglophones ne sont pas aussi bons en grammaire que les francophones). Regardons alors les versions françaises, et là c’est le bazar total…

Dans Monkey Island 2, c’est l’impératif (deuxième personne du singulier, « tu ») qui est utilisé (donne, prends, parle, ouvre, pousse, tire, ferme, regarde, utilise).

Dans Monkey Island 1, si je ne me trompe pas, dans la version disquette, c’est l’impératif « vous ») et dans la version CD-ROM, c’est l’impératif « tu » , sauf quand on fait déplacer Guybrush – le jeu dit alors des choses comme « marchez pirates » (pourquoi vouvoyer maintenant ? Un bug, sans doute).

Dans Indiana Jones et le mystère de l’Atlantide, et dans Indiana Jones et la dernière croisade, c’est l’infinitif qui est utilisé partout (donner, prendre, utiliser, ouvrir, parler, pousser, fermer, regarder, tirer, et « marcher vers la chose en pierre » – ah, quand même).

Dans Zak Mc Kracken, c’est l’impératif, mais on vous vouvoie (lisez, ouvrez, poussez, etc.).

Les Espagnols et les Italiens ont le bon goût d’être plus cohérents : les Espagnols utilisent l’infinitif dans les cinq jeux LucasArts mentionnés ci-dessus, et les Italiens utilisent l’impératif dans ces mêmes jeux. D’ailleurs, de ce que j’ai pu voir dans des captures d’écran ou des solutions de fictions interactives, cette convention est plutôt vraie en général : les Espagnols tapent « IR AL OESTE », les Italiens tapent « PRENDI IL MANUALE ».

Praticiens modernes

Quand je parle de praticiens modernes, je parle de la 2e vague de la fiction interactive, celle qui commence pour nous avec la traduction des bibliothèques Inform 6 par Jean-Luc Pontico. (C’est nous !) Et là, le choix majoritaire est celui de l’infinitif.

La raison est relativement simple. En se replongeant dans les archives de la liste de diffusion (qui précéda notre site et notre forum et notre discord !), le premier message qu’on a sauvegardé montre Jean-Luc Pontico, traducteur des bibliothèques Inform 6, se questionner justement sur l’infinitif vs l’impératif. Deux personnes lui répondent : la première dit « infinitif, parce que j’imagine toujours que le parser veut dire : ‘je veux…’ », la deuxième dit « l’impératif est la solution naturelle ». On est bien avancés…

Cependant, Jean-Luc Pontico préfère l’infinitif ; la première version de la bibliothèque supportait les 2, mais ça faisait 2 fois plus de verbes (et encore, il ne prenait pas en compte le vouvoiement), ce qui est dommage. Une autre raison qu’il avance est celle de la conjugaison : « l’orthographe de l’impératif n’est pas intuitive ». (Quand on pense aux auteurs de« Conspiration de l’An III », on ne peut qu’approuver…) Et il semblerait, d’après ce message dans le forum, que Pontico n’ait pas joué aux jeux d’aventure pendant les années 80 ; cependant, pour les besoins de sa traduction, il indique avoir téléchargé des jeux Apple II (sans doute le pack « france1.zip », uploadé en 1997 – vous n’étiez pas nés) pour regarder ; or, ce pack contient surtout des jeux Froggy Software, qui utilisait l’infinitif de façon quasi exclusive !

Il semblerait en fin de compte (je n’ai pas de copie des bibliothèques I6 de l’époque…) que Jean-Luc Pontico ait décidé de simplifier le code de ses bibliothèques et de ne garder que l’infinitif. Ceci a causé une discussion sur les newsgroups anglophones lors de la sortie de Filaments, où plusieurs joueurs anglophones étaient confus que l’impératif ne marchait pas. L’auteur de Filaments, FibreTigre, explique donc ses raisons. Il en a tiré un post de blog quelques années plus tard, dont je vous recommande la lecture, car il réfléchit à la relation joueur-personnage. Il mentionne aussi que l’impératif est compliqué car il y a plusieurs personnes (tu et vous) à prendre en charge ; cet argument revient assez souvent, par exemple dans ce message, où Otto Grimwald et Eriorg (Grégoire) disent que l’impératif, ça fait beaucoup de travail pour une utilisation faible.

Il y a donc consensus ! Même si, à un moment donné (avant 2008, si j’en crois le dépôt des bibliothèques), quelqu’un (je ne sais pas qui ; Stormi, qui était particulièrement actif dans le développement de ces bibliothèques à l’époque ?) a écrit ce fameux bout de code de 450 lignes dans UnknownVerb, qui fait que les verbes pris en charge par défaut par la bibliothèque sont aussi reconnus à l’impératif.

Il y a quelque temps, je m’étais mis en tête que je pouvais peut-être écrire en moins de 450 lignes un « déconjugueur », qui renvoie l’infinitif à partir de l’impératif ou l’indicatif. J’avais un peu avancé, mais vu le nombre d’exceptions, j’avais un peu laissé tomber… Motivez-moi s’il vous plaît !

En conclusion : tout est possible, mais traditionnellement (depuis 2000, mais potentiellement avant aussi) on utilise l’infinitif ! Ce n’est pas forcément plus clair pour expliquer la forme d’une commande à un joueur, mais cette convention a le bon goût d’éviter des erreurs de conjugaison et de minimiser le travail pour l’auteur. Et voilà, vous savez tout sur le sujet !

Entretien avec Stefan Vogt, auteur de FI modernes sur ordinateurs 8 bits !

Hugo Labrande

Stefan Vogt est un auteur de jeux d’aventures à analyseur syntaxique, qui travaille depuis des années sur des projets visant à créer de nouvelles FI à parser pour les ordinateurs rétro. Il a gracieusement accepté de répondre à mes questions par email ; voici une traduction de ses réponses.

Bonjour Stefan ! Peux-tu te présenter à nos lecteurs et nous en dire plus sur ton travail ?

Bonjour ! Je m’appelle Stefan Vogt, j’ai 42 ans et j’habite Berlin. Avec Anthony Stiller, qui est en Australie, et Graham Axten, qui est au Royaume-Uni, j’ai créé Puddle Software. Nous créons des jeux pour les micro-ordinateurs 8 bits et 16 bits classiques des années 80. Je suis spécialisé dans la fiction interactive, et je voudrais ressusciter les jeux d’aventures à la Infocom pour les systèmes 8 bits et 16 bits. Ma préférence va aux ordinateurs 8 bits de Commodore et Atari, et je suis un collectionneur passionné de programmes et de machines. Vous pouvez acheter mes jeux sur le site de mon éditeur PolyPlay, ou les télécharger sur ma page itch.io.

Quand as-tu commencé à jouer à de la fiction interactive ? Quelles sont tes influences principales ?

J’ai commencé à jouer à de la fiction interactive en 1987-1988, sur mon Commodore 64. Le premier jeu auquel j’ai joué était Castle of Terror, publié chez Melbourne House, un grand classique. Il y a aussi eu un certain nombre de jeux d’aventures textuels allemands qui ont eu un certain succès et que j’ai beaucoup aimés ; j’ai envie de mentionner The Yawn et Soul Crystal. Vers la fin des années 80/début des années 90, j’ai été attiré par des fictions interactives plus sophistiquées sur mon Amiga, comme par exemple les jeux d’Infocom, qui sont toujours une influence majeure sur ce que je fais. C’est aussi pendant cette période que plusieurs jeux allemands, parmi les meilleurs du genre, ont été publiés ; Die Drachen von Laas (« Les dragons de Laas ») est une œuvre de fiction interactive extrêmement bien écrite, et il y a aussi eu les Weltenschmiede, dont on parle souvent comme étant l’équivalent d’Infocom en Allemagne, avec des jeux comme Das Stundenglas, Die Kathedrale et Hexuma. Être fan de jeux d’aventure en Allemagne pendant les années 80 était extraordinaire pour moi, car j’ai grandi en quelque sorte avec un pied dans les deux mondes, c’est-à-dire à la fois le monde des jeux d’aventure américains et celui des jeux d’aventure britanniques, qui était un écosystème bien distinct. Ça a eu un impact important dans le pays ; on a joué à beaucoup de jeux de Level 9 et Magnetic Scrolls, mais aussi aux chefs-d’œuvre américains.

En 2018 tu as sorti Hibernated, un jeu d’aventure textuel pour ordinateurs 8 bits. Était-ce ton premier jeu ? Qu’est-ce qui a motivé sa création ?

Oui, c’était le premier jeu que j’ai fait. Enfin, plus jeune, j’avais eu l’envie de faire mon propre jeu d’aventure mais, quand on a 13 ans, on est très loin d’être un auteur excellent. J’ai donc mis cette idée au placard, et je l’ai ressortie beaucoup d’années plus tard. Comme tout le monde, après la mort du Commodore, je suis passé au PC, sans vraiment me retourner, même si j’ai toujours été quelqu’un de nostalgique.

En 2013, j’ai recommencé à m’intéresser au milieu du rétro, motivé par l’achat récent d’un Commodore 64, et j’ai constaté que ce milieu est bien plus grand que celui de la fiction interactive. Je respecte le milieu de la fiction interactive pour leur créativité et leur art, mais si on regarde les choses en face, c’est toujours les mêmes personnes dans une liste 300 auteurs qui écrivent des jeux pour eux-mêmes et leurs collègues, et qui les mettent dans une des compétitions connues de fiction interactive. Le milieu du rétro a un public cible bien plus important, et comme j’ai toujours été fan des jeux d’aventure, je me suis dit que j’allais écrire un nouveau jeu d’aventure pour les vieux ordinateurs.

En fait, le but n’était pas de faire un gros jeu sophistiqué comme les vieux classiques d’Infocom ; je voulais plutôt faire un jeu d’aventure à l’européenne, comme ceux qui étaient populaires vers 1985-1986 ici, et qui se lançaient sur cassette ou sur disquette. Les disquettes coûtaient cher à l’époque en Europe, donc la majorité utilisaient des lecteurs de cassette. Et puisque les cassettes sont des supports linéaires, une aventure sur cassette devait être chargée en mémoire en une fois, ce qui limitait le nombre de réponses qu’un jeu pouvait avoir.

Hibernated est devenu un hit viral ; depuis, les gens disent que j’ai ressuscité le genre du jeu d’aventure textuel pour les vieux ordinateurs. Je ne sais pas si c’est vrai, mais c’est chouette de voir que ça bouge beaucoup dans le milieu ; il y a beaucoup de nouvelles aventures textuelles pour les ordinateurs 8 bits et 16 bits qui se préparent en ce moment.

Quels outils as-tu utilisé pour l’écrire et t’assurer de la compatibilité avec tant de systèmes ?

La version initiale de Hibernated a été écrite avec The Quill, par Gilsoft. C’est un outil qui permet d’écrire des aventures en langage machine sans connaître le langage machine. À l’époque, il était très populaire, et était disponible sur un grand nombre de micro-ordinateurs, comme le Commodore 64, le ZX Spectrum, l’Amstrad CPC, BBC & Acorn Electron, et même l’Oric, qui si je me souviens bien était très populaire en France.

Peu après avoir fini Hibernated, j’ai discuté avec Tim Gilberts, fondateur du légendaire studio Gilsoft, pour un long entretien que j’ai publié sous le titre « The Gilsoft Legacy » sur mon blog. Depuis ce jour, nous collaborons en permanence. D’abord, nous avons publié une version inédite de The Quill, qui pouvait reconnaître des phrases de 4 mots, plutôt que des phrases de 2 mots comme c’était le standard dans les jeux Quill.

Puis, nous avons ressuscité DAAD Adventure Writer, un système qui permettait d’avoir un seul fichier source, puis de compiler une version pour un grand nombre de systèmes 8 bits et 16 bits. DAAD a été créé comme outil interne pour Aventuras AD, une entreprise espagnole souvent considérée comme leur équivalent d’Infocom, qui publiait des aventures très populaires en Espagne et plus largement dans le monde hispanophone. La version espagnole a refait surface il y a quelques années, quand Andres Samudio, le propriétaire d’Aventuras AD, a retrouvé les disquettes dans son grenier et les a donné à la communauté de FI en espagnol. Il manquait des parties du système, par contre, comme par exemple la prise en charge de la langue anglaise. Nous nous sommes donc attelés à la tâche de récupérer ces bouts manquants ; nous avons aussi débuggué un bon nombre d’interpréteurs, et restauré le système dans son intégralité pour la première fois depuis l’époque où cet outil était utilisé commercialement.

Depuis, le système suscite l’engouement, et une communauté a grandi autour de l’outil ; elle a même publié de nouveaux interpréteurs sur de nouvelles machines, des extensions avec de nouvelles fonctionnalités (comme par exemple les images pixel), ainsi qu’un nouveau compilateur nommé DRC. On pourrait penser que ça n’est pas facile de continuer à préserver toutes ces versions pour tous ces systèmes, mais en fait, en connaissant le système et grâce au concept de DAAD qui est de travailler à partir d’un seul code source, on y arrive très bien. J’ai la chance que mon éditeur, PolyPlay, me soutient dans cette démarche de multiples versions et de conversions ; ainsi, tous mes jeux sur toutes les plates-formes sortent dans des éditions en boîte avec des jaquettes incroyables, des formats physiques d’époque, des posters, et des feelies.

Pour mes deux prochains jeux, Trail of the Zodiac et Hibernated 2, je n’utilise plus DAAD. Dans l’idée, ces deux jeux vont être bien plus similaires à Infocom. Je les crée avec Metrocenter ’84, une bibliothèque pour Inform 6, dont je m’occupe, qui prend peu de place en mémoire. Elle est optimisée pour avoir des bonnes performances sur les vieux systèmes 8 bits, tout en donnant une expérience Inform classique. Grâce à l’aide d’Andrew Plotkin lui-même, le compilateur Inform 6.34 a été mis à jour pour être compatible avec Metro ’84 ; ainsi, on peut écrire des jeux en format Z3 sans souci. Metro ’84 ne prend que 20 ko de place dans le fichier Z3, ce qui est bien mieux que la bibliothèque I6 usuelle. Et les performances sur les vieux ordinateurs est incroyable. Il y a aussi une couche de plus qui crée une image disque pour Atari 8 bits avec le fichier Z3, ce qui fait qu’on peut tester son code sur machine 8 bits instantanément et voir comment il tourne. Metrocenter ’84 a été créée pour écrire la suite sophistiquée d’Hibernated que tout le monde attend.

Quel succès ont rencontré tes jeux ?

Incroyable. J’essaie de rendre mes jeux très accessibles, et la communauté des jeux vidéo rétro est plus grosse que jamais. Donc, quand j’ai publié Hibernated en 2018, on disait que les jeux d’aventure étaient morts pour ces machines — et je confirme : on avait l’impression que tous les nouveaux jeux qui sortaient étaient des jump and run ou des shooters dans l’espace. Mais malgré tout cela, le jeu est devenu viral ; j’ai vendu des centaines de copies, et il y a 10 000 téléchargements sur itch.io à l’heure actuelle.

J’ai aussi reçu quelques prix pour ce jeu, comme le Crash Smash dans le « Crash 100 Annual » du magazine culte anglais Crash — un des prix les plus connus, un standard de l’industrie depuis les années 80. Des centaines de jeux sont testés chaque année, et seulement 4 l’obtiennent, donc bien entendu c’est un grand honneur. Même si le jeu est plutôt limité quand on le compare à un jeu Infocom. Mais, comme je l’ai déjà dit, ça va changer avec la suite, et je vais plus loin que les jeux d’aventure de type « européens sur cassette » ; ça va être encore mieux, donc ça vaut le coup.

Parce qu’il faut bien comprendre qu’il y a une différence énorme entre les aventures européennes et la fiction interactive à l’Infocom. Les jeux d’aventure européens prenaient environ 20-30 ko dans la mémoire, et c’est tout, vu qu’il fallait pouvoir les charger à partir de la cassette, et le chargement à la demande comme sur une disquette n’était pas possible. Ça explique aussi la différence majeure entre la FI de type américain, avec les outils comme Inform et Twine, et celle européenne, qui n’existe que dans le milieu du retro gaming et utilise les outils comme DAAD, Quill ou PAWS.

C’est un peu osé de sortir du moule européen, puisque mes jeux me donnent une certaine popularité en Grande-Bretagne — c’est là où mes jeux ont les notes les plus élevées. Quant aux critiques venant du milieu de la fiction interactive, elles étaient plutôt médiocres, pour être honnête. J’ai eu des retours qui étaient très bons, notamment d’auteurs qui ont grandi avec ce genre de jeux, mais j’ai eu aussi au moins deux réactions qui étaient très mauvaises. Mais le milieu de la fiction interactive représente juste un petit nombre d’auteurs qui, pour la plupart, écrivent des jeux juste pour ces collègues-là, qui les mettent dans les concours annuels, des jeux courts et qui ne se jouent pas plus de deux heures, et la partie « jeu » est souvent artistique plutôt que basée sur le passé. J’ai une certaine appréciation pour l’art qu’il y a derrière, et les compétences de ces auteurs innovants, mais ce sont les gros jeux d’aventure classiques qui me manquent. Du coup, à partir de maintenant, je vais me concentrer sur l’écriture de nouveaux jeux pour les ordinateurs rétro avec pour but de vous donner la même expérience que les jeux Infocom, que ce soit pour le contenu du jeu ou pour la boîte avec les feelies ; ni plus, ni moins. On verra si j’arrive à faire en sorte que les deux côtés m’apprécient. D’un autre côté, je comprends aussi que si on écrit de la fiction interactive moderne, sans limites, peut-être en grandissant avec des classiques comme Trinity et A Mind Forever Voyaging, ça peut être décevant quand on joue à Hibernated pour la première fois. Au final, ça dépend juste de nos attentes.

On verra ce que le futur me réserve. Mais comme d’habitude, je suis mon plus grand critique. La grande majorité des retours que j’ai eus sont venus du milieu du jeu rétro, et ces retours étaient époustouflants.

Ton jeu le plus récent, The Curse of Rabenstein, qui est sorti en début d’année, est un jeu d’aventure graphique. Comment c’était de faire ce jeu ? Quels outils as-tu utilisé ?

Rabenstein a aussi été créé avec DAAD. Je voulais écrire une dernière aventure avec cet outil, en utilisant les fonctionnalités avancées que ce système permet, comme la prise en charge d’image pixel ; le but était du coup de développer une aventure dans le style de Level 9 sur un grand nombre de plates-formes. Le code a été bouclé plutôt tôt dans le processus de développement, mais les graphismes ont représenté un travail fastidieux. Je ne suis pas mauvais en pixel art, mais j’ai sous-estimé le grand nombre de systèmes que je voulais prendre en charge, et comme je suis un perfectionniste, j’ai fini par passer deux mois à consacrer tout mon temps libre à des pixels. Je ne pense pas que je veux refaire ça un jour !

J’ai été complètement dépassé par la réaction du public envers le jeu, qui a fait la moitié des chiffres de Hibernated en une semaine seulement. Ce fut aussi un gros succès commercial ; la version Commodore 64 est celle qui s’est vendue le mieux, mais il y avait également une version Spectrum Next dédiée (je n’avais pas prévu d’en faire une) qui a fini par être la deuxième en termes de ventes et la première en termes de retours et de viralité sur les réseaux sociaux. Le fait que la communauté autour du Spectrum Next aime le jeu m’a vraiment surpris. Je suis content que ces éloges soient encore renforcées la semaine dernière, quand Tim Gilberts et moi étions invités dans le podcast RGDS ; Kingy avait tant de compliments pour Rabenstein, et nous a dit combien il avait aimé y jouer sur son tout nouveau Next (qui est un super ordinateur moderne rétro, d’ailleurs).

Peut-être qu’un jour je m’aventurerai sur ce chemin encore une fois, mais pas maintenant. The Curse of Rabenstein était pour me distraire et enlever la pression de devoir écrire une suite digne de ce nom à Hibernated, et maintenant Hibernated 2 est la distraction de la distraction, si vous voyez ce que je veux dire. Il y aura sans doute un autre jeu d’aventure graphique dans le futur, mais je ne promets rien sur si je vais vraiment le faire et quand.

Parlons Hibernated 2 : quand sortira-t-il ? Sortira-t-il en version boîte ?

On vise actuellement le troisième trimestre de cette année. Des centaines de boîtes ont déjà été produites, donc je peux me concentrer sur la tâche de finir le jeu, et il pourra sortir en suivant rapidement. Vous avez peut-être remarqué, mais je vise un certain niveau de qualité, donc peut-être que le développement prendra un peu plus de temps si je ne suis pas tout à fait satisfait du résultat.

Ce qui me ralentit un peu, aussi, est le fait que je mène de front le développement de Hibernated 2 et celui de Metrocenter ’84. Quand j’ai besoin de fonctionnalités dans Hibernated 2, je les ajoute dans cette bibliothèque. Hier, je voulais avancer sur Hibernated 2 mais, pour une des énigmes, j’avais besoin de pouvoir reconnaître un nombre tapé au clavier, ce qui n’était pas dans ma bibliothèque ; j’ai dû aller chercher le code dans la bibliothèque Inform et l’adapter. Ça semble facile, mais ça m’a pris la journée. Ça marche bien, mais je pense que ça n’est pas la dernière fois où je vais devoir ajouter du code à la bibliothèque avant de pouvoir continuer sur Hibernated 2. C’est comme ça, sans doute…

Hibernated 2 sortira sur plus de plates-formes que Hibernated 1, mais plus on augmente le nombre de plates-formes supportées et plus mon éditeur est content ; par exemple, ça sera leur tout premier jeu qui sortira sur Atari 8 bits. Mais cela introduit un paradoxe : quand je sors Hibernated 2 pour l’Atari 8 bits alors que le premier jeu n’est pas sorti sur cette plate-forme, comment le joueur peut-il jouer à la première partie ? On y a réfléchi, et on a trouvé une super solution ! Dans chaque boîte de Hibernated 2, il y aura une cassette, et sur cette cassette il y aura une version racontée de Hibernated 1. Et quand je dis racontée, je parle d’un narrateur professionnel. Christian Simpson (alias Perifractic), un acteur de Hollywood et un doubleur professionnel (Star Wars: Episode 1, Independence Day: Resurgence, Batman Begins, Harry Potter et la Coupe de Feu, True Blood) va prêter sa super voix à mon histoire. Il adore le jeu, alors j’étais super content quand il m’a contacté. La cassette aura deux fonctions : ceux qui n’ont pas encore joué à la première partie pourront écouter la cassette (une trentaine de minutes) qui servira d’intro à la suite, et ceux qui ont déjà joué au jeu écouteront pour se rafraîchir la mémoire plutôt que de devoir rejouer au jeu pour se rappeler des détails de l’histoire. Un des derniers rôles de Christian était de faire la narration pour Avengers: Endgame, du coup j’ai le soutien d’une vraie célébrité. C’est juste génial et je n’aurais jamais imaginé !