MAVH II
#1
Salut, je commence à développer un format pour créer des fictions à embranchements multiples sur navigateur. Pour l'instant j'ai déjà créé une première version un peu brouillonne : MAVH

Maintenant ce que je pense faire, c'est une syntaxe XML plus propre ressemblant à ceci :

Code :
       <!DOCTYPE MULTIPATHFICTION>
       <mpfiction>
           <head>
               <title>Mon premier Défi Fantastique</title>
               <genre>Cybermédiéval</genre>
               <series>Renard Solitaire</series>
               <seriesnumber>1</seriesnumber>
               <author>Zero J</author>
               <contact>
                   <author_email>lerenard@gmail.com</author_email>
                   <url>http://renard.solitaire.free.fr</url>
               </contact>
               <language>French</language>
               <price>0</price>
               <license>GPL2</license>
               <publish_date>2016-12-31</publish_date>
               <version>1.02</version>
               <description>
                   Super bouquin dont vous êtes le héros !
               </description>
               <changelog>
                   <change version="1.01" date="2016-12-31">
                       Minotaure amoureux ok
                   </change>
               </changelog>
           </head>
           <book>

               <menu>
                   <action on="Vérifier le contenu de votre sac à dos">
                       montrerInventaire();
                   </action>
                   <action on="Soigner vos blessures">
                       seSoigner();
                   </action>
                   <action on="Utiliser la Clef d'Or">
                       utiliserCleOr();
                   </action>
               </menu>

               <page id="Prime">
                   <text>
                       Vous êtes <v>playername</v>. Bienvenue. <r>Allez au menu !</r>
                   </text>
                   <react on="Allez au menu !">
                       goto("Menu principal");
                   </react>
               </page>

               <page id="Menu principal">
                   <text>
                       <h1>Menu principal</h1>
                       <r>Faire ceci...</r>
                       <r>Faire cela...</r>
                       <r>Retour</r>
                   </text>
                   <react on="Faire ceci...">
                       appendText("Je fais ceci...");
                   </react>
                   <react on="Faire cela...">
                       goto("Faire cela");
                   </react>
                   <react on="Retour">
                       goto("Prime");
                   </react>
               </page>

               <page id="Faire cela">
                   <text>
                       Autre chose.
                   </text>
               </page>

           </book>
       </mpfiction>

J'en parle déjà sur le forum de IFiction-FR, mais je voudrais aussi récolter vos suggestions, remarques, ...etc. Voili voilà.

Et au fait : BONNE ANNEE !!
Répondre
#2
Bonjour,

J'arrive à comprendre l'idée générale, et je pense que c'est une voie intéressante. Il y a juste 2 points qui m'échappent :

* Visiblement le but est de créer un nouveau type de document. Ma première question serait : pourquoi est-ce complètement nécessaire ?
* La structure est beaucoup basée sur des goto. C'est un peu le diable en informatique. Ce n'est pas gênant lorsque l'on souhaite créer un pdf (avec l'équivalent des liens internes), mais la gestion des instructions, des variables et de la partie XML pour l'affichage, le tout imbriqué, ça risque de devenir un casse-tête difficile à tester et à maintenir.

Peut-être que ça serait plus simple d'imaginer ce que donnerait le code pour un cas donné. Par exemple :
* Si on a au moins 5 pièces d'or, on a le droit de se rendre à un paragraphe donné
* On perd alors 5 pièces d'or, et on accède au paragraphe en question

Évidemment c'est tout à fait possible, mais la syntaxe me paraît lourde.
Fan de Garcimore
Répondre
#3
Oui tu as raison... En fait il suffit de créer une librairie mavh.js à intégrer dans une page html, et de mettre la section <book> dans le <head> du html. Je vais réfléchir à tout ca !
Répondre
#4
Par rapport au goto, on est bien d'accord que c'estl'instruction qui permet de passer d'un paragraphe à l'autre hein, c'est pas le goto du BASIC ! (Quoique je garde un bon souvenir de mon Amstrad CPC464...)
Répondre




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