textallion / txt2CYOA : un générateur de "livres dont vous êtes le héros"
#1
Une nouvelle façon de créer des livres dont vous êtes le héros !

txt2CYOA est un générateur de "livres dont vous êtes le héros", en utilisant le programme txt2tags. En fait il n'utilise que 2 petites macros qui permettent de faciliter la création de tels livres.

Avec la même source, il est possible de générer une version html ou un fichier pdf avec des liens (via tex / LaTeX)

exemples :

http://anamnese.online.fr/site2/txt2cyoa/txt2cyoa.html
http://anamnese.online.fr/site2/txt2cyoa/txt2cyoa.pdf

(l'exemple n'est qu'en anglais mais la documentation est en français)

En fait il suffit de nommer ses paragraphes avec la marque

Code :
== z ==

où z est le numéro du paragraphe. Pour faire le lien hypertexte, il suffit d'appeler le paragraphe en question avec cette syntaxe :

Code :
- Description du choix 1 : z
ou éventuellement si besoin :
- Description du choix 2[y #y] si le nombre n'est pas en fin de ligne.
- Description du choix 3[x #x]
etc...
Répondre
#2
Il est maintenant possible de générer un organigramme des chapitres, avec leurs relations (merci à la personne qui avait un jour évoqué graphviz sur ce forum ou l'autre) :

http://anamnese.online.fr/site2/txt2cyoa/graph.png

La page d'accueil présente et explique cette nouvelle fonctionnalité.
Répondre
#3
et un exemple de graph avec un vrai AVH, le premier Xhoromag, Le Cercle sans commencement :

[Image: graph_csc1b.png]

C'est amusant de voir tous les cheminements possibles de façon visuelle Smile

Si Oiseau l'autorise, je pourrais également mettre à disposition le pdf et le fichier html.

(De toute façon pour le moment ce n'est pas parfait car déjà cela a été généré plus ou moins par un traitement automatique de son texte et il peut rester quelques erreurs, et le formatage manque encore de précision.)

(edit : j'ai réduit l'image)
Répondre
#4
Amusant. ^_^

N'empêche que ça produit une image vraiment immense. Pas moyen de rapetisser ça ?
Répondre
#5
oui tu as raison, je corrige cela en mettant une image réduite, même si cela reste quand même très grand ainsi. Il doit être possible d'avoir toutes les options possibles de sortie automatique (avec graphviz) au niveau de la taille notamment. On peut également exporter en svg (et sans doute pdf aussi), pour un rendu vectoriel :

http://anamnese.online.fr/site2/txt2cyoa/graph_csc1.svg

ce format est visible directement dans certains navigateurs (peut-être firefox ?) Sinon on peut le lire avec inkscape, un éditeur de dessin vectoriel gratuit et libre.
Répondre
#6
Merci pour ton générateur d'organigramme, c'est exactement ce qu'il me fallait pour l'infinie aventure pour savoir où sont les branches les moins fournies.

[Image: daec2ad9867ba5f2625908bc0dd9bt.jpg]

Vraiment génial, dire que j'essayais de faire ça à la main sur une grande feuille Confus

Je t'envoie plein de gros poutous.
Répondre
#7
Farvardin a écrit :et un exemple de graph avec un vrai AVH, le premier Xhoromag, Le Cercle sans commencement :
Arf, j'avais oublié cette possibilité d'établir des arborescences.

Avec tous les paragraphes convergents de Nils Jacket Contre l'Agent X, je serais curieux de voir ce que ça donne en arborescence. Je n'arrive pas à imaginer le casse-tête !^^
J'essaierai un jour (une année ?) où j'ai le temps. Je me demande si ça va pas faire planter le logiciel.^^
Répondre
#8
Salut Trotter, désolé, cela faisait un moment que je n'étais pas passé par ici. Je suis content de voir une application pratique de ce programme ! Cela fait un sacré organigramme dis-moi...
Pour JFM, je ne pense pas qu'une aventure, même très grosse puisse faire "planter" le logiciel. Au pire des cas il y a une erreur dans une branche et il n'arrive pas à s'y retrouver, mais si tout est correct, cela devrait fonctionner. On peut voir des exemples énormes ici avec graphviz :
http://www.nicolas-guillard.com/cybergeography-fr/atlas/more_topology.html (il n'y a pas que graphviz ici, sinon il y a une présentation de graphviz ici :
http://cyberzoide.developpez.com/graphviz/ )
Répondre
#9
J'ai réussi à faire planter graphviz en voulant enchaîner les 4 volumes de sorcellerie sur un seul fichier... arrivé à la fin des sept serpents, il s'est vautré...

Mais sinon, ça fait de belles choses !
Segna, adepte de Slangg...
[Image: vampire_icone.png] La Traboule de Segna
Répondre
#10
j'ai amélioré un peu le système, et changé la page du projet (l'autre sera toujours valable, mais l'exemple plus très à jour) http://anamnese.online.fr/site2/txt2cyoa/

Maintenant l'export vers graphviz devrait être mieux géré, il y avait en effet des cas où cela pouvait donner des résultats erronés (par exemple si on indiquait un chiffre dans le corps de la phrase avec le "rendez-vous au...", cela concaténait ce chiffre avec celui du paragraphe de destination). Les apostrophes n'étaient pas retirées non plus. J'espère maintenant que cela prendre en compte tous les cas de figure.

Cela commence aussi à gérer le format GBL de redo_fr : http://rdv1.dnsalias.net/forum/showthread.php?tid=735 mais c'est encore un peu en développement sur ce point.
[Image: bannerifictionpz4.png] L'imagination, le meilleur des moteurs de jeux...
Répondre
#11
nouvelle version de ce projet :

Cette fois-ci il est maintenant possible de créer un fichier html unique, mais affichant les chapitres qu'au fur et à mesure de la lecture. Le fichier html contient le javascript ainsi que la feuille de style pour plus de portabilité (si vous le copiez en local il n'y a besoin de rien d'autre pour le faire fonctionner).

Voici un exemple de rendu :

http://anamnese.online.fr/site2/txt2cyoa/samples/who_are_you.html
[Image: bannerifictionpz4.png] L'imagination, le meilleur des moteurs de jeux...
Répondre
#12
Chapeau !

Je verrais bien la possibilité d'importer un fichier créé avec advleh pour générer directement ce genre de document ^^
Répondre
#13
euh...... je préfère advlh 2000 §-_-§
Répondre
#14
Nouvelle version du projet. Maintenant, ça fait partie d'un ensemble plus grand, nommé textallion.

http://code.google.com/p/textallion/

La génération d'un LDVELH étant similaire à cette d'un livre plus classique. Première partie de la présentation :


Textallion est un projet ayant pour moteur le générateur de documents et la syntaxe txt2tags (http://www.txt2tags.org). Pourquoi txt2tags ?
  • syntaxe simple et intuitive **gras**, //italique//, __souligné__ pour (gras, italique, souligné etc...)
  • facilement extensible pour rajouter de nouvelles syntaxes perso ou modifier le comportement par défaut, via le système de pre/postproc.
  • utilisation de plusieurs modèles (templates) pour exporter en HTML (ici ramus, ou html normal), ou en TeX (actuellement, LaTex et XeTeX, le rendu est un peu différent, XeTeX permettant plus de choses)
  • export possible vers de nombreux formats. Pour le moment seuls TeX donc PDF, et HTML sont utilisés, mais il serait envisageable d'exporter par exemple en RTF, même si cela me semble moins pertinent (on peut toujours importer un html dans openoffice si nécessaire)

Le projet textallion est donc centré sur des règles et des fichiers txt2tags, que l'on appelle en utilisant un makefile.

Des fichiers de modèle HTML, de styles CSS, ainsi que des styles LaTeX (sty) ont été créés pour l'apparence des documents finaux. Ils se trouvent dans le dossier "includes"

Ensuite, on peut imaginer une petite interface permettant d'appeler le makefile avec la bonne option.
Par exemple core/textallion.sh est une petite interface textuelle (bash), permettant de générer un nouveau dossier contenant une amorce de document à éditer ultérieurement, ainsi que les styles de base que l'on peut également personnaliser.

Extension de la syntaxe

On trouve ceci utilisé dans le "moteur" de textallion, core/textallion.t2t
Par exemple pour rajouter une nouvelle syntaxe {-/@-} qui générera une petite feuille aldine de décoration, j'utilise ceci :

%!preproc: '\{-/@-\}' 'CONVERTaldineb'

(avec les caractères d'échappement pour passer les {})

puis :
%!postproc(tex): 'CONVERTaldineb' '\\aldineb'
%!postproc(xhtml): 'CONVERTaldineb' '<div class="center"> &#x2767; </div>'


Ça va donc scanner le document de l'utilisateur lorsqu'on utilise txt2tags, remplacer en début de processus toutes les occurence de {-/@-} par CONVERTaldineb, puis à la fin de traitement, remplacer de nouveau CONVERTaldineb par le code approprié pour que cela soit adapté en LaTeX ou en HTML

Il serait parfois possible de convertir en une seule passe (avec postproc), mais parfois le code utilisé est interprété par la syntaxe interne de txt2tags, aussi il vaut mieux le faire en 2 fois, comme ici, et c'est également plus lisible, surtout si on veut exporter dans divers formats.

Modèles

Ils se trouvent dans le dossier "templates"

Pour appeler des modèles différents, on utilise de nouvelles entrées dans le makefile, par exemple :

$(TXT2TAGS) -T $(TEXTALLIONFOLDER)/templates/xetex.tex -t tex
ou
$(TXT2TAGS) -T $(TEXTALLIONFOLDER)/templates/latex.tex -t tex


Module LDVELH

Je ne vais pas revenir sur la syntaxe utilisée, tout est normalement dans le manuel.

Pour la création du fichier PDF, il me semble important de pouvoir tout de même cliquer sur les liens hypertextes renvoyant aux chapitres, pour le confort d'utilisation, ce que permet l'export depuis LaTeX.

Pour la lecture à l'écran d'ordinateur, une version HTML sera peut-être plus pratique. Un seul fichier permet d'afficher l'intégralité de l'histoire, les autres chapitres étant cachés.

La version Ramus, utilisant un autre moteur javascript pour l'affichage (effets de transition, défilement...), permet de donner une autre ambiance au jeu (similaire à Undum)

On peut rajouter des images intégrées dans le texte, ainsi que des musiques (et pourquoi pas à terme des vidéos).

On peut également obtenir une version pour ebook (format ePUB), lisible sur smartphones ou lecteurs d'ebooks. C'est basé sur la version HTML, avec quelques ajustements.
[Image: bannerifictionpz4.png] L'imagination, le meilleur des moteurs de jeux...
Répondre
#15
Après une lutte féroce contre ma procrastination, j'ai relu les explications et survolé le code. Et comme d'autres, je rêvasse à un accouplement entre ADVLEH et textallion. Il aurait l'interface simple et intuitive de son papa, et les fonctionnalités d'export de sa maman. Dans l'idéal, il pourrait même aller plus loin, en gèrant la logique fonctionnelle basique pour les liseuses le supportant, comme une version HTML/Javascript, Inform7 ou Ren'Py s'occupant toute seule de notre inventaire.

Mais pour voir si les deux espèces sont compatibles, il faudrait en savoir plus sur le père. Et pour cela, il faut... le code source d'ADVELH. Pour l'instant, celui-ci est par défaut sous licence propriétaire. Oiseau, est-ce un choix volontaire ou non ? Dans le deuxième cas, serait-il possible de le libérer, via un license adaptée (GPL, BSD...) ?
Répondre




Utilisateur(s) parcourant ce sujet : 7 visiteur(s)