Visionner la structure d’une AVH
#1
Grâce à Redo, j’ai appris les bases du langage en .dot. Tapé dans le bloc-note, le code ensuite traité par le logiciel Graphiz donne des arbres bien faits, clairs et jolis. (Vous avez déjà un résultat sur le topic de feedback de Redo).
Voici pour autre exemple le plan de l’Or Venu de l’Est (les bulles en rouge sont synonymes de victoire, les bulles en noire de mort subite) :
[Image: vhHs]

Disponible en grand ici : OVE_arbre.png

J’ai créé un document word qui explique comment faire (pour plus d’info, me contacter sur msn) :
Notice pour plan-graphe d'avh.doc



Chaque auteur peut facilement faire ce genre de chose pour son avh, et peut l’utiliser comme contre-argument si on juge son aventure trop linéaire (ce qui avait été tenté par fredo, avant qu’on lui souligne qu’une partie de son plan avait la forme d’un ver…).
Dans tous les cas, c’est assez fun d’observer la structure d’une avh.

Pour la structure d’OVE, on observe un schéma assez classique de nœuds, avant que finalement l’aventure se scinde en deux grands chemins (cela correspond au choix de monter en haut de la tour d’une forteresse ou de descendre dans ses bas-fonds), menant chacun à au moins une victoire (mais qui peut être mineure, majeure ou parfaite). On observe également au milieu du dessin un gros raccourci possible, qui correspond à un passage secret important.

Notons que j’aurais pu mettre d’une couleur différente les paragraphes contenant des combats ou des pertes d’endurance, je n'y avais jusqu'ici pas pensé...


EDIT: Dans la notice, note 1, je parle des retours à la ligne, mais c’est utile dans le cas où on veut écrire du texte après les numéros de paragraphe (pour détailler son contenu, afin de faire un plan préparatoire à son avh par exemple). Sinon, pas la peine.
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#2
Si ça intéresse les gens, j'ai également des graphes similaires concernant les premiers DF, sorcellerie et autres loup solitaire cycle 1...
J'approuve Alendir : c'est un peu long, mais ça donne de très bons résultats.
Segna, adepte de Slangg...
[Image: vampire_icone.png] La Traboule de Segna
Répondre
#3
Mad-Dog avait tendance à faire un graphique semblable de chaque avh qu'il lisait, mais à la fin, ce qui lui prenait un temps fou... j'avais celui de Flower Power, mais je m'aperçois que je l'ai perdu en fait...

Ces graphiques sont assez pratiques pour voir la linéarité d'une aventure, tout simplement parce qu'une aventure linéaire aura un graphique linéaire également. Une surabondance de taches noires est mauvais signe également.
Répondre
#4
Alendir a écrit :Grâce à Redo, j’ai appris les bases du langage en .dot.

Mais de rien, avec plaisir Wink

"Alendir a écrit :une partie de son plan avait la forme d’un ver…
N'exagérons rien Smile

Il faut se méfier des "allures" des graphes en mode "dot", certains chemins parallèles sont parfois masqués et donnent une fausse impression de linéarité ( bon OK pas trop vrai pour HTA, mais...)

Si on utilise le mode "neato" à la place du mode "dot", on a une toute autre vision, bien que moins lisible, souvent

Exemple avec HTA:HTA en mode "neato"
redo

Editeur d'A.V.H. sous Linux : http://redohome.hd.free.fr/gameBooks/
Répondre
#5
Citation :N'exagérons rien
Oui désolé j’aime bien exagérer Mrgreen

J'ai essayé OVE en mode neato, c'est également moins lisible. le résultat est intéressant mais un peu brouillon. Utiliser ce deuxième schéma (ça ne fait pas plus de travail que pour un schéma) permettrait donc donc compléter la vision des .dot.

Notez que faire le graphe d’une avh de 200-300 paragraphes, une fois qu’on connaît la technique, ne doit pas prendre plus d’une ou deux heures. C’est juste répétitif. On commence par le paragraphe 1, on tappe dans le .dot les paragraphes auxquels mène le §1 (avec des flèches "->"), ensuite on passe au §2... etc.
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#6
Super intéressant... encore un truc qu'il faudrait que je fasse... quand j'aurai du temps :/
Répondre
#7
Je suis en train de jeter un coup d'oeil à ta doc. Elle est très bien mais il manque au moins un exemple pour <couleur> parce que la je ne sais pas du tout quoi mettre... une couleur en hexa comme dans de l'html ? un mot clef style "blue" ou un truc comme ca?
Bref, mettre en exemple ce que toi tu as utilisé pour ton graphe, ca aurait été vraiment bien Smile

Je suis tombé sur cette page vraiment sympa :
http://cyberzoide.developpez.com/graphviz/

Et pour information, en ligne de commande sous linux :
dot fichier.dot -Tpng -o image.png
Répondre
#8
J'ai fait la doc assez vite à vrai dire. Il faut en effet mettre un mot-clé style blue, red...
Pour mon graphe j'ai utilisé à peu près les même couleurs que produisait le logiciel de redo, c'est-à-dire que j'ai mis:

digraph OVE {
node [dir=forward style=filled fillcolor=red3 fontcolor=white]
1 [fillcolor=yellow fontcolor=black] ;
2 [fillcolor=darkolivegreen3 color=white] ;
3 [fillcolor=darkolivegreen3 color=white] ;
4 [fillcolor=darkolivegreen3 color=white] ;
etc...
}
->Pour le §1 j'ai mis une couleur différente des autres.
->Pas obligé de mettre le contenu entre crochets derrière chaque numéro, tu mets simplement tes couleurs préférées dans les crochets à côté du node et ensuite tu modifie seulement la couleur de certaines bulles-clés (début et fin d'aventure notamment).

C'est-à-dire que le code le plus simple serait:
digraph OVE {
node [dir=forward style=filled fillcolor=darkolivegreen3 fontcolor=white color=white]
1 [fillcolor=yellow fontcolor=black] ;
... }
soit pas besoin de "2 [fillcolor=darkolivegreen3 color=white] ;"

PS: la doc que tu as trouvée est en effet intéressante, elle explique comment créer plusieurs flèches en une seule ligne entre autres. Smile
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#9
Bon alors.. c'est fait !
D'abord j'ai fait un petit script tout simple pour faciliter la saisie (il n'y a plus qu'a parcourir le livre et a entrer les numeros de renvoi):
Code :
#!/bin/bash

#### Reglage des couleurs
COUL_FOND="green"
COUL_CONTOUR="black"
COUL_ECRITURE="black"

######## Numero de paragaphe ou commencer ######
# Utilisatation : ./script [nom_graphique num_paragraphe]

if [ -z $1 ]
then
    NUM=1
else
    NOM_GRAPH=$1
    NUM=$2
    echo "## Paragraphe $NUM" >> "./$NOM_GRAPH.dot"
fi


################# Debut du graph ################

if [ $NUM -eq 1 ]
then
    echo " "
    echo -n "Nom du graphique [graph] : "
    read NOM_GRAPH
    if [ -z $NOM_GRAPH ] ; then NOM_GRAPH="graph" ; fi
    echo "digraph <$NOM_GRAPH>" > "./$NOM_GRAPH.dot"
    echo "{" >> "./$NOM_GRAPH.dot"
    echo "node [dir=forward style=filled fillcolor=<$COUL_FOND> fontcolor=<$COUL_ECRITURE> color=<$COUL_CONTOUR>]" >> "./$NOM_GRAPH.dot"
    echo "## Paragraphe 1" >> "./$NOM_GRAPH.dot"
fi

############ Ajout de tous les numeros ##########

echo "Pour chaque paragraphes, vous devez entrer les destinations posibles UNE PAR UNE."
echo "Appuyez simplement sur entree pour passer au paragraphe suivant"
echo "Et tapez FIN pour terminer."

while [ ! "$DRAP_FIN" = "FIN" ]
do
    echo -n "Paragraphe $NUM ; Destination : "
    read REP
    if [ ! -z $REP ]
    then
        if [ $REP = "FIN" -o $REP = "fin" ]
        then
            DRAP_FIN="FIN"
        else
            echo "$NUM -> $REP ;" >> "./$NOM_GRAPH.dot"
        fi
    else
        NUM=$(($NUM+1))
        echo "## Paragraphe $NUM" >> "./$NOM_GRAPH.dot"
    fi
done

############# Fin du programme #################

echo "}" >> "./$NOM_GRAPH.dot"
exit 0
Ensuite il m'a fallut 50 minutes pour faire le graphique de NC2020... sachant que j'aurai été beaucoup plus vite si quelqu'un avait pu me dicter les numéros ou si cette avh avait été plus linéaire Wink
Il me resste à peaufiner un peu (mettre en couleures les PFA par exemple) et j'envoi ca...
Répondre
#10
PS : Je m'apercoit que je suis un peu bete et que j'aurai pu très facilement automatiser la coloration des PFA..
Faut que je fasse une nouvelle version du script Smile

EDIT : Et voila le graph de Night City 200 ! Disponible ICI
Répondre
#11
Ce qui est amusant, c'est que la plus grande ligne du graphe ne correspond pas à un raccourci mais amène simplement à une même semi-victoire que d'autres chemins. ça pourrait être intéressant que tu fasse aussi un graphe en nateo, ça efface peut-être ce genre de choses. Sinon ton graphe est sympa, le résultat de Graphiz est toujours appréciable Wink

Euh comment on fait pour utiliser ton script? ça s'utilise avec le bloc-note? C'est quel langage que tu utilises en fait, du C?
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#12
C'est simplement du shell Smile Donc heu... ca se lance directement sur n'importe quel système unix. (ubuntu chez moi...)
Sur windows... heu... peut etre qu'en installant cygwin ou un truc dans le genre ca peut peut etre fonctionner...
Sinon il est tellement basique qu'on doit sûrement pouvoir faire pareil avec un fichier .bat... mais la c'est sur
il faudrait tout ré-écrire.
Répondre
#13
C'était plus par curiosité que pour vraiment y utiliser (surtout que j'ai plus de graphe d'avh à faire), donc tant pis ^^
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#14
Quelques petits ajouts qui peuvent aider les auteurs à mieux gérer le gameplay de leurs AVH en pouvant visualiser tout ce qui change comme paramètres de jeu au cours de la lecture :


Rajouter des informations dans un sommet (exemple : on y regagne 10 PV et on trouve une gourde) :

2[label="2 \n +10 PV \n +1 gourde"];



Mettre une condition pour franchir un arc (exemple : il faut avoir une gourde) :

2->3 [color=green4, label="1 gourde", fontcolor=green4];

Variante : mettre une condition négative (exemple : il ne faut pas avoir de gourde) :


1->3 [color=red3, label="Gourde", fontcolor=red3];



Remarques informatives :

-Un \n engendre un retour à la ligne.

-Plus le chiffre suivant un nom de couleur est élevé, plus la couleur sera sombre. Par exemple green4 est plus sombre que green1.



Code complet de l'exemple :

digraph GRAPHE {
charset=latin1
node [dir=forward style=filled fillcolor=darkolivegreen3 color=white fontcolor=white]
1; 2[label="2 \n +10 PV \n +1 gourde"]; 3;
1->2;
1->3 [color=red3, label=" Gourde ", fontcolor=red3];
2->3 [color=green4, label=" 1 gourde ", fontcolor=green4];
;}


Pièces jointes Miniature(s)
   
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre
#15
Les passages secrets :
Pour figurer sur un graphe qu'une liaison n'est pas empruntable de manière visible pour le lecteur, on peut mettre le lien en pointillés ou sous forme de tirets. Pour ce faire, utiliser la propriété style et la propriété dotted (pointillés) ou dashed (tirets).

Exemple: 1->2 [style=dotted];
[Image: litteraction5.png]Littéraction.fr
Le site de livres-jeux dont VOUS êtes l'auteur !
Répondre




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