Ouaip, un nouveau plugin !
Celui-ci est un peu moins sérieux, cependant. ![]()
Discourse Frotz
Il nâest plus nĂ©cessaire de mentionner le bot @ Ă chaque Ă©tape. Une fois en jeu, il suffit de lui rĂ©pondre.
Quâest-ce que câest
Câest un « bot » avec lequel jouer Ă de la fiction interactive, aka des jeux dâaventure textuels classiques, sur votre forum Discourse. Il agit essentiellement comme un adaptateur pour lâinterprĂ©teur Z-machine standard et incroyable appelĂ© « frotz » Ă lâadresse David Griffith / frotz · GitLab
Comment lâutiliser
La configuration ajoute deux jeux ; vous pouvez en ajouter dâautres dans les paramĂštres.
Chaque entrĂ©e contient un titre et le nom du fichier de lâhistoire.
Pour lancer lâinteraction, vous devez mentionner le bot dĂ©fini dans les paramĂštres avec @. AprĂšs cela, rĂ©pondre Ă lâun de leurs messages suffit.
Pour lister les jeux disponibles, vous devez dâabord mentionner le bot et demander :
@monbot list games
Cela vous donnera la gamme dâoptions.
Pour démarrer un jeu, tapez :
start game x en remplaçant x par le numĂ©ro de lâoption.
Si vous souhaitez passer Ă un autre jeu, vous pouvez le faire ; le plugin sauvegarde votre progression Ă chaque mouvement, vous permettant de revenir Ă la premiĂšre histoire Ă tout moment. Le plugin maintient une sauvegarde pour chaque histoire pour chaque utilisateur qui lâessaie.
Pour continuer un jeu existant, tapez :
continue game x en remplaçant x par le numĂ©ro de lâoption.
NB Une reconstruction complĂšte dĂ©truira tous les fichiers de sauvegarde. Câest un compromis nĂ©cessaire.
Comment jouer Ă un jeu dâIF ?
De nombreux « Metaâs » ont grandi avec ces choses. Pour ceux qui sont moins familiers, consultez cette aide-mĂ©moire : Play Some Interactive Fiction
Configuration
CrĂ©er lâutilisateur Bot
(dĂ©solĂ©, lâautomatisation de cela est sur ma liste !)
Dans une session ssh, entrez dans votre conteneur et la console rails :
./launcher enter app
rails c
Ensuite, faites ceci :
u = User.create!(username: "Frotz", name: "FrotzBot", id:-5, email: "not@really.valid")
u.activate
Votre nouveau bot sera alors disponible pour ĂȘtre configurĂ© dans lâinterface utilisateur. AccĂ©dez aux paramĂštres de lâutilisateur dans lâinterface via le bouton administrateur et dĂ©sactivez tous les courriels. Mettez Ă jour lâavatar selon vos goĂ»ts.
Installer Discourse Frotz
Mettre Ă jour votre app.yml
Câest un peu plus intrusif quâun plugin habituel.
Ajoutez ceci Ă app.yml :
hooks:
after_code:
- exec:
cd: $home
cmd:
- git clone https://gitlab.com/DavidGriffith/frotz
- exec:
cd: $home/frotz
cmd:
- make dfrotz
- exec:
cd: $home/frotz
cmd:
- mkdir savegames
- exec:
cd: $home/frotz
cmd:
- mkdir stories
- exec:
cd: $home/frotz/stories
cmd:
- wget -O zork1.z3 https://eblong.com/infocom/gamefiles/zork1-r119-s880429.z3
- exec:
cd: $home/frotz/stories
cmd:
- wget --no-check-certificate http://www.douglasadams.com/creations/hhgg.z3
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/merefield/discourse-frotz
avant vos autres entrées de plugins.
Vous devez maintenant également ajouter le plugin Discourse BBCode !!
Reconstruisez avec la commande habituelle ./launcher rebuild app
Allez maintenant dans les paramĂštres du plugin et sĂ©lectionnez lâutilisateur bot que vous avez ajoutĂ© prĂ©cĂ©demment :

Histoires
Vous remarquerez que jâai inclus quelques histoires. Vous pouvez en trouver dâautres sur https://ifdb.tads.org/. Cependant, surveillez les limites de dĂ©bit ici ! Obtenir trop dâhistoires depuis le mĂȘme emplacement peut provoquer une erreur.
Notez également que les histoires ne sont pas hébergées sur des serveurs protégés par HTTPS (tut tut).
Si vous insistez pour en charger davantage, ajoutez-les Ă app.yml. Vous pourriez Ă©galement les ajouter manuellement depuis lâinvite de commande, mais sachez quâelles seront effacĂ©es lors de la prochaine reconstruction complĂšte.
Activer FrotzBot pour les messages privés (prudence conseillée)
Permet aux utilisateurs de jouer en privĂ©, mais lâutilisation sera moins transparente. Si vous avez un serveur assez puissant, cela pourrait ne pas ĂȘtre un problĂšme pour vous. Dans tous les cas, soyez conscient des implications pour la capacitĂ©. En alternative, encouragez les utilisateurs Ă jouer dans une CatĂ©gorie dĂ©signĂ©e.

par défaut : OFF
Si (il/elle) nâest pas activĂ©(e) lĂ -bas, lâutilisateur recevra un message poli :
Restreindre FrotzBot par Catégorie
Vous pouvez restreindre le bot Ă une (liste de) CatĂ©gorie(s) pour Ă©viter de remplir dâautres zones :
Raccourcis clavier !
Câest vraiment important pour amĂ©liorer lâexpĂ©rience de « jeu ». Et vous nâavez vraiment besoin de retenir que deux raccourcis :
-
Shift-R pour répondre au bot
-
Ctrl-Enter pour soumettre votre prochain mouvement
Limitations et considérations
Tous les formats dâhistoires et jeux ne sont pas encore pris en charge, ni susceptibles de lâĂȘtre. De nombreux jeux ne fonctionnent pas en raison de la nature de leurs protocoles dâappel et de rĂ©ponse. En raison de la maniĂšre dont nous interagissons message par message, nous devons demander Ă Frotz de sauvegarder lâĂ©tat aprĂšs chaque mouvement. Si une Ă©tape du jeu ne conduit pas Ă une invite Ă laquelle le systĂšme peut sauvegarder (en ignorant les invites « appuyez sur une touche » ou « Plus » qui devraient ĂȘtre gĂ©rĂ©es), alors lâhistoire ne fonctionnera pas. Par exemple, dans Act of Murder (excellent jeu !), la dame Ă la porte demande si vous ĂȘtes un policier. Malheureusement, câest un Ă©tat du jeu qui ne peut pas ĂȘtre sauvegardĂ©, ce qui Ă©choue Ă cette exigence, et je ne vois pas comment nous pourrions faire fonctionner cela.
NB Le mode liste de diffusion est un dĂ©sastre avec cela, alors assurez-vous que ce nâest pas quelque chose que vous utilisez avant dâessayer dâutiliser ce plugin !
On pourrait dire que câest un peu gaspilleur de ressources du forum car cela nĂ©cessite au moins deux messages pour chaque « mouvement ». Il est Ă©videmment souvent plus appropriĂ© de jouer Ă ce type de jeux en utilisant une interface de chat plutĂŽt quâun forum, mais vous pourriez argumenter que cela pourrait ĂȘtre utilisĂ© pour crĂ©er des guides de jeu ? ![]()
Pour une solution moins intrusive, considérez : Turning a topic into interactive fiction ;)
Commentaires
Tous les commentaires sont les bienvenus !
Crédits
Ce plugin exploite David Griffith / frotz · GitLab, lâinterprĂ©teur Z Frotz, qui est clonĂ© et « compilĂ© » par le script de configuration.
Merci Ă @P16 de mâavoir permis dâutiliser des extraits de code dâun chatbot propriĂ©taire sur lequel nous avons travaillĂ© ensemble.












