Affichage des articles dont le libellé est Orphée. Afficher tous les articles
Affichage des articles dont le libellé est Orphée. Afficher tous les articles

samedi 18 décembre 2010

Interactive fictions

I've been working for a few weeks on what is called an "interactive fiction".

Basically, a text-based adventure game, not necessarily entirely text-based (there may be illustrations) but whose operation, whose gameplay, is entirely text-based.

A world in which events, characters, in short, everything is described by text, and where the player enters textual commands to act.

It may sound ultra primitive, but the capabilities of today's computers, compared to those of the 80's - when the great standards of this genre were released, for example, on CPC, The Black Sect, Omeyad, Sram 2, Orphée – and the possibilities offered by modern programming languages, such as Inform7, which I use, make the games almost infinite in size and complexity.

So I am, for the moment, because it will grow again, at no less than 520 places where the player can move. Nothing prevents me, apart from the work time, from adding twice or three times as many, or ten times as many, to create a world or a city that is rich and explorable in its every corner. With an equally virtually infinite number of non-player characters and items to manipulate, missions and subplots, in short, as on Zombo.com there is no limit other than the imagination.

Of course, I wouldn't hate to have an illustrator with a brain directly connected to mine, who would give an objective, immediate, visual existence to what I'm clumsily trying to translate into sentences. But having a tool as powerful as Inform7, and as easy to use, is already unhoped-for.

The programming language resembles the human language. Its syntax is quite rigorous, but once you get the hang of it, it works on its own.

Example:

HeadRoomHouse is a room. It is north from MaisonChefCouloir. The printed name is "In the bedroom". The description is "[if unvisited]You enter the bedroom of what was once the Bauer couple. The cupboards are open, their contents spilled on the floor, desecrated. The bed has been used as a latrine. Whoever came here obviously did everything they could to defile this place. You are in the bedroom. The cupboards are open, their contents spilled on the floor, desecrated. The bed has been used as a latrine[end if]".

A code that defines the existence of a room (HeadRoomHouse), its name on the screen and its descriptive text, with variables (the text varying if the room has already been visited, or not). Let's admire the economy of means!

Another one: 

Every turn when the Prostitute is in the location of player:
If a random chance of 1 in 10 succeeds
begin;
say "[one of]The girl smiles at you with a teasing look. The girl: 'Do you want to come along, my wolf? The prostitute lights a cigarette and sighs. The prostitute looks exhausted, the night is going to be long; you feel sorry for her. The girl, in a whining voice: 'Do you have some booze? [The girl brushes her hair back, holding a small oval mirror in one hand. The girl nods discreetly to her pimp, who is standing in the distance. The girl smiles at the men who pass by, looking at them from head to toe, without modesty. The prostitute runs her fingers through her hair, sighs. The girl smiles at you with a slightly sad look. In random order";
end if.

A code, here, that allows to display randomly, when the player is in the presence of a non-player character, some ambiance messages, purely free of charge, but that give an impression of life, of autonomy of the game world.

Again, minimal code, for something that really brings to the game – and in a language so close to human that it requires no learning as such. The manual of the software is sufficient for most of the cases where the syntax is a possible problem.

So I'm enjoying creating a city as large and rich as possible, where the player can lead an absolutely non-linear life. Maybe I'll try (technically, it's a bit more difficult, but feasible) to take a model from GTA, in the "total freedom / no end" genre. And why not work constantly to increase the game, by sending updates to my players, who will be able, without losing their saves, to constantly have new places to explore, new objects, new situations to discover.

Until a language is simple and powerful enough to generate these new features by itself.

*

That being said:

I consider interactive fictions as an authentic ludic genre, in its own right, but also as an authentic literary genre – they could be in the 21st century, what the novel was in the 19th and 20th; a place of exploration of reality and human problems, and of reflection, even of proposal (political, philosophical) where an even greater identification of the "reader", and even a form of cyber-bovarianism will make the thing even more effective.

On the condition that we mutate the novel itself, by integrating into it all that the F.I. has of labyrinthine, of variant, of random, but also of redundant, of buggy, of limited – because it is also, in the same way as the traditional narration, but at another level, a faithful image of reality.

I imagine a book – can we still say a novel? but in the end what does it matter – whose text would resemble a video game source code.

A thrifty, precise, systematic, ordered, hierarchical language, which, without those damn stylistic effects that rot literature – and which are not "style" – establishes a world.

A text that integrates the different levels of consciousness and reality that we go through every day – the daily, mechanical, almost unconscious acts – daydreaming, memories – the waking dream that are the virtual worlds in 2D or 3D, etc.

It is not a question of "making science fiction". It is not about gimmicks or literary processes to be in the air of time.

I started reading a novel this afternoon that says it better than I can in a few sentences:

"Coding is everything that poetry meant to me back when we were in college. Precision, eloquence, power, completeness. Fourteen lines can fill you with the entire universe."

God wrote the source code for the universe. There is nothing to stop us from imitating him.

Fictions interactives

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.

Ç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.".

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.

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.