Relier interpreteur z-code avec d'autres applications

Voilà une question assez technique : Est-il aujourd’hui possible de faire discuter les interpreteurs z-code avec d’autres applications ?

Je m’explique : Dans une fenêtre, on joue avec sa fiction interactive. Puis on arrive dans une chambre particulière, et là l’intrepreteur envoie un message vers un autre programme : « Et oh, reveille toi, le perso est maintenant dans la cuisine avec un monstre ». L’autre programme se met donc en branle (prenons un exemple idiot : Un remake de street fighter, vous mettant en scène dans la cuisine en train de vous battre avec le dis monstre.) Lorsque que l’autre programme est satisfait (vous avez latté le monstre, et cassé une table au passage) Il rappelle l’interpreteur « C’est bon, j’ai fait mon boulot. Le monstre est mort, la table est cassée ». Et là l’interpreteur continue sa petite histoire paisible, en integrant les modifications.

Est-ce possible ?

(Je sais qu’il est possibel d’enregistrer et de lire des fichiers auxiliaires, ça pourrait être un moyen, mais pas très efficace… le mieux serait d’ouvrir une « socket » pour ceux qui connaisent.)

Ou alors, il serait mieux d’utiliser un MUD plutot qu’Inform. (puisque la base justement est de fonctionner sur le mode Client-Server. L’autre programme serait un autre client, au même titre que le jouer avec sa console Telnet, ou autre).

Dans ce cas, existe-t-il l’équivalent d’inform pour faire des MUD ? Quoi ? Et quelle seraient les différences en terme de possibilité de contenu avec Inform ?

En fait il n’est même pas possible d’enregistrer un fichier auxiliaire sans que l’interpréteur demande au joueur de confirmer et de choisir l’emplacement du fichier ! Donc pour le déclenchement d’un programme auxiliaire c’est mal parti. Cela vient sans doute du fait que les interpréteurs datent d’une époque où les besoins étaient très différents (pour enregistrer un fichier il fallait appuyer sur les touches Rec et Play du lecteur de cassettes positionné au bon endroit ! bref) ou pour des raisons de sécurité.

Pour contourner cela il faudrait modifier le code source d’un interpréteur et le recompiler.

Sinon le problème avec les MUD c’est que ce type de jeu est différent d’une fiction interactive (car multijoueur).

Une solution serait de reprogrammer tout soi-même, puisque la fiction interactive est assez simple à programmer. (sauf si le jeu d’action est récupéré ailleurs)

j’avais pensé un jour faire une fiction interactive en flash ce qui aurait parmis d’avoir quelque chose jouable en ligne sans problème et qui du coup aurait permis se genre de chose (les petits jeux à part serait également en flash avec un appel à un fichier swf exterieur) …
Mais tout ça n’est pour l’instant qu’une idée… si un jour je trouve le temps de develloper ça pourquoi pas…

Ouais, recompiler un interpreteur existant… C’est une solution.

pour l’instant, avec « Windows Frotz 2000 », je sais faire une application qui récupère tout le texte qui a été affiché. Je sais aussi comment créer un application qui envoie directment des commandes vers l’intrepreteur (sous windows). Vieilles technique de sioux hacker. Mais bon, c’est un peu « sale » comme méthode.

Là par exemple, je pense être en mesure de faire un applicatio pouvant lier GLfrontier (version de Elite Frontier, en open GL) et Inform : Je peux dire à Inform dans quel système solaire le joueur est, près de quelle planète, et dans quelle station il est stationée. (Mais je ne sais pas encore comment donner la dâte dans le jeu. Point assez important…)

Je ne suis pas sûr d’utiliser ces éléments. Ou alors juste pour la prouesse technique… Ca pourrait faire une participation orginale à un concours d’IF (un peu dénaturée certe, mais bon)

@ JL : je suis surpris que cela soir impossible. Il me semble avoir lu une section I/O controls dans GULL de Adam Cadre.

Cela n’a rien à voir peut etre ? (je ne suis pas très au courant de ce type d’interactions)

JB

@JB: Ah ! c’est possible, merci de le signaler. Je n’avais testé l’écriture de fichiers qu’avec du z-code, et il est possible que Glulx résolve le problème de la confirmation demandée au joueur avec glk_fileref_create_by_name, même s’il faudrait tester pour en être sûr. La page de GULL est probablement celle-ci : adamcadre.ac/gull/gull-2q.html

@Flap: S’il s’agit de combiner deux programmes, ce sera peut-être un troisième programme qui fera ce travail, mais j’ai comme l’impression que tu sauras te débrouiller. N’hésite pas à poser d’autres questions, cependant.

Yes !

En fait, c’était l’une de mes idées pour Ekphrasis, que je n’ai pas pu réaliser mais qui est pourtant simple et extra :

lorsque Gilbert recoit un fax, au lieu qu’il soit imprimé dans le jeu, qu’il soit imprimé directement sur l’imprimante :slight_smile:

JB

@JL: Et oui, un 3e programme… Genre rouleau de scotch qu’on utiliserait pour customizer sa mobylette en greffant une tondeuse à gazon dessus. C’est du bon gros bricolage bien sale tout ça !
Mais j’ai déjà fait ce manip un certain nombre de fois.

A voir si je prend le temps de le faire.