Le mois dernier, je vous ai parlé de la Belle Province, et des débuts de l’industrie vidéoludique là-bas. J’ai mentionné Arsène Larcin, sorti à peu près en même temps que La caverne des lutins (c’est-à-dire septembre 1982), en disant que c’était donc les troisième et quatrième FI originales en français de l’histoire. Eriorg m’a interpellé dans les commentaires :

Mais alors, quelle était la première ? Jusqu’à maintenant, il me semble que tu n’as parlé que de traductions (dans cet article et dans les précédents : Adventure, jeux Sierra, etc.). Ou peut-être la série d’articles ne suit-elle pas tout à fait l’ordre chronologique et tu vas en parler plus tard ?

Asseyez-vous : on va en parler maintenant. C’est une histoire assez chouette, et un coup de chance assez monstrueux de mon côté de l’avoir retrouvé. Le jeu n’est jamais sorti en boutique, il est sans doute perdu, mais il est très bien documenté et sans doute jouable de nos jours. J’ai assez fait durer le suspense… Allons-y !

Bonjour, Marcel Le Jeune

Marcel Le Jeune est un touche-à-tout, un « boulimique d’information », comme il se décrirait. Son premier contact avec l’électronique et l’informatique fut au début des années 70, quand il s’offrit pour une belle somme la première calculatrice TI qui permettait de calculer les racines carrées. Il passa par l’école de l’armée à Pontoise, où il découvrit l’informatique, avec le PDP-8 installé à l’école, qui avait notamment quelques programmes dont un morpion. Puis il travailla pour l’armée dans la division technique guerre électronique. Il fut ensuite affecté en Allemagne entre 1977 et 1982, avant de rentrer en France. Après 15 années passées dans le champ de la « guerre électronique », il changea de carrière, et s’investit dans l’informatique. Il devint rédacteur en chef du magazine Mégahertz, puis de CPC, un magazine historique pour les possesseurs d’Amstrad CPC, à la tête duquel il resta quelques années. Il continua à s’intéresser à tout, y compris la programmation, et depuis quelques années, la météorologie et les stations météo, en amateur.

Marcel Le Jeune n’a réalisé qu’un seul jeu, qui se trouve être, à ma connaissance bien sûr, le premier jeu d’aventure en mode texte original en français. Il n’en a jamais réalisé d’autres, et en fait s’est vite éloigné de ce genre de jeux. Il y a plusieurs raisons, mais c’est surtout le fait que quand il montrait ce jeu à ses invités, ceux-ci, bien qu’ébahis par la promesse de l’analyseur syntaxique qui comprend tout (et, on le verra, le sien était particulièrement malin), se heurtaient fréquemment à ses limites, et n’allaient en général pas très loin. C’est bien simple : personne n’est arrivé à résoudre son jeu, et les gens lui disaient plutôt : « Je n’aurais jamais pensé à faire ça ! » Et comme il a la bougeotte, il s’est vite mis en tête qu’en fait, le genre n’était pas pour lui — il allait commencer un jeu et ne pas arriver à le terminer, être frustré par les commandes, et ça serait du temps perdu. Donc, après cet essai, il a mis les fictions interactives au placard.

L’histoire se déroule pendant son activité militaire. Dès qu’il le put, Marcel Le Jeune acheta un TRS-80 Model I Level II avec 16k de RAM ; il est l’un des premiers français à en avoir eu un. On a déjà croisé cet ordinateur dans l’article sur la traduction d’Adventure, avec la boutique RadioShack ouverte à Compiègne en 1979. Mais Le Jeune avait un avantage : il était en Allemagne, et donc pas loin des troupes américaines et britanniques. (Pour les plus jeunes d’entre nous : après la Seconde Guerre mondiale, et dans un contexte de guerre froide, l’Allemagne est divisée en territoires occupés par 4 puissances : la France, les États-Unis, le Royaume-Uni, et la Russie soviétique. Les militaires de chaque pays occupent une partie du territoire ; certains français, comme Marcel Le Jeune, étaient donc affectés en Allemagne.) Ce que ça voulait dire, c’est que pendant ses temps de permission, il pouvait aller dans les magasins hors taxes des bases américaines et canadiennes, les PX, et y fouiner. C’est là notamment qu’il acquit son TRS-80, mais il s’y rendait fréquemment, notamment pour acheter les magazines d’informatique de l’époque : Byte, Creative Computing, 80 Microcomputing, Kilobaud Microcomputing, Popular Electronics. Il se souvient aussi avoir joué à la même époque à Pyramid of Doom de Scott Adams — mais ça ne venait pas forcément de ces magasins : non seulement la copie était triviale pour les jeux Scott Adams, mais il avait un ami ingénieur sur Paris qui avait les moyens et les connaissances de « déplomber » les protections des logiciels TRS-80. À coups d’envoi de cassettes par la Poste, il se constitua une belle collection, quasiment tous les jeux TRS-80.

L’idée de faire une aventure textuelle lui vint un jour, vers 1979 ou 1980 ; peut-être inspiré par les Scott Adams, peut-être inspiré par un article dans un magazine qui disait comment faire ses propres aventures textuelles (malgré plusieurs essais, nous n’avons pas retrouvé l’article), ou peut-être tout simplement une volonté de reprogrammer lui-même le genre de choses qu’il y avait dans les jeux d’aventure textuels de l’époque. En tout cas, l’écriture du programme lui demanda beaucoup de temps ; le programme final, écrit en BASIC sur cassette, est relativement simple, selon son auteur. Le jeu s’appelle Mission secrète à Colditz, ou Colditz, et on en parlera dans un instant. Le Jeune se souvient l’avoir envoyé à quelques amis, mais le fait d’avoir un ordinateur personnel à l’époque était plutôt rare ; en revanche, comme il en avait un chez lui, il le montrait à ses invités, à l’apéro ou autre, et ceux-ci en général étaient subjugués par sa démonstration, par l’analyseur syntaxique, et par la géographie du lieu.

Le jeu est perdu, malheureusement. Il existe peut-être sur des cassettes pour TRS-80 d’un ami d’ami de Marcel Le Jeune, qui sait ; mais Le Jeune lui-même n’a plus de TRS-80, et plus de cassettes non plus. Mais ça n’est pas grave, on peut quand même dire beaucoup de choses sur ce jeu, et je vais vous dire pourquoi.

Bonjour, Le Jeu de Marcel

Une grille représentant un plan du château de Colditz.

En 1986, Marcel Le Jeune est rédacteur en chef du magazine CPC, consacré à la bécane de l’Amstrad. Dans ce genre de magazines, en général, on donne des listings : des code source complets, souvent en BASIC, de programmes ou de jeux, que le lecteur doit taper à la main, laborieusement et sans faire de fautes, sur son ordinateur pour répliquer le programme. Le Jeune se souvient du jeu qu’il avait écrit à l’époque de son service militaire, en BASIC pour TRS-80 certes, mais c’est très proche du BASIC pour Amstrad CPC. Il le donne à une de ses plumes, Stéphane Cloirec, auteur de plusieurs autres listings dans les colonnes de CPC. Le programme final fait 22 ko, assez gros pour l’époque ; il est reproduit en intégralité (pages 53 à 57) dans CPC no 7, puis expliqué et annoté dans les numéros 8 à 12.

Et c’est comme ça que j’ai retrouvé ce jeu ! J’avais vu dans un magazine de 1982 une publicité SIDEG qui mentionnait le logiciel Mission secrète, sur cassette, pour TRS-80. En cherchant un peu, je suis tombé sur Mission secrète à Colditz / Colditz, un jeu Amstrad CPC, mais où il était indiqué que Marcel Le Jeune l’avait codé pour TRS-80 quelques années auparavant… J’ai retrouvé Le Jeune en fouillant sur Internet, je lui ai posé la question… et il s’avère que non, Mission secrète chez SIDEG, ça n’était pas lui. (Ou alors, une copie pirate.) Mais il m’a indiqué qu’il avait codé le sien en 1980, et ça m’a interpellé ; c’est donc la première fiction interactive originale en français, et je n’en ai eu conscience que par hasard !

Si vous voulez y jouer de nos jours, pas besoin de retaper le listing : l’image disque pour Amstrad CPC peut être téléchargée ici.

Puisque le code est détaillé, et qu’il est même expliqué dans pas moins de 5 numéros (Le Jeune m’a gentiment envoyé des scans, et retapé celui du numéro 10, mais le 12 est introuvable sur le net… avis aux amateurs…), on peut donc en dire beaucoup de choses ! Alors regardons ça de plus près. Colditz est le nom d’un château allemand converti en forteresse par les nazis et où des officiers ennemis étaient emprisonnés ; la sécurité y était très haute, et on y raconte qu’il y avait plus de gardes que de prisonniers. Elle fut le théâtre d’une série britannique dans les années 70 ; moi, je la connais comme le niveau 9 de Commandos 2. Je ne sais pas exactement pourquoi Marcel Le Jeune a choisi cette forteresse comme cadre pour son jeu – peut-être parce qu’il était en affecté en Allemagne.

Capture d'écran de Commandos 2, montrant le château de Colditz.
Ah, ma jeunesse…

Bien entendu, dans le jeu, il faut parvenir à sortir de la forteresse sans se faire attraper ; il y a des objets à trouver, des gardes dont il faut se débarrasser, des codes secrets à trouver et à entrer dans un digicode, un code secret qu’il serait de bon aloi de ramener aux Alliés, etc. La géographie du jeu est un rectangle de 4 x 5 salles, bien que toutes ne communiquent pas entre elles ; la liste des sorties pour chaque salle est stockée dans le programme, mais Le Jeune explique que cette disposition en rectangle était très pratique pour calculer la salle suivante : les salles sont en quelque sorte numérotées, et il suffit d’ajouter 1 au numéro de la salle pour aller à l’est, etc. Le jeu est de taille modeste ; la solution publiée dans CPC no 8 fait tout de même environ 80 actions, ce qui est somme toute respectable pour un jeu de l’époque, surtout qu’on peut se faire prendre en train de s’évader et devoir recommencer.

Scan de la ligne de code listant les actions.

En furetant dans le code, on voit que le jeu reconnaît pas moins de 18 actions, ce qui couvre une bonne partie des actions usuelles (mais il n’y a pas de synonymes non plus, ce qui peut sans doute occasionner des problèmes pour le joueur) ; à celles-ci s’ajoutent la commande d’inventaire, du « sucre syntaxique » pour les directions (on peut taper « n » et le programme traduit ça en « aller nord »), et… des gros mots, bien sûr ! (Je me trompe peut-être, mais j’ai vraiment l’impression que les jeux français avaient tous une gestion de gros mots, alors que c’est bien plus rare dans les jeux anglophones. C’est assez incroyable…) Je vous laisse contempler la table des 5 gros mots :

Scan de la ligne de code gérant les gros mots.

Lorsque le joueur tape un gros mot, le programme lui répond « Vous pourriez rester poli, tout de même ! » ou « Vous n’avez pas honte d’être si grossier ? », au hasard. C’est comme ça pour pusieurs autres messages : une action réussie donnera « O.K. », « Très bien. », « D’accord. » ou « Pas de problème. » ; une action non prévue par le jeu (je crois) donnera « Ne soyez pas ridicule ! », « Vous trouvez ça drôle ? » ou « Parfois, je me demande si vous êtes normal ! ». C’est assez intéressant car, finalement, peu de jeux à parser font l’effort de varier leurs réponses et les messages que le joueur verra ; personnellement, je trouve que c’est une très bonne idée, parce que ça brise la monotonie en introduisant gratuitement plus de variabilité, et ça aide à garder l’intérêt du joueur. Je pense que c’est un exemple de « jus » (voir notre article) dans un jeu à parser qui est appréciable. Oui oui, il y avait de la juiciness dans la première FI en français, alors pas d’excuses !

L’analyseur syntaxique mérite également le détour. Il s’agit, la plupart du temps, d’un analyseur syntaxique qui fonctionne sur deux mots, verbe + complément ; les verbes sont ramenés à leurs 4 premières lettres et le complément à 3 lettres, puis on cherche ces groupes de lettres dans des tables ad hoc. (L’entrée originale est tout de même conservée, pour pouvoir écrire des choses comme «Je ne connais pas le verbe DEVORER. », ce qui est bien vu.) Mais quand je dis complément, attention, ça n’est pas « la chose qui suit le verbe » ; en fait, le code regarde plutôt le dernier mot de l’input. Pourquoi ? Parce que ça permet — sous certaines conditions, comme par exemple quand Le Jeune tapait des commandes pour épater ses invités — de donner l’illusion que le parser est plus malin que ce que l’on croit : les invités de Le Jeune étaient ébahis quand l’ordinateur semblait comprendre « assommer cet abruti de garde » ! C’est un système ingénieux, mais qui ne marche pas pour tout : en français, les adjectifs se placent avant et après les noms, donc « assommer le garde vert » ne serait pas compris. Pour éviter que ça pose trop de problèmes, notamment pour des objets avec des compléments sensés après le nom de l’objet, il y a des adaptations locales dans le code, « codées en dur » (c’est-à-dire pas dans la table des noms d’objets, plutôt des tests sur la commande réalisés par le parser avant de regarder dans la table des noms d’objets), de sorte à ce que le parser puisse comprendre « barre » et « barre de fer », ou « pince » et « pince coupante ». Un tel système se généralise plutôt mal pour un jeu plus grand ; mais pour un jeu de 1980, c’est quand même bien malin, et montre un certain effort de réflexion et de conception de la part de Le Jeune !

Scan montrant la ligne de code gérant les compléments spécifiques.

Je ne saurai vous dire si le jeu est bien fait ou trop dur (comme semble le sous-entendre son auteur) pour nos sensibilités modernes, ayant déjà parcouru le code en long, en large, et en travers, et ayant étudié la solution. Je vous invite à y jouer, car c’est un jeu historique, et pour les plus programmeurs d’entre vous, à consulter le listing du numéro 7, et l’explication de code faite dans le numéro 11. Un grand merci, bien entendu, à Marcel Le Jeune, d’où je tire beaucoup de ces informations, et j’espère que cet article contribuera à faire connaître Colditz un peu plus !

Addendum : après la publication de cet article, Mickaël Pointier nous a appris sur Twitter que le jeu était paru en listing dans Théoric, magazine consacré à l’Oric, dans le numéro de septembre 1985 ! Vous pouvez le retrouver ici ! Un grand merci à lui !