Je travaille depuis quelques semaines à ce qu'on appelle une "fiction interactive".
En gros, un jeu d'aventure textuel, pas forcément entièrement textuel (il peut y avoir des illustrations) mais dont le fonctionnement, le gameplay, sont entièrement basés sur le texte.
Un monde dans lequel les événements, les personnages, bref, tout est décrit par du texte, et où le joueur entre des commandes textuelles pour agir.
En gros, un jeu d'aventure textuel, pas forcément entièrement textuel (il peut y avoir des illustrations) mais dont le fonctionnement, le gameplay, sont entièrement basés sur le texte.
Un monde dans lequel les événements, les personnages, bref, tout est décrit par du texte, et où le joueur entre des commandes textuelles pour agir.
Ça peut sembler ultra primaire, mais les capacités des ordinateurs actuels, par rapport à ceux des années 80 – où sont sortis les grands standards de ce genre, par exemple, sur CPC, La Secte Noire, Omeyad, Sram 2, Orphée – et les possibilités offertes par les langages modernes de programmation, comme Inform7, que j'utilise, rendent les jeux quasiment infinis en terme de taille et de complexité.
Ainsi j'en suis, pour l'instant, car ça va encore grandir, à pas moins de 520 lieux où le joueur peut se déplacer. Rien ne m'empêche, à part le temps de travail, d'en ajouter encore le double ou le triple, ou dix fois, pour créer un monde ou une ville riche et explorable dans ses moindres recoins. Avec un nombre tout aussi virtuellement infini de personnages non-joueurs et d'objets à manipuler, de missions et d'intrigues secondaires, bref, comme sur Zombo.com il n'y a pas d'autre limite que l'imagination.
Évidemment, je ne détesterais pas avoir sous la main un illustrateur au cerveau directement branché sur le mien, qui donnerait une existence objective, immédiate, visuelle, à ce que j'essaie maladroitement de traduire en phrases. Mais avoir un outil aussi puissant qu'Inform7, et aussi simple d'utilisation, est déjà inespéré.
Le langage de programmation ressemble au langage humain. Sa syntaxe est assez rigoureuse, mais une fois qu'on a pris certains réflexes, ça va tout seul.
Exemple :
MaisonChefChambre is a room. It is north from MaisonChefCouloir. The printed name is "Dans la chambre à coucher". The description is "[if unvisited]Vous entrez dans la chambre à coucher de ce qui fut autrefois le couple Bauer. Les armoires sont ouvertes, leur contenu renversé au sol, profané. Le lit a servi de latrines. Ceux qui sont venus ici ont manifestement tout fait pour souiller ces lieux.[otherwise]Vous êtes dans la chambre à coucher. Les armoires sont ouvertes, leur contenu renversé au sol, profané. Le lit a servi de latrines.".
MaisonChefChambre is a room. It is north from MaisonChefCouloir. The printed name is "Dans la chambre à coucher". The description is "[if unvisited]Vous entrez dans la chambre à coucher de ce qui fut autrefois le couple Bauer. Les armoires sont ouvertes, leur contenu renversé au sol, profané. Le lit a servi de latrines. Ceux qui sont venus ici ont manifestement tout fait pour souiller ces lieux.[otherwise]Vous êtes dans la chambre à coucher. Les armoires sont ouvertes, leur contenu renversé au sol, profané. Le lit a servi de latrines.".
Code qui définit l'existence d'une pièce (MaisonChefChambre), son nom à l'écran et son texte descriptif, avec des variables (le texte variant si la pièce a déjà été visitée, ou pas). Admirons l'économie de moyens !
Un autre :
Every turn when the Prostituee is in the location of player:
If a random chance of 1 in 10 succeeds
begin;
say "[one of]La fille vous sourit d[']un air aguicheur.[or]La fille : 'Tu veux venir, mon loup ?'.[or]La prostituée s[']allume une cigarette en soupirant.[or]La prostituée a l[']air épuisée, la nuit va être longue ; vous avez pitié d[']elle.[or]La fille, d[']une voix geignarde : 'T'aurais pas un peu de gnôle ?'.[or]La fille se recoiffe, tenant d[']une main un petit miroir ovale.[or]La fille fait un signe de la tête, discret, à son souteneur qui se tient au loin.[or]La fille sourit aux hommes qui passent, les regardent de la tête aux pieds, sans pudeur.[or]La prostituée passe ses doigts dans ses cheveux, soupire.[or]La fille vous sourit d[']un air un peu triste.[in random order]";
end if.
Every turn when the Prostituee is in the location of player:
If a random chance of 1 in 10 succeeds
begin;
say "[one of]La fille vous sourit d[']un air aguicheur.[or]La fille : 'Tu veux venir, mon loup ?'.[or]La prostituée s[']allume une cigarette en soupirant.[or]La prostituée a l[']air épuisée, la nuit va être longue ; vous avez pitié d[']elle.[or]La fille, d[']une voix geignarde : 'T'aurais pas un peu de gnôle ?'.[or]La fille se recoiffe, tenant d[']une main un petit miroir ovale.[or]La fille fait un signe de la tête, discret, à son souteneur qui se tient au loin.[or]La fille sourit aux hommes qui passent, les regardent de la tête aux pieds, sans pudeur.[or]La prostituée passe ses doigts dans ses cheveux, soupire.[or]La fille vous sourit d[']un air un peu triste.[in random order]";
end if.
Code, ici, qui permet d'afficher aléatoirement, lorsque le joueur se trouve en présence de tel personnage non-joueur, des messages d'ambiance, purement gratuits, mais qui installent une impression de vie, d'autonomie du monde du jeu.
Là aussi, code minimal, pour quelque chose qui apporte vraiment au jeu – et dans un langage tellement proche de l'humain qu'il ne nécessite aucun apprentissage en temps que tel. Le manuel du soft est suffisant pour la plupart des cas où la syntaxe pose un éventuel problème.
Je me fais donc plaisir à créer une ville aussi étendue et riche que possible, où le joueur puisse mener une vie absolument non-linéaire. Peut-être essaierai-je (techniquement, c'est un peu plus coton, mais faisable) de prendre modèle sur GTA, dans le genre "liberté totale / pas de fin". Et pourquoi pas travailler sans cesse à augmenter le jeu, en envoyant les updates à mes joueurs, qui pourront, sans perdre leurs sauvegardes, avoir sans cesse de nouveaux lieux à explorer, de nouveaux objets, de nouvelles situations à découvrir.
En attendant qu'un langage soit assez simple et puissant pour générer ces nouveautés tout seul.
*
Ceci étant :
Je considère les fictions interactives comme un authentique genre ludique, à part entière, mais aussi comme un authentique genre littéraire – elles pourraient être au 21ème siècle, ce que le roman fut au 19ème et au 20ème ; un lieu d'exploration du réel et des problématiques humaines, et de réflexion, voire de proposition (politique, philosophique) où une identification encore accrue du "lecteur", et même une forme cyber-bovarisme rendront la chose encore plus efficace.
À condition de faire muter, donc, le roman lui-même, en y intégrant tout ce que les F.I ont de labyrinthique, de variant, d'aléatoire, mais aussi de redondant, de bogué, de limité – parce que c'est aussi , au même titre que la narration traditionnelle, mais à un autre niveau, une image fidèle de la réalité.
J'imagine un livre – peut-on encore dire un roman ? mais au fond quelle importance – dont le texte ressemblerait à un code-source de jeu vidéo.
Une langue économe, précise, systématique, ordonnée, hiérarchique, qui, sans ces foutus effets de style qui pourrissent la littérature – et qui ne sont pas "le style" – instaure un monde.
Un texte qui intègre les différents niveaux de conscience et de réalité que nous traversons tous tous les jours – les actes quotidiens, mécaniques, presque inconscients – la rêverie, les souvenirs – le rêve éveillé que sont les mondes virtuels en 2D ou en 3D, etc.
Il ne s'agit pas de "faire de la science-fiction". Il ne s'agit pas de gadgets ou de procédés littéraire pour être dans l'air du temps.
J'ai commencé ce midi la lecture d'un roman qui en quelques phrases dit ça mieux que je ne le pourrai :
"Le codage, c'est tout ce que la poésie représentait pour moi du temps où nous étions en fac. Précision, éloquence, puissance, exhaustivité. Quatorze lignes peuvent te remplir l'intégralité de l'univers."
Dieu a écrit le code-source de l'univers. Rien ne nous interdit de l'imiter.
Aucun commentaire:
Enregistrer un commentaire