Inform7: une météorite vient atterrir dans le monde de l'IF

Les développeurs du projet inform ont travaillé d’arrache-pied pour produire ce qui semble être une véritable merveille : Inform 7
Si j’ai bien compris comment cela fonctionne, cette date est à marquer d’une pierre blanche dans le développement de l’IF : en effet Inform 7 est livré maintenant dans une application unique qui permet de tout compiler directement, mais surtout d’écrire une aventure EN LANGAGE NATUREL ! Fini les problèmes de code barbare et de static mal placé :slight_smile:
Je vais aller le tester de ce pas :

inform-fiction.org/I7/

une analyse :
brasslantern.org/writers/howto/i7intro.html

et un exemple, pour voir la différence de code source :

inform-fiction.org/I7Downloads/E … ource.html

C’est vraiment hallucinant !

Ce qui est vraiment le plus fort aussi c’est que les auteurs se sont tous concertés pour travailler en silence sur ce projet, et qu’ils sortent tout en même temps : Une version macosx, une version windows d’inform 7, mais aussi une version macosx de l’interpréteur Zoom, ainsi que la version windows de frotz, qui supportent les spécificités d’inform7, mais aussi les nouvelles normes de glulx 2 : notamment le format OGG (c’est JB et votre serviteur qui vont être contents)

Et en plus de cela, ils ont lancé un nouveau projet qui, si j’ai bien compris, permet d’unifier un peu les informations sur un jeu :
babel.ifarchive.org/

(les 2 interpréteurs nommés plus haut supportent également cela)

Et tant qu’à faire ils ont fait également la mise à jour de la version 6 d’inform.

Maintenant on se pose la question du devenir de Inform 7 par rapport aux autres langues que l’anglais, car les 2 semblent très liés.

Allez, je vais tester et je reviens vous livrer mes impressions.

Ma première impression: C’est véritablement une bonne idée qui pourrait changer la façon de voir l’if, et permettrait d’amener à la fiction interractive des non-programmeurs… Le problème c’est que selon moi, le concept de langage naturel devrait être un peu plus poussé, en effet c’est loin de marcher dans tous les cas leur langage naturel là, seulement dans les cas précis prévu par le moteur, il reste donc une part de langage formel à ingurgiter… Par exemple « A dice is on the table » marchera alors que « There is a dice on the table » provoque un message d’erreur… Certes il est plutôt difficile de prévoir tous les messages des utilisateurs, mais j’espère tout de même que les choses vont aller dans ce sens, plutôt que de devoir apprendre la manière de formuler les choses, qui reste finalement un langage informatique « naturalisé » si je puis dire… Cela reste néanmoins une approche très originale et interressante, qui nécessite d’évoluer encore un peu, elle vient juste de sortir cette version 7, laissons lui le temps de grandir un peu…

Sinon, pour ce qui est d’une futur probable localisation en français, j’ai un peu de mal à voir comment passer d’un interpréteur d’un langage idiomatique comme l’anglais au français qui l’est un peu moins… Mais certes, rien est impossible…

peut-être qu’avec Inform 8 ou 9 les anglophones pourrons écrire de façon plus naturelle encore. Mais je trouve que c’est déjà très fort quand même, car bien qu’il faille apprendre un minimum la syntaxe, cela semble relativement naturel. Par contre c’est vrai que cela rajoute pas mal de texte à taper. Peut-être que pour Inform 15 ils mettront un IDE façon Quest à la place :slight_smile: Parfois c’est plus rapide de remplir une pièce en ajoutant des mots que de tout décrire.

Entre temps on aura peut-être aussi Inform 11 traduit par le petit fils de JL, et qui permettra de coder une pièce ainsi (peut-être même en parlant dans un micro) :

"Bon, la cabane se trouve sur la plage de sable fin. La porte est cassé, et puis les fenêtres... heu, non, il n'y a qu'une fenêtre, et ben elle n'a plus de vitres non plus. Ensuite, l'intérieur ? Ben ché pas, attend voir, ah oui y'a une bouteille de sky à moitié pleine sur la table. J'entends le vent dans les feuillages des palmiers, mais attention hein, le vent il est en .ogg pas dans cette cochonnerie de format .aiff et il se trouve dans le fichier vent_palmier.ogg dans mon répertoire perso. Ah non, attend, je vais le faire moi même cela sera plus rapide "whooooo", voilà."

sinon je ne sais pas s’ils ont prévu de garder cet unique format un peu verbeux, mais cela pourrait être intéressant de pouvoir convertir ce code en code inform plus standard et vice-versa, quitte même à pouvoir mixer les 2 codes ensemble pour utiliser le meilleur de chaque partie.

Il semble possible de mettre du I6 dans l’I7, avec la syntaxe (- -) … Il semblerait aussi qu’inform ne soit qu’une sorte de surcouche d’inform6 donc il doit bien y avoir un moyen d’obtenir le code I6…
J’ai hâte de voir la version 11 !!! :wink:

un pis-aller serait peut-être d’utiliser la syntaxe d’inform 7 en anglais mais en mettant tout ce qui sera affiché au joueur en français. Il faudrait ensuite résoudre que les bibliothèques affichent bien des remarques en français (« vous voyez »… etc). Cela peut semble non naturel, mais le codage actuel est bien avec des expressions en anglais (if, has pluralname etc), sauf pour la version espagnole où tout a été traduit. C’est vrai que cela sera peut -etre moins naturel pour nous. Mais je doute que l’on puisse un jour écrire ce genre de chose tout en français, car il y a trop de cas particuliers.

et je crois que tu as raison, il y a le binaire de inform 6.3 dans le paquet, ainsi que les bibliothèques actuelles d’inform. Mais ils parlaient également d’un binaire supplémentaire pour pouvoir utiliser les sources avec la nouvelle syntaxe.

Je suis en train de survoler la source de Bronze. C’est… fou. Génial ? Ça reste à voir.

Je ne connais pas bien les diverses expériences qui ont été menées sur le rapprochement des langages informatiques et des langages naturels, par contre je sais qu’ils sont actuellement bien distincts. Après cinquante ans d’informatique et de tentatives, c’est qu’il y a quand même un truc qui ne colle pas entre les deux.

La fiction interactive occupe une place particulière dans l’informatique toutefois : elle mêle les deux univers en proportions similaires, et nécessite des qualités d’écrivain tout autant que de programmeur. Jusqu’ici la balance a penché vers ces derniers, parce que c’étaient eux également qui fabriquaient les systèmes de création d’IF, et que les écrivains avaient du mal à se faire aux syntaxes informatiques et au manque de convivialité de ces systèmes. Ceux qui ont tenté de faire disparaître la syntaxe sous un amoncellement de boîtes de dialogue l’ont pour autant que je sache fait aux dépens des capacités du système de création ou de la productivité des auteurs.

Inform 7 est manifestement une nouvelle tentative de marier les deux composantes de la fiction interactive, dans une direction jusqu’ici peu explorée, en tout cas pas jusqu’à ce point : camoufler la syntaxe informatique derrière un simulacre de langage naturel. L’exemple donné est très impressionant et attirera probablement beaucoup plus un écrivain qu’un amoncellement de fragments de texte emprisonnés dans une gangue de symboles cabalistiques.

Il ne faut pas se faire d’illusion toutefois : la syntaxe demeure, le texte naturel est converti en langage Inform avant d’être compilé de manière très classique. Les phrases ont beau sembler naturelles, il est probable qu’elles respectent néanmoins un ordonnancement strict. Mais peu importe : ce qui compte, c’est que les écrivains trouvent qu’il est plus agréable de rédiger une fiction interactive avec ce langage, et avec le talent combiné de Graham Nelson, d’Emily Short et d’Andrew Plotkin, il est fort probable que ce soit le cas.

Par contre, ce nouveau langage étant indissociable d’un nouveau modèle d’univers également créé pour l’occasion, il est possible que son adaptation en français se révèle particulièrement ardue.

Je suis bien curieux de voir quel succès Inform 7 va rencontrer. Je lui souhaite bien du succès, car la fiction interactive manque de profils litttéraires, et il pourrait bien rééquilibrer la balance.

Et bien je ne suis pas épaté.

D’après les exemples que j’ai vu, le language naturel permet de créer des objets et leurs différentes imbrications et descriptions.

Néanmoins, le total néophyte en Inform après 5 min de lecture d’un code source simple peut créer sa premiere room simplement en changeant la description…etc…

Le plus dur en fait c’est de conceptualiser des énigmes ou une narration interressante et faire en sorte que ca marche, et là, bonjour les variables locales, bienvenue les routines, hello les verbes customisés.

Et cela, je suppose que le language naturel le fait pas ? Du moins pas dans les exemples que j’ai vu.

edit : je rajoute même que c’est bien marrant de faire des languages hyper simples, mais le plus dur reste à comprendre la relation code source, compilateur…etc…et oui ! c’est ce qui m’a pris le plus de temps au début, car je ne savais pas ce qu’était un compilateur, ni son interêt !

edit 2 : d’ailleurs j’ai toujours pas compris l’interêt…mais bon, si on compile pas, ca marche pas, alors je préfére compiler…

JB

Lis l’article de Brass Lantern, il décrit pas mal de choses qu’un simple survol de l’exemple ne permet pas de voir immédiatement. Il y a notamment tout un support de conditions en langage naturel qui permet d’implémenter une bonne partie des énigmes basiques et classiques (genre « la lumière n’est allumée que quand le générateur fonctionne »). C’est une programmation de style « fonctionnel » pour les imbus de théorie. Mais effectivement, pour les choses plus complexes, on retombe dans une syntaxe plus impérative et informatique ; on peut même mettre directement de l’Inform 6 en plein milieu, dans le pire des cas.

Par ailleurs, un IDE est également fourni avec Inform 7 qui invente quelques fonctionnalités manifestement excellentes (notamment la mémorisation de toutes les commandes tapées lorsque l’on teste son jeu, et la possibilité de facilement consulter et rejouer tout ou partie de celles-ci).

Le projet d’identifiant unique des jeu a l’air très sympa également. Ils ont vraiment laché un gros pavé dans la mare. :slight_smile:

Inform 7 en français, c’est déjà prêt !! :wink:

en fait pas trop encore, mais cela doit pas être impossible à faire quand même…

Le langage choisi pour Inform 7 est audacieux, reste à voir ce que ça donnera à l’usage. A priori cela ne me semble pas une bonne idée, mais après tout puisque l’auteur exige du joueur de saisir toutes les commandes au clavier, pourquoi l’auteur ne subirait-il pas un sort analogue ? Bref, à suivre (notamment les réactions d’auteurs anglophones n’ayant jamais écrit avec Inform 6).

Cela relance pour moi la question du joueur : changer le langage de programmation, pourquoi pas, mais le jeu reste le même. Qui joue à ce type de jeu ? Que cherche cette personne ? Résoudre des énigmes ? Explorer un univers ? Vivre une histoire ? Interagir avec des personnages ?

L’apport qui me semble à coup sûr le plus immédiatement utile et qui manque cruellement dans Inform 6 (y compris dans JIF je crois), c’est la facilité apportée pour tester l’aventure, notamment à partir de tout ce qui a déjà été essayé par l’auteur (et les testeurs ?). Pouvoir tester une branche différente du jeu comme s’il y avait un autosave de tous les coups avec affichage de tous les historiques, cela devrait être possible dans tous les interpréteurs, car même pour un joueur c’est intéressant, s’il veut essayer ce qui se serait passé s’il avait essayé ceci d’abord. De plus, pour l’auteur, pouvoir vérifier qu’après une modification du jeu, le reste se comporte comme avant (test de non-régression) me semble indispensable. Un interpréteur (style Windows Frotz) qui intègrerait ces fonctions serait vraiment intéressant (qui sait, ça existe peut-être).

A ce sujet ADRIFT ne semble pas disposer de fonction replay !

Super ! Une version pour Linux est-elle prévue ? :slight_smile:
Sinon tu peux essayer de traduire en français le code source du jeu pour voir ce que cela donnerait. Par exemple : « La chambre rouge est une pièce. La chambre bleue est à l’ouest de la chambre rouge. » etc

oui, c’est audacieux. Et je trouve cela si séduisant.
Par contre j’ai essayé ce matin pendant 2 heures (je me suis acharné un peu bêtement) de refaire le comportement que l’on peut avoir avec initial / description / if visited etc. / nouvelle description et j’ai vraiment eu du mal à trouver la bonne combinaison, mais je dois manquer de pratique. Pour le coup, c’était le « guess the verb » inversé :slight_smile:

Cela serait quelque chose comme :

before looking: if chambre1 is visited, say "blabla."

j’avais essayé sans succès des phrases genre :

if chambre1 has been visited then the description of chambre1 is « blabla. » mais il n’en voulait pas.
L’étude des (déjà très) nombreux exemples est très instructive.e

Ce code est ahurissant (je n’ai pas encore testé bcp le jeu) :

inform-fiction.org/I7Downloads/E … source.txt

Le coup de traduire en français j’y avais pensé, et puis faire un script pour tout retraduire et compiler en anglais…
Cela pourrait être super dans un but didactique (dans un contexte scolaire par exemple), mais quel travail (à supposer que cela soit réalisable), pour faire quelque chose qui tienne la route. Le français est tellement irrégulier et complexe.

Sinon pour l’IDE, le mieux serait sous Java je crois, en plus de ce qui existe déjà, ainsi les utilisateurs linux pourraient l’utiliser. Et puis une version en ligne de commande serait pas mal non plus, même si cela prive d’une partie des fantastiques possiblités de l’IDE (qui si elle n’est pas mal sous windows est vraiment exceptionnelle sous OSX)

mes recherches avec Inform7 continuent de progresser . Pour le moment je peux écrire du code, et recompiler correctement en français, au prix de quelques privations et du remplacement d’une partie des nouveaux messages en anglais par l’équivalent dans la vieille bibliothèque en français. Je n’ai rien vu qui me semblait problématique avec, alors je continue :slight_smile: Par la suite on pourra peut-être envisager de traduire la bibliothèque de remplacement, si c’est possible à faire.

J’ai écrit cela dans un message ici :
groups.google.com/group/rakontoi … fe2aa23ae9

C’est quand même plus agréable d’écrire qu’avec Inform6 je trouve, et encore je n’ai pas encore appris toutes les subtilités.
Je regrette juste que cela risque de mener à du code un peu brouillon car on peut décrire un objet ou un lieu n’importe où dans le code, c’est à dire commencer une description à un endroit, et rajouter des fonctionnalité ailleurs. Cela peut être un avantage comme un inconvénient.

En tout cas cela fonctionne bien.

Je vais également essayer de faire passer une dépêche présentant Inform et les FI sur le site de linuxfr.org

(edit) ma dépêche a été refusée. Cela dénote le peu d’intérêt qu’ils ont pour ce type de jeu. J’ai quand même fait un journal, mais il ne vous apprendra rien (j’ai aussi parlé du concours) :

linuxfr.org/~farvardin/21569.html

Je ne suis pas étonné que ta dépêche se soit faite rejeter par LinuxFr. Je vois au moins trois points d’achoppement, le plus important en premier :

  • Ça marche pas sous Linux (enfin, Inform 7, le sujet de la dépêche)
  • C’est pas Libre (avec la majuscule, hein)
  • Le gros pavé au milieu aurait pu être résumé / mis sur un site externe

Ceci dit, tu l’as très bien placé en tête des journaux malgré la semble-t-il bouillasse politique qui a été postée depuis. Ça va peut-être attirer plus de monde qu’une dépêche de « seconde zone » (celles qui apparaissent à gauche sur la page principale du site, et où je pense que ta dépêche aurait été publiée si acceptée).

Une bonne publicité pour l’IF, je trouve.

(Et j’espère que mes commentaires sur l’IF francophone (plutôt l’IF ancienne que récente d’ailleurs) ne seront pas interprétés comme un mépris de la communauté existante.)

oui, tu as sans doute raison. Et également parfaitement raison sur le fait que cela est plus visible sur un journal que sur une dépêche de seconde zone, où elle aurait certainement atterri. Quoique on voit bien dans une dépêche (de première page) récente une « distribution » qui n’est qu’une compilation de 3 logiciels sous windows, même si l’intention est louable, c’est sans doute l’effet « propagande du libre » faite par un lug qui l’a placé là.
Et ce qui m’a énervé aussi c’est la réponse automatique genre « fais un journal à la place », lorsque l’on a passé plus de 2 heures pour écrire un article cela fait un peu mal.

Sinon ce qui rend aussi la nouvelle un peu moins pertinente (pas forcément pour linuxfr ou autre, le compilateur linux sera disponible bientôt j’espère), c’est que c’est plutôt réservé aux jeux anglais et aux anglophone, et que l’utilisation en français de la nouvelle syntaxe fait un peu bidouille.

Enfin, c’est pas grave, l’important pour nous est de faire la « propagande de la fiction interactive » de façon générale :slight_smile:

Pas de problème pour ton commentaire sur l’IF francophone, autant le dire comme tu le penses, je ne crois pas que les gens verront cela comme un dénigrement, tes commentaires sont toujours pertinents :slight_smile:

Inform 7 en français avec la bidouille en question :

anamnese.online.fr/site2/index.p … =ifinform7

La version 5U92 d’inform 7 vient de sortir. Quelques nouvelles fonctionnalités, et la correction de plus de 110 bugs !

inform-fiction.org/I7Downloa … eNotes.txt

Je vais tester cela dès que possible.

Un nouveau site pour Inform 7 : inform7.com/
Un nouveau blog pour Inform : inform7.com/news/
Une nouvelle version d’Inform 7 : inform7.com/download/

132 bugs de réglés, optimisation du code, sortie du code source du compilateur pour compiler cblorb et ni (mais pas encore du code de NI), ajout du système métrique pour définir des éléments, possibilité de résoudre des équations physiques : Cette étonnante fonctionnalité de résolution d’équation est décrite ici : inform7.com/learn/man/doc233.html

Les nouveautés en détail : inform7.com/learn/man/doc436.html

ah, et apparemment le code d’Inform6 est maintenant sous « licence artistique », ce qui le rend libre selon l’OSI :

inform7.com/sources/i6n/
opensource.org/licenses/arti … se-2.0.php

par contre je ne sais pas ce qu’il en est des bibliothèques annexes pour I6.

(edit) Pour les bibliothèques annexes (parser, grammar etc) pour Inform 7, c’est aussi sous licence artistique : inform7.com/sources/webs/ donc pour inform 6 cela risque de suivre la même voie…

Ah, bonne nouvelle pour la licence !

Bientôt des paquets inform 6 et 7 dans nos distributions préférées ?

Sinon, dans le nouveau « discussion paper » qu’ils ont aussi sorti en même temps que le reste, je vois qu’ils parlent d’un problème que nous connaissons bien :wink: :

code – Different handling of apostrophes. For some languages like French, Italian, maybe Spanish as well, it may be useful to be able to disable the replacement of apostrophe by " and replace quote by something else (

[quote]
or ["], etc).

We will investigate how plausible this is.[/code]

Et une autre chose dont nous avions parlé :

code – For the annotation * to be added back to Inform (this is a feature of the Inform 6 6/11 library) so that people can note comments in transcripts without the game interpreting their remarks as commands.

We’re considering whether its presence or absence annoys the greater number of people.[/code]