Quixe 2.1.0 est sorti : on peut maintenant jouer à des jeux Glulx avec des images en ligne !! Par contre, les sons ne sont toujours pas supportés.
Je l’ai d’ores et déjà mis sur mon site pour faire joujou avec. (Otto, si tu as un peu de temps, tu pourrais remplacer le Quixe que tu as mis il y a quelques mois sur le site par celui-là ?)
Si le jeu a des grosses images il vaut mieux faire un prétraitement pour décompresser les images ; mais zarf a inclus un script qui le fait alors tout va bien. Donc la marche à suivre si vous avez un jeu avec des grosses images :
- Téléchargez le tar.gz et décompressez-le dans un dossier vide sur votre serveur
- Allez dans le répertoire et lancez le script Python
python tools/game2js.py --giload YOURGAME.ULX > stories/glulxercise.ulx.js
en remplaçant YOURGAME.ULX par le nom de votre jeu
- Ouvrez play.html pour jouer au jeu !
Et bien sûr, vous pouvez toujours jouer en remote, à base de « /répertoireQuixe/play-remote.html?story=URLDUFICHIER.ULX?enter=Play+it! ». (Sauf que si vous avez des images, ça ramera, ça plantera, ça fera des erreurs qu’il y a plus de place sur la pile, donc vaut mieux lancer le petit script!)
J’ai essayé pour Lieux Communs… et ça marche presque ^^ Il y a un problème parce qu’on a un bug dans la façon dont le jeu fait le son (le code est copié de chez JB, et Ekphrasis a le même problème - encore pire en fait, il se freeze après l’écran titre ^^)
if (modesonore == 1) {
if (gg_musicchan) {}
else {
gg_musicchan = glk_schannel_create(0); }
glk_schannel_play_ext(gg_musicchan, k, 1, 0);
}
Le jeu ne teste pas si l’interpréteur supporte le son !! Du coup il demande à Quixe de jouer le son, Quixe dit error et freeze. (Si vous me demandez mon avis, le fait de devoir tester si le terp supporte le son à l’intérieur du code est une erreur monstre de conception ; vaudrait mieux des soft/silent fail chez les interpréteurs…)
Bref, le fix est tout con :
if (glk_gestalt(gestalt_Sound, 0) && modesonore == 1) {
if (gg_musicchan) {}
else {
gg_musicchan = glk_schannel_create(0); }
glk_schannel_play_ext(gg_musicchan, k, 1, 0);
}
Sauf que : j’ai perdu mes identifiants SVN, et de toute façon je ne sais pas où sont les images et les sons correspondants (pas sur le dépôt…). Est-ce que quelqu’un sait ? Et est-ce que ce même quelqu’un pourrait nous rendre un fier service et rajouter ce « glk_gestalt » dans la routine « [ Joue k ; », puis recompiler et nous dire ?
Parce que si on change juste ce petit détail, on a une version de Lieux Communs qui est jouable dans un navigateur, on peut en faire la pub un peu partout en espérant ramener des lovecraftiens, etc. etc. Bref ça serait cool !
(Je dis pas qu’il faille bêta-tester/corriger Lieux Communs, mais pour 10 minutes de boulot on a un jeu qui en jette jouable en ligne )
Et pour ceux qui me rétorquent qu’on peut jouer en ligne avec l’applet java, mon navigateur (et je pense pas être le seul) dit que la version de l’applet est trop vieille et qu’il lui fait pas confiance (parce que Java est bourré de bugs/failles de sécurité, donc pour éviter que des petits malins s’en servent pour hacker ils désactivent).
(Et je vais demander à JB si il se sent le courage de faire pareil ^^)