Vorple 3 ! (pour Glulx !)

Juhana Leinonen vient d’annoncer la sortie de la nouvelle version de Vorple. Pour rappel, c’est une bibliothèque super cool pour Inform qui permet de rajouter des effets très chouettes (multimédia, styles, notifications, popups, etc.) à vos fictions interactives, tout en conservant une compatibilité avec les interpréteurs classiques ; concrètement, vous avez votre jeu Vorple super joli qui se joue dans un navigateur, mais aussi un fichier Glulx classique sans les effets. Ça a été trop peu utilisé pour le moment, mais ça donne vraiment des jeux chouettes ; par exemple Guilded Youth ou La Vallée Mystérieuse d’Otto.

Il y a beaucoup de changements dans cette version (en fait Juhana a réécrit l’interpréteur Vorple et les bibliothèques !), mais on notera l’apparition d’effets sur le prompt et l’historique des commandes, que l’on peut manipuler, ce qui ouvre des possibilités géniales niveau narratives (y’a qu’à voir l’exemple qui est fourni avec). Pour le reste, il y a tous les effets que j’utilisais dans Tipelau.

C’est actuellement uniquement compatible avec Glulx et Inform 7 ; je suis en train de finir de tester le code pour Inform 6, qui devrait donc sortir bientôt. Vu que l’interpréteur a changé, ça n’est pour l’instant plus compatible Z-Machine ; mais Juhana va peut-être regarder ça, et de toute façon les bibliothèques Inform 6 seront bi-plateformes (donc il suffira de compiler avec le flag -G).

J’espère que vous allez beaucoup vous amuser avec :slight_smile:

Tant qu’à être complet, et même si ce n’est pas le meilleur exemple d’utilisation de Vorple, on peut aussi mentionner Secrets de pêcheurs :slight_smile: (je n’y ai pas encore joué, d’ailleurs).

Mais d’un certain côté, on s’en fiche un peu, puisque le jeu devient assez indépendant des limitations ou des fonctionnalités des différents formats. L’avantage avec Glulx, c’est qu’on peut quand même afficher les images qu’on aurait affiché avec Vorple autrement.

Oui !!! :mrgreen:

EDIT : En fait ça ne marche pas avec 6L38, il faut obligatoirement 6M parce que ça utilise de la syntaxe ajoutée avec cette version. Mais il y a un bug qui empêche d’utiliser le français avec 6M. Je suis très déçu. :cry: Ça me semble en revanche assez facile à modifier pour que ça fonctionne avec 6L, alors je vais voir (mais il faudra faire ces modifications à chaque nouvelle version de Vorple).

EDIT 2 : J’ai effectué les quelques modifications et ça marche nickel. Le seul défaut, c’est qu’un bug empêche Inform 6L38 d’inclure des fichiers externes, donc il faut ajouter à la main les images, les sons, le CSS et le JavaScript dans le dossier généré. Dans le cas du CSS et du JavaScript, il faut aussi ajouter une ligne dans play.css. Rien de bloquant donc. On peut donc l’utiliser en français. Si quelqu’un veut l’extension modifiée, je peux l’envoyer.

Ouille ouille ouille, ça ne marchera pas non avec la 6G60, par conséquent ?

Il faudra vraiment faire un petit tuto bien comme il faut pour utiliser ça.
Dire que ça m’intéresse serait un euphémisme. Sons, images, effets divers, ce sont autant d’éléments qui peuvent rendre plus attirantes des FI.

Je n’ai, à mon niveau, pas encore intégré de son dans mes production car trop peu d’interpréteurs peuvent les lire. Il semble que Vorple 3 règle le problème. Après, j’attends de pouvoir tâter ça de mes petits doigts avides.

Si tu n’as besoin de Vorple que pour les sons, c’est vraiment pas compliqué à mettre en place. En fait, tu pourrais même commencer à les intégrer au jeu, ça sera juste ignoré sur les autres interpréteurs, sans causer d’erreur.

Include Vorple Multimedia by Juhana Leinonen. When play begins: play sound effect "boum.mp3". [Fonctionne aussi avec les OGG.]
Il y a d’autres choses pour la musique/ambiance ou pour avoir des playlists, mais c’est du même genre.

Il faudra en revanche l’extension Vorple modifiée, comme indiqué dans mon message précédent. Et ajouter les fichiers à la main dans le dossier « Release » à cause d’un bug avec 6L38. Et bien sûr, il faudra installer l’interpréteur Vorple si tu veux le tester.

En effet. Je vais me pencher là-dessus. Je t’ai contacté par mail Natrium.

Dans l’absolu, je ne compte pas ajouter que des sons. Un minimum peaufiner l’aspect graphique est très loin de me déplaire. Mais chaque chose en son temps. D’abord, voir si je peux m’en sortir. Ensuite, les sons.

Déjà, merci Natrium pour l’extension modifiée et pour toutes les explications données en coulisse.

J’ai scrupuleusement suivi lesdites explications mais me retrouve néanmoins avec une erreur lors de la compilation :

[spoiler]Report on Translation: Failed
Produced by Inform 7 (build 6L38)

(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)
In Chapter 3 - JavaScript code execution, Section 2 - Return values in the extension Vorple by Juhana Leinonen:
Problem. In the sentence ‹ if the type of the value returned by the JavaScript command is not « truth state » begin › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line175, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
I was trying to match this phrase:
/doc164.html if (type of the value returned by the javascript command is not « truth state » - a condition):
I recognised:
type of the value returned by the javascript command is not « truth state » = a condition

Problem. In the sentence ‹ if the type of the value returned by the JavaScript command is not « text » begin › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line102, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
I was trying to match this phrase:
/doc164.html if (type of the value returned by the javascript command is not « text » - a condition):
I recognised:
type of the value returned by the javascript command is not « text » = a condition

Problem. In the sentence ‹ if the type of the value returned by the JavaScript command is « text » begin › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line165, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
I was trying to match this phrase:
/doc164.html if (type of the value returned by the javascript command is « text » - a condition):
I recognised:
type of the value returned by the javascript command is « text » = a condition

Problem. In the sentence ‹ otherwise if the type of the value returned by the JavaScript command is not « number » › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line167, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
I was trying to match one of these phrases:

  1. /doc166.html otherwise if (type of the value returned by the javascript command is not « number » - a condition)
  2. /doc166.html otherwise (if the type of the value returned by the javascript command is not « number » - a phrase)
    I recognised:
    type of the value returned by the javascript command is not « number » = a condition
    But I didn’t recognise ‹ if the type of the value returned by the javascript command is not « number » ›.

Problem. In the sentence ‹ throw Vorple run-time error « Trying to convert return value of […] JavaScript command] into a number » › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line176, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
It may be worth adding that this problem arose in text which both contains substitutions and is also being used as a value - being put into a variable, or used as one of the ingredients in a phrase other than ‹ say ›. Because that means it needs to be used in places outside its immediate context, it is not allowed to refer to any ‹ let › values or phrase options - those are temporary things, long gone by the time it would need to be printed.
I was trying to match one of these phrases:

  1. /doc71.html say « [type of the value returned by the javascript command - sayable value] »
  2. /doc71.html say « [type of the value returned by the javascript command - sayable value] »
    But I didn’t recognise ‹ type of the value returned by the javascript command ›.

Problem. In the sentence ‹ throw Vorple run-time error « Trying to convert return value of […] JavaScript command] into a number » › C:\Users\Julien\Documents\Inform\Projects\nginx-1.12.0\html\La Tour d’Orastre.materials\Extensions\juhana leinonen\vorple.i7x#line168, you seem to be looking up the ‹ type › property, but ‹ text › is not allowed to have that property.
It may be worth adding that this problem arose in text which both contains substitutions and is also being used as a value - being put into a variable, or used as one of the ingredients in a phrase other than ‹ say ›. Because that means it needs to be used in places outside its immediate context, it is not allowed to refer to any ‹ let › values or phrase options - those are temporary things, long gone by the time it would need to be printed.
I was trying to match one of these phrases:

  1. /doc71.html say « [type of the value returned by the javascript command - sayable value] »
  2. /doc71.html say « [type of the value returned by the javascript command - sayable value] »
    But I didn’t recognise ‹ type of the value returned by the javascript command ›.
    Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)[/spoiler]

Que faut-il faire pour se dépatouiller de ça ? Je précise bien sûr que j’ai remplacé l’extension Vorple par la modifiée.

Est-ce que tu as défini la propriété « type » quelque part dans ton jeu ? Si oui, alors c’est ça qui entre en conflit. J’ai eu la même chose avec Flexible Window, qui ajoutait la propriété « type » aux fenêtre.

Du coup, je peux te renvoyer une autre extension modifiée qui corrige ça.

Ha oui, effectivement, j’utilise la propriété type sur un de mes genre d’objets. Inutile de me renvoyer le fichier, je vais simplement changer à mon niveau.

Oui, tu peux si tu préfères, mais comme « type » est quand même un nom de propriété qui peut revenir souvent, je pense que c’est du côté de Vorple qu’il faudra changer. En tout cas, j’ai déjà rapporté le problème sur le dépôt de Vorple donc ça va peut-être être corrigé.

Bon, apparemment, ça marche.
Je n’ai pas encore testé l’implémentation de sons, mais les extensions Vorple et Vorple multimédia sont inclus, la compilation va à son terme et je peux lancer le jeu sur le serveur local.

Hum, quelque chose doit m’échapper…

J’ai inclus l’extension Vorple et Vorple multimédias dans le projet.
Le dossier du projet ainsi que le dossier .materials se trouvent dans le dossier html de nginx.
Le dossier Templates et le dossier extensions de vorple sont dans le dossier .materials.
Je tente de faire jouer un son en utilisant la ligne de code fournie par Natrium. J’utilise un mp3.
Je clique après sur Release dans Inform, tout se passe bien.
Je copie le fichier son dans le dossier Release de .materials.
Je vais sur mon navigateur, accède à la page play et ça fait comme avant, sans Vorple. Pas de son.

J’ai loupé une étape ? Le son doit-il être placé dans un sous répertoire ?
Faut-il utiliser autre chose que Release along with an interpreter dans le code ?

Est ce que tu as écrit :

Release along with the "Vorple" interpreter.

Il faut bien indiquer que tu veux l’interpéteur Vorple, sinon Inform va prendre Quixe.

Sinon je ne vois pas. Il faut bien taper l’adresse en « localhost », pas ouvrir le fichier html directement.

C’était ça. J’avais trouvé la solution par moi-même pour une fois. La documentation des extensions est plutôt claire.

Du coup, ça marche. Le son se joue, le test est un succès et, fichtre, ça m’enthousiasme !
J’avais vraiment été déçu lorsque j’avais découvert que peu d’interpréteurs géraient les sons. Vorple 3, c’est vraiment un gros plus !

J’ai enfin terminé les bibliothèques pour Inform 6 ! (après pas mal de boulot, notamment pour adapter les nombreux exemples) Normalement, ça devrait être rétro-compatible avec les versions précédentes. Hâte de pouvoir commencer à jouer avec, même si pour l’instant c’est surtout des idées d’extension que j’ai :slight_smile:

Ah oui ? Comme quoi ?

L’extension d’achievements de vlaviano avec notifications et modal windows, et une autre interface pour les conversations :slight_smile:

J’ai créé un jeu simple en anglais pour montrer des fonctionnalités de Vorple, et j’ai fait une vidéo Youtube en français pour montrer ces effets. (Notamment, l’extension achievements, de Vince Laviano, dont je parlais plus haut !)

J’espère que ça donnera envie d’utiliser Vorple :slight_smile:

La version 3.1 de Vorple est sortie !

Pour nous francophones, il n’y a plus les problèmes de caractères spéciaux (en fait, je soupçonne qu’ils existent encore quand on passe une chaîne de Vorple à Inform et que ça n’a été corrigé que dans l’autre sens, je vérifierai). Mais c’est aussi plus rapide, les sauvegardes fonctionnent…

Toutes les infos ici (en anglais).

On commence à faire des tutos sur le site :slight_smile: