La semaine dernière, je vous ai montré où trouver les bibliothèques Vorple, où les mettre, et comment les intégrer à votre code. Vous allez ainsi obtenir un fichier .ulx (format Glulx standard), et un fichier HTML (« play.html »), qui va vous permettre de jouer à votre .ulx dans l’interpréteur Vorple et voir le résultat.

Pour Inform 6, il suffit de compiler l’histoire comme montré dans l’article précédent. Pour Inform 7, il faut cliquer sur le bouton « Release » (ou aller dans le menu « Release » et cliquer sur « Release for Testing » si on veut garder les commandes de tests comme « actions »).

Si vous utilisez Borogove, l’application en ligne qui fait à la fois éditeur de code, gestion des fichiers du projet, et test du rendu, cet article est inutile ! En effet, Borogove affiche le résultat de votre jeu dans la colonne de droite. Mais pour l’instant, c’est un service en ligne, avec toutes les contraintes (débit, pertes de données, etc) que ça peut entraîner ; je vous encourage à essayer, même si personnellement je trouve le travail « en local » sur un ordinateur plus pratique, surtout sur des projets plus complexes.

C’est donc l’heure de tester votre jeu ! Allez, on ouvre « play.html », et…

Message d'erreur quand on ouvre Vorple en local

« You are currently viewing the page from the filesystem… »

Ah bon.

En fait, il y a des bouts de code dans l’interpréteur de Vorple (et pas des petits) qui nécessitent de passer par le protocole HTTP. Pour faire simple, si vous voulez accéder à un site Internet, les informations sont transmises depuis un serveur HTTP (par ce même protocole) jusqu’à votre ordinateur. Mais si les infos démarrent de votre ordi et vont sur votre ordi, ce protocole n’est pas utilisé, et donc il y a un problème ; d’où l’erreur que vous voyez.

Il y a essentiellement deux solutions : mettre votre jeu sur Internet, ou lancer un serveur HTTP local sur votre ordinateur, pour que ce soit lui qui lance le jeu Vorple. Si vous mettez votre jeu sur Internet, c’est facile, vous n’avez rien à installer, mais vous devez le remettre sur le bon site à chaque fois que vous changez quelque chose si vous voulez tester les changements. Si vous utilisez un serveur local, il faut installer quelque chose, mais l’actualisation du jeu est immédiate. De manière générale, on favorisera le serveur local lors de l’écriture du projet, et on le mettra en ligne pour que le reste du monde puisse jouer. Mais vous voyez ce qui vous convient le mieux !

Installer un serveur HTTP local

Les outils que vous pouvez utiliser dépendent de votre système d’exploitation (Windows, macOS ou Linux). C’est relativement simple, mais il faut savoir où chercher… Le site de Vorple nous explique comment.

La liste ci-dessous présente la méthode par défaut la plus facile pour chaque système. Cependant, si vous avez par exemple déjà Python 3 installé sur votre machine, vous pouvez très bien utiliser la méthode macOS/Linux, même si vous êtes sur Windows. Et il existe bien sûr de nombreuses autres façons non présentées ici (avec Node.js par exemple). Si vous savez déjà installer un serveur local, faites le comme à votre habitude. Sinon, lisez ce qui suit !

  • Sur Windows : Il faut télécharger le logiciel Nginx (le lien « nginx/Windows » dans la section « stable »). Dézippez le fichier pour obtenir plusieurs fichiers, dont « nginx.exe », et un dossier « html ». Déplacez votre jeu Vorple (« play.html », le dossier « interpreter », « media », etc.) dans le dossier « html » de Nginx. Lancez nginx.exe : un serveur HTTP local se lance et voit tous les fichiers dans le dossier « html ».
  • Sur macOS : Ouvrez d’abord l’application Terminal (commande + espace, puis tapez « terminal »). Il faut ensuite se placer dans le même répertoire que votre jeu Vorple : tapez cd dans la fenêtre du terminal, suivi d’une espace puis, avant d’appuyer sur entrée, faites glisser avec la souris le dossier de votre jeu (avec Inform 7, c’est le « Release » dans le .materials de votre projet) sur la fenêtre : la commande se remplira toute seule avec le chemin de votre dossier (par exemple cd /Users/Hugo/Documents/MonProjetVorple.materials/Release). Ensuite, tapez python -m http.server. Si tout va bien, vous aurez le message Serving HTTP on 0.0.0.0 port 8000 ...
  • Sur Linux : ouvrez un terminal et mettez-vous (avec cd, comme pour Mac) dans le dossier de votre jeu. (Certaines distributions vous proposent directement l’option « ouvrir un terminal dans ce dossier » si vous faites un clic droit dans le dossier de votre jeu.) Il vous faut le package python3 (tapez sudo apt-get install python3 dans le terminal pour l’obtenir). Puis entrez la commande python3 -m http.server ; le message Serving HTTP on 0.0.0.0 port 8000 ... devrait là encore s’afficher.

Vous pouvez ensuite ouvrir un navigateur et taper dans la barre d’adresse http://localhost (sur Windows) ou http://localhost:8000 (sur macOS et Linux). Si tout va bien, votre jeu se lance ! Il vous suffit maintenant de recompiler votre jeu et rafraîchir la page à chaque fois que vous effectuez une modification.

Mettre votre jeu sur Internet

Il y a plusieurs solutions, allant de la plus simple à la plus compliquée.

1) Utiliser itch.io

Itch.io est, en gros, un magasin de jeux vidéo indépendants, qui se veut de concurrencer Steam ; mais au contraire de Steam, itch.io est bien plus orienté vers les petits développeurs/auteurs, et offre beaucoup d’outils assez puissants pour mettre en valeur votre jeu. Concrètement, vous pouvez ouvrir un compte sur itch.io, créer un nouveau projet, et téléverser les fichiers de votre jeu sur le site ; c’est gratuit, et immédiat. Et vous avez de la chance : Adrien a écrit un tuto dans ces colonnes il y a quelques semaines pour vous expliquer comment faire !

L’ennui, c’est qu’il faut refaire un zip et le remettre sur le site à chaque fois que vous changez votre jeu ; au bout d’un moment, c’est lourd, même si on s’en sort. Il y a un outil pour aller plus loin, mais dont l’usage est un petit peu avancé : il s’appelle « butler », et voici sa documentation. Il faut l’installer, puis l’utiliser pour téléverser votre projet ; par la suite, il suffit de le lancer (avec la commande butler push nom-du-dossier pseudo/jeu), et il s’occupera de mettre à jour sur le site les fichiers qui en ont besoin. (Il fonctionne comme un gestionnaire de versions, pour ceux qui connaissent.)

2) Utiliser un service de cloud

Si vous avez un service de stockage de fichiers dans le cloud, comme Google Drive ou Dropbox, vous pouvez également vous en servir pour votre jeu Vorple. Commencez par mettre tout le dossier dans le service de cloud ; par la suite, vous pourrez vous contenter de ne mettre que les fichiers qui ont changé. (Malheureusement, tout comme pour itch.io, il faut remettre les fichiers sur le site à chaque fois que vous voulez tester une nouvelle version de votre jeu ; contrairement à itch.io, je ne connais pas de moyen simple pour le faire.) Pour tester votre jeu, il suffit d’ouvrir le fichier HTML dans un navigateur, non pas en cliquant dessus, mais en trouvant l’URL de la page dans Google Drive (option « Partager… » dans le menu) ou dans Dropbox.

3) Utiliser votre site Web

Si vous avez un site web chez un hébergeur, il vous suffit de mettre les fichiers sur votre site. Pour cela, rendez-vous sur le site de votre hébergeur, et cherchez l’adresse du serveur FTP (par exemple, ftp.ovh.net). Ensuite, utilisez un client FTP comme FileZilla ou Cyberduck pour vous connecter sur le serveur FTP de votre site, en spécifiant l’adresse du serveur, votre identifiant et mot de passe chez l’hébergeur. Vous n’avez plus qu’à déposer les fichiers sur votre serveur ; ensuite, ouvrez simplement votre navigateur à la bonne adresse.

4) Utiliser les pages de GitHub ou GitLab

Les services GitHub et GitLab sont des dépôts en ligne où vous pouvez mettre votre code au fur et à mesure du développement de votre projet ; à chaque fois que vous faites une mise à jour (un « commit »), vous pouvez mettre un petit message décrivant les changements et la « pousser » sur le dépôt, et le site vous permet de voir la différence entre la version précédente et la version que vous venez d’envoyer. C’est un gestionnaire de versions (pour gérer les différentes versions de votre jeu), ainsi qu’un hébergement gratuit de votre projet. Pour les utiliser, il faut avoir le logiciel Git, téléchargeable gratuitement, ou alors télécharger le logiciel de gestion de versions de GitHub (ou un autre), peut-être un peu plus simple d’utilisation pour les débutants.

Si vous utilisez directement GitHub ou GitLab, le fichier HTML ne peut pas être ouvert, et donc votre jeu n’est pas jouable. Ce qu’il faut faire, c’est utiliser leur service « Pages » (celui de GitHub, ou celui de GitLab), qui fonctionne de la même façon mais qui doit être initialisé différemment. Une fois que c’est fait, il vous suffit de continuer à utiliser le gestionnaire de versions Git, et à « pousser » votre code de temps en temps. Je tiens à dire que je n’ai jamais essayé les services « Pages » mais il n’y a aucune raison que ça ne marche pas !

Il s’agit néanmoins d’un sujet vaste qui mériterait son propre article donc je ne m’étendrai pas plus.

Empaqueter son jeu dans une application

Le défaut dans tout ce qu’on vient de voir, c’est que votre fiction interactive ne sera jouable qu’en ligne. Ou alors il faut expliquer comment installer un serveur local à vos joueurs, mais ce n’est pas très pratique !

Heureusement, il existe une façon d’empaqueter son jeu dans une application qui sera jouable hors-ligne. Il faut pour cela utiliser Electron, qui permet de transformer des pages web en exécutable. Cela devient rapidement très technique, mais ne vous en faites pas : le gros du travail a déjà été fait pour vous. Nathanaël Marion a créé un projet Electron nommé Vorplectron, dans lequel il vous suffira d’ajouter votre jeu et de lancer une commande. Ça reste toutefois non trivial, alors ça fera sûrement l’objet d’un prochain tutoriel !

Voilà, vous pouvez maintenant commencer à expérimenter avec Vorple ! N’hésitez pas à lire sa documentation, ou bien attendez nos prochains articles !