12-09-2016, 08:45 PM
Je veux bien voir le graph ! :p Tu le construis à la main ou bien tu as un outil ?
12-09-2016, 08:45 PM
Je veux bien voir le graph ! :p Tu le construis à la main ou bien tu as un outil ?
Roh, ça spoilerait
J'ai un outil automatisé qui le fait. Il va récupérer la liste des paragraphes, puis construire un fichier DOT décrivant le graph, et lancer ensuite graphviz pour générer le graph final (en SVG, pour avoir des noeuds cliquables, ou en PNG, pour l'esthétique). Ce "builder" fait un tas d'autres choses d'ailleurs. Entre autres, il génère les pages HTML à partir des paragraphes rédigés en XML (car comme ça, NetBeans me donne les auto-complétions nécessaires: chaque objet, personnage, élément etc est dans un fichier XML dédié, pour l'organisation, et je peux donc construire une XSD à partir de cela, et NetBeans me propose alors l'auto-complétion dans les paragraphes, à partir de cette XSD). Il se charge aussi de générer le ePub et le Mobi (spécial @lucard!), de construire le graph, d'effectuer quelques stats (cf ci-dessus), de vérifier qu'il n'y a pas d'erreur logique (par exemple, un personnage qu'on croise pour la première fois, puis qu'on recroise à nouveau pour la première fois), et qui chante même pour dire qu'il a terminé (!).
13-09-2016, 09:14 AM
J'ai relevé un peu plus d'une vingtaine de trucs à revoir/corriger.
Notamment à un moment ou on me demande un ELEMENT, puis plus loin le MÊME, et plus loin un AUTRE... (dans ce cas ça signifie que tous ces chapitres sont accessibles via d'autres "passages", donc je trouve que ça fait beaucoup de "croisement" possible. J'ai fait un fichier texte de toutes les erreurs. Je t'enverrai ça par mail. J'ai trouvé l'histoire trop courte également, et je suis tombé deux fois sur le même objet...mais à deux endroits différents. =)
"Somewhere, something incredible is waiting to be known..."
Carl Sagan.
13-09-2016, 01:28 PM
je me demandais s'il faudrait pas bâtir un scenario autrement pour être sûr d'avoir un livre "long", peut être que je me trompe mais bon :
1) définir le chemin nominal: au moins 100 § 2) créer les chemins alternatifs avec comme contrainte, si on démarre un chemin alternatif, on mettra plus de noeud pour revenir vers un noeud (y compris fin) que le chemin nominal
13-09-2016, 02:01 PM
@Ter Rowan: c'est ce que j'ai initialement tenté, mais en étoffant beaucoup trop les choses. J'ai tracé une ligne scénaristique complète, que j'ai ensuite étoffée. Mais faute de métrique, cette ligne scénaristique a été bien trop courte.
La contrainte de "plus de noeuds que le chemin nominal" pose un sérieux problème de réalisation. En revanche, pour la suite, j'aurai des métriques dès le début, donc je pourrai rapidement voir si un chemin trop court est apparu. @alucard: Oui, il y a énormément de croisements possibles. C'est simple: 1.72 choix en moyenne par noeud, pour un total d'environ 10x92 chemins possibles (à la louche), d'où l'irréalisabilité de faire un calcul exhaustif. Je remonterai les coquilles dans Mantis, et je corrigerai cela quand j'aurai réglé d'autres défauts plus lourds (principalement, ce problème d'incohérence scénaristique avec des objets/personnages qui reviennent parfois). Pour info technique, le système de vérification actuel fonctionne à base de marqueurs: un paragraphe peut être marqué pour un évènement donné (création du marqueur). Dans un autre paragraphe (qui, logiquement, se trouve plus loin dans la chaîne de lecture), je peux vérifier que ce marqueur existe (ou vérifier qu'il n'existe pas). L'analyseur se charge alors d'alerter si cette contrainte n'est pas respectée, en donnant le chemin correspondant. Par exemple, pour l'objet qui revient, je marquerai le premier paragraphe comme "objet-ramasse", et dans l'autre, j'indiquerai que ce marqueur "objet-ramasse" ne doit pas avoir été rencontré. L'analyseur me donnera alors les chemins qui passeraient par le 1er paragraphe (créant le marqueur) et le second (qui exige que le marqueur ne soit pas présent). Ca me fait un outil générique et puissant, qu'il ne me reste plus qu'à utiliser...
13-09-2016, 04:58 PM
(13-09-2016, 02:01 PM)Xenos a écrit : @alucard: Oui, il y a énormément de croisements possibles. C'est simple: 1.72 choix en moyenne par noeud, pour un total d'environ 10x92 chemins possibles (à la louche), d'où l'irréalisabilité de faire un calcul exhaustif. Ton calcul est faux, vu qu'on ne passe pas par tous les nœuds dans une partie. Les stats que tu as donné : -chemin le plus court: 32 -chemin le plus long: 51 -nombre de choix moyen: 1.71 Donc en estimant à louche : nombre de chemins = 1.71^((51+32)/2) = 4.7 milliard Du coup un calcul exhaustif est possible, même si tu as sans doutes mieux à faire.
Vouep, je suis allé un peu vite (cela me semblait aussi très très élevé donc bon).
La plupart de vos retours, @lucard et Ter Rowan, sont corrigés (sauf évidemment la longueur, qui ne pourrait l'être sans tout reprendre, et je préfère faire mieux pour un 2nd gamebook plutôt que de boucler infiniment sur le 1er). Merci pour les remarques et les remontées
14-09-2016, 08:00 AM
(13-09-2016, 02:01 PM)Xenos a écrit : La contrainte de "plus de noeuds que le chemin nominal" pose un sérieux problème de réalisation. je ne vois pas pourquoi, peux tu expliquer ? A noter je n'ai pas fais l'expérience moi même, donc tu as probablement raison mais ça me choque tel quel J'envisageai, et le ferai peut être quand mon projet professionnel sera sur les rails, un générateur de quêtes automatisé, j'ai bossé pas mal la théorie scénaristique, etc... et je ne vois pas où est le loup (donc ça m'intéresse aussi d'éviter un piège où tu aurais pu tombé et que je n'aurais pas vu) dans ma vision, tous les chemins non nominaux ne doivent être que des : "accidents" (donc tu sors du nominal, tu traites en quelques §, et tu reviens au noeud nominal où tu étais ou juste au suivant) "sous quêtes" ( donc tu sors du nominal, tu fais un mini scenario -un plus petit nominal- tu gagnes/tu perds quelque chose par rapport au nominal et tu reviens dans les quelques noeuds suivant là où tu étais (ou exactement là où tu étais) "autre fin" (donc tu sors du nominal, tu ne peux plus y revenir, et finalement tu as autant de § ou plus que le précédent nominal, et là on obtient deux chemins nominaux) par exemple : le scenario nominal est visiter le donjon pour sauver la princesse l'accident : dans la pièce 3, au lieu de prendre la porte du fond qui mène à la pièce 4, tu prends la porte à droite qui mène à une sale de garde, donc baston blabla, etc... et tu n'as pas d'autres choix que de revenir sur tes pas à la pièce 3 sous quête : pas de bol y a aussi une porte à gauche dans la pièce 3, elle te mène vers un couloir qui t'emmène vers le laboratoire de l'alchimiste du chateau (plusieurs pièces / combats / etc) et si tu fouilles le tiroir du bas tu tombes sur un parchemin qui te donne la suite de touches à appuyer (en pierre on est dans un chateau hein) pour ouvrir la chambre de la princesse (évidemment le nominal, via un problème à résoudre - ou le hasard-, permet aussi de trouver la suite), après on doit revenir sur nos pas ou arriver à un autre couloir qui te ramène vers la princesse autre fin : dans la pièce 4, un autre couloir qui t'emmène vers la prison, et là paf tu peux libérer la trollesse qui était enfermé fuir le chateau par les souterrains et vivre heureux sans la princesse qui finalement est une poufiasse de premier ordre
je pense que c'est plus compliquer ici car il y a plusieurs fins possibles.
j'ai cru comprendre qu'on ne "recherche" pas le même personnage à la fin, en fonction de ses choix (non) ? Donc au final il n'y aurait pas "un" chemin nominal, mais plusieurs choix nominaux... mais ça limite forcément le nombre de paragraphes lus (car il y en a toujours que 400). et comme chacun des chemins nominaux possèdent le même nombre de §, on divise 400§ par le nombre de chemins nominaux (sans compter les 1ers chapitres qui sont en commun)
"Somewhere, something incredible is waiting to be known..."
Carl Sagan.
14-09-2016, 02:32 PM
bah je pense que cette approche de distribution est justement le piège, finalement le nombre de fin devraient être une conséquence du support et non une contrainte.
La contrainte 1 : 400 § (a voir en fait, c'est un choix historique) La contrainte 2 : x § (à définir) pour une lecture début --> fin et après on voit combien de fins on peut avoir etc... |
|