On vous parlait récemment de Vorple, cet outil qui permet d’incorporer du JavaScript et du CSS à des fictions interactives écrites en Inform. Les fonctionnalités apportées sont très intéressantes, et ouvrent de vastes horizons en termes de gameplay et de présentation. Malgré cela, les auteurs qui utilisent Vorple sont relativement rares… Peut-être à cause de la nouveauté, et du manque de tutoriels et de documentation. Qu’à cela ne tienne ! Voici un tutoriel pour apprendre à mettre en place Vorple pour Inform 6 et Inform 7, que j’espère aussi clair que possible : n’hésitez pas à nous dire en commentaire si vous avez le moindre souci, ou si je n’ai pas été clair dans l’une de mes explications !

Créer son jeu, c’est bien, mais il faut pouvoir aussi le tester… La procédure pour jouer à votre jeu est un peu plus complexe que d’habitude quand on utilise Vorple ; mais n’ayez crainte, mon prochain tutoriel sera sur cet aspect-là !

Petite note sur Borogove

Depuis l’écriture de ce tutoriel, Juhana Leinonen, auteur de Vorple, a créé un service en ligne qui permet d’écrire son code et le tester en direct : Borogove. Ceci ne vous dispense pas du reste du tutorial, puisqu’il faut savoir quoi inclure dans votre code, mais c’est un outil potentiellement intéressant, qui rend le test du jeu instantané. Par contre, vu que c’est un service en ligne, l’inclusion d’images, de multimédia, et d’autres extensions est plus lente, et il y a toujours le risque que le navigateur plante. Je dirais que c’est un bon outil pour commencer, mais qu’à un moment donné vous trouverez sans doute le travail hors ligne plus pratique !

Utiliser Vorple avec Inform 6

Dans un premier temps, il faut télécharger les fichiers à cette adresse. Il y a plusieurs types de fichiers : de la documentation (dans le dossier « doc »), les fichiers « .h » (les extensions/bibliothèques Vorple pour Inform 6), l’interpréteur Vorple (le fichier « play.html » et le dossier « interpreter »), le dossier où vont les fichiers multimédias (« resources ») et, enfin, le dossier contenant des exemples.

Pour commencer votre projet, prenez un début de jeu Inform 6 typique (Constant title, Include "parser" , Include "verblib" , Include FrenchG , etc.) et copiez-le dans le répertoire de « play.html ». Renommez-le pour l’instant « test.inf ». Il vous faut ensuite faire deux choses : inclure les bibliothèques Vorple, puis compiler. Pour l’inclusion des bibliothèques, c’est un peu étrange : il faut inclure Vorple deux fois, de la façon suivante :

Include "vorple.h"; ! 1re fois.
Include "parser";
Include "verblib";
Include "vorple.h"; ! 2e fois.

Alternativement, si vous avez besoin d’une autre extension Vorple (par exemple, « vorple-notifications »), vous pouvez simplement faire :

Include "vorple.h"; ! 1re fois.
Include "parser";
Include "verblib";
Include "vorple-notifications.h"; ! Ça compte comme la 2e fois.

L’étape suivante est d’initialiser Vorple ; pour ceci il faut appeler la fonction VorpleInitialise dans votre Initialise :

[ Initialise ;
   VorpleInitialise();
   ...

Ensuite, il faut compiler. J’ai inclus dans le dossier un fichier nommé « makefile », qui contient la commande suivante :

@inform-633/src/inform '$MAX_STATIC_DATA=30000' '$MAX_LABELS=12000' -s~S -e -f -G test.inf

Le premier bout, « @inform-633/src/inform », contient l’adresse sur mon ordinateur du compilateur inform ; le plus simple est que vous copiez l’exécutable du compilateur (« inform.exe » ou « inform ») dans le répertoire de votre fichier .inf, puis que vous remplaciez ce bout par « @inform ». Ensuite copiez vos bibliothèques Inform (« parser », « verblib », « FrenchG », etc.) dans un dossier « bibliotheques », et ajoutez « +include_path=bibliotheques ». Enfin, juste avant test.inf, ajoutez « +Language_name=French ». Bref, la commande devrait ressembler à

@inform '$MAX_STATIC_DATA=30000' '$MAX_LABELS=12000' -s~S -e -f -G +include_path=bibliotheques +Language_name=French test.inf

Croisez les doigts… Si ça compile, mais que vous obtenez des avertissements (variable not used, etc.), c’est bon !

Si vous êtes sur Windows, supprimez toutes les lignes de « makefile » à part celle-ci, et renommez le fichier en « makefile.bat » ; si vous double-cliquez, ça devrait marcher, et créer pour vous le fichier test.ulx.

Si vous avez déjà votre commande de compilation, et pourquoi pas déjà votre jeu, une précision : Vorple ne fonctionne qu’avec des fichiers Glulx (la Z-Machine étant moins utilisée de nos jours). Il faut donc vous assurer que vous avec inclus une bibliothèque comme infglk, et que vous avez bien ajouté -G dans votre commande de compilation. Il y a quelques autres différences entre la Z-Machine et Glulx (notamment sur la taille des mots machine ou la gestion des styles), et vous aurez peut-être des erreurs si vous avez utilisé des opcodes Z-Machine comme @read, mais des équivalents Glulx existent. Si vous avez besoin d’aide, regardez ce texte d’Andrew Plotkin, ou demandez-moi !

Utiliser Vorple avec Inform 7

Si vous utilisez Inform 7, la procédure est un peu plus simple. Tout d’abord, il faut que vous téléchargiez les fichiers sur le site de Vorple, qu’il faudra par la suite mettre au bon endroit !

Mais avant ça, vous aurez besoin d’une autre chose. En effet, Vorple requiert la dernière version d’Inform 7 pour fonctionner, la 6M62. Problème : l’extension française ne fonctionne que sur la 6L38, qui est la version précédente. Mais Nathanaël Marion (Natrium729), qui maintient cette extension, a pensé à tout et vous a préparé une extension qui effectue quelques modifications à Vorple pour que ça marche avec la 6L38. Elle est disponible là, et se nomme, en toute simplicité, « Vorple for 6L38 ».

Vous avez maintenant le choix : soit vous installez les extensions globalement (elles seront accessibles à tous vos projets Inform), soit vous ne les installez que pour un seul projet. Cette dernière option est recommandée car vous pourrez utiliser une version de Vorple différente pour plusieurs projets. (En effet, si jamais une nouvelle version modifie beaucoup de choses, vous pourrez continuer à utiliser la précédente.) Il vous suffit de glisser le dossier « Extensions » provenant du téléchargement de Vorple dans le dossier « .materials » de votre projet. Vous devrez aussi créer un dossier « Nathanael Marion » dans « Extensions » et y glisser Vorple pour 6L38.

Si vous voulez installer les extensions globalement, faites comme avec n’importe quelle extension téléchargée : aller dans le menu « File » et cliquer sur « Install Extension » pour chacune des extensions (un peu long et rébarbatif, certes).

Il vous faut ensuite installer le template qui contient l’interpréteur Vorple ; comme pour les extensions, il suffit de glisser le dossier « Templates » du téléchargement Vorple dans le dossier « .materials ».

Il est aussi possible d’installer le template globalement, mais c’est plus compliqué (il faut le faire manuellement) et c’est moins recommandé : il y a des chances que vous y effectuerez des modifications spécifiques à votre projet (pour modifier l’apparence où le comportement de la page du jeu).

À présent, vous pouvez écrire votre premier projet Vorple ! Incluez les extensions comme d’habitude en faisant simplement attention d’utiliser « Vorple for 6L38 » de Nathanaël Marion à la place de Vorple de Juhana Leinonen ; de plus, il faudra dire à Inform d’utiliser l’interpréteur Vorple.

"Mon premier projet Vorple" by Moi (in French)

Include Vorple for 6L38 by Nathanael Marion.
Include Vorple Notifications by Juhana Leinonen.
Release along with the "Vorple" interpreter.

[Et on ajoute le reste du jeu : les autres extensions utilisées, les endroits, etc.]

Cliquez maintenant de cliquer sur le bouton « Release » ; s’il n’y a pas d’erreur, c’est que tout a été installé correctement ! (Si ce n’est pas le cas, n’hésitez pas à poster un commentaire ou à écrire sur notre forum ou sur Discord.)

La semaine prochaine…

Vous avez maintenant un fichier de jeu au format Glulx (.ulx ou .gblorb), que vous pouvez ouvrir avec un interpréteur quelconque, comme Lectrote. Étant donnée la façon dont les bibliothèques Vorple ont été codées, le jeu standard en .ulx est toujours jouable dans les interpréteurs normaux. Si vous vous apercevez qu’il y a quelque chose d’étrange dans le jeu en .ulx et que ça vous embête, il sera toujours possible de le corriger plus tard (avec un test dans votre code : si Vorple est pris en charge, faire ceci, sinon, faire quelque chose d’autre plutôt que d’afficher quelque chose de bizarre).

Il ne reste plus qu’à tester votre jeu, dans toute sa splendeur et avec tous ses effets : c’est le sujet du prochain article !