**Language / Langue :** **FR** | [[en:yaml:dialogues|EN]] ====== Dialogues et séquences ====== Un texte de salle peut devenir une **séquence de répliques** : le joueur clique pour faire avancer la conversation, avec un locuteur, un portrait, un cadre et un fond. Tout est facultatif. Une séquence sans portrait ni fond reste une suite de répliques affichées l'une après l'autre. ===== Une première séquence ===== salles: - id: taverne texte: type: sequence repliques: - locuteur: Mara texte: "Vous arrivez tard. La route était mauvaise ?" - locuteur: Vous texte: "Disons que je ne l'ai pas choisie." Le joueur voit la première réplique, clique, puis voit la seconde. Une fois la séquence terminée, la salle affiche ses choix normalement. Dans un scénario anglais, utilisez ''replies:'' à la place de ''repliques:'' et ''text:'' à la place de ''texte:''. Les deux langues restent acceptées par le moteur. ===== Registre de personnages ===== Plutôt que de répéter le nom et le portrait à chaque réplique, déclarez vos personnages une fois pour tout le scénario. personnages: mara: nom: Mara portrait: /scenarios/images/mon-jeu/mara.png garde: nom: Le garde portrait: /scenarios/images/mon-jeu/garde.png position-portrait: droite salles: - id: poste texte: type: sequence repliques: - personnage: mara texte: "Laissez-nous passer." - personnage: garde texte: "Personne ne passe cette nuit." Une réplique qui ne précise que ''personnage:'' hérite du nom, du portrait et de la présentation enregistrés. N'importe quelle propriété peut être redéfinie sur la réplique : elle prime alors sur le registre. - personnage: garde texte: "Bon... entrez vite." portrait: /scenarios/images/mon-jeu/garde-souriant.png ===== Héritage entre répliques ===== Une réplique qui ne redéfinit rien **conserve** le personnage, le portrait et le fond de la précédente. C'est ce qui permet d'écrire une longue tirade sans répéter le locuteur. repliques: - personnage: mara texte: "J'ai connu cette ville avant l'incendie." - texte: "On y venait pour le marché aux épices." - texte: "Il n'en reste rien." Pour retirer explicitement un élément, utilisez ''null''. - texte: "La voix vient de nulle part." portrait: null ===== Valeurs par défaut ===== ''dialogue-defaut:'' fixe la présentation de toutes les séquences du scénario. Chaque séquence, puis chaque réplique, peut s'en écarter. dialogue-defaut: position-locuteur: haut-gauche position-portrait: gauche taille-portrait: 30 ===== Portraits ===== * ''portrait:'' image affichée à côté du texte. * ''position-portrait:'' ''gauche'' ou ''droite''. * ''taille-portrait:'' pourcentage de la hauteur de la zone narrative. * ''decalage-portrait-x:'' et ''decalage-portrait-y:'' déplacent le portrait. * ''chevauchement-portrait:'' fait mordre le portrait sur le cadre du dialogue. - personnage: mara texte: "Approchez, je ne mords pas." taille-portrait: 43 decalage-portrait-y: 18 chevauchement-portrait: 24 ===== Nom du locuteur ===== ''locuteur:'' affiche un nom sans passer par le registre. - locuteur: Mara texte: "Vous arrivez tard." Pour lui donner sa propre typographie, écrivez ''locuteur:'' sous forme de bloc : - locuteur: nom: Mara couleur: "#d8c9a3" police: Georgia texte: "Vous arrivez tard." Deux clés complètent la présentation, sur la réplique ou dans ''dialogue-defaut:'' : * ''position-locuteur:'' ''haut-gauche'', ''haut-droite'', ''bas-gauche'', ''bas-droite''. * ''cadre-locuteur:'' cadre propre à l'étiquette du nom. Sans couleur imposée, le moteur choisit automatiquement du noir ou du blanc selon le fond réellement affiché, pour que le nom reste lisible. Une couleur écrite par l'auteur est toujours respectée. ===== Fonds ===== ''image-fond:'' pose une image derrière la scène. Elle se déclare sur une réplique, sur la séquence, ou directement sur la salle, même sans dialogue. salles: - id: laboratoire image-fond: /scenarios/images/mon-jeu/labo.png mode-fond: couvrir texte: "Les cuves bourdonnent dans la pénombre." Le fond **reste actif dans les salles suivantes** tant qu'il n'est pas remplacé ou supprimé avec ''image-fond: null''. ''mode-fond:'' choisit le cadrage : ^ Valeur ^ Effet ^ | ''adapter'' | l'image entière est visible, en conservant ses proportions | | ''couvrir'' | l'image remplit la zone, quitte à rogner les bords | | ''etirer'' | l'image est déformée pour occuper exactement la zone | | ''centrer'' | l'image garde sa taille, centrée dans la zone | | ''mosaique'' | le motif est répété | Sans ''mode-fond:'', l'image entière est affichée en conservant ses proportions. Une image animée fonctionne comme une image fixe. ===== Cadres ===== Un cadre entoure la bulle de dialogue. Deux façons de l'obtenir. **À partir d'une image**, découpée en neuf zones pour s'étirer sans déformer les coins : cadre: /scenarios/images/mon-jeu/cadre.png decoupe-cadre: 24 **Sans aucun fichier**, en décrivant le trait : cadre: epaisseur: 2 couleur: "#d8c9a3" fond: "#1b1a17" coins: arrondis rayon: 12 style: plein * ''coins:'' ''carres'' ou ''arrondis'' (avec ''rayon:''). * ''style:'' ''plein'', ''tirets'', ''pointille'' ou ''double''. ===== Animation du texte ===== Par défaut, une réplique s'affiche **immédiatement**. L'animation est un choix, pas une obligation. - personnage: mara texte: "Chaque lettre arrive à son tour." animation: type: caractere vitesse: 20 ''type:'' vaut ''caractere'' (lettre à lettre) ou ''fragment'' (par groupes de mots). ''vitesse:'' est le délai en millisecondes. Un premier clic termine l'animation en cours, le suivant passe à la réplique suivante. Les liens, mots interactifs, boutons et glisser-déposer ne font **jamais** avancer la séquence par accident : le joueur peut les utiliser librement. ===== Transitions ===== Le fond, le portrait et la bulle ont chacun leur transition. - personnage: garde texte: "Qui va là ?" transition: portrait: type: glissement duree: 300 direction: droite dialogue: type: fondu duree: 220 Une valeur simple s'applique à l'ensemble : transition: fondu ''type:'' vaut ''glissement'' (l'élément entre en coulissant) ou ''fondu'' (apparition en douceur, comportement par défaut). ''duree:'' est exprimée en millisecondes, et ''direction:'' n'a de sens que pour un glissement. ===== Masquer les contrôles ===== ''masquer-controles: true'' cache les boutons pendant une séquence, pour une scène qui doit se dérouler sans interruption. Ils réapparaissent à la fin. texte: type: sequence masquer-controles: true repliques: - texte: "La porte se referme derrière vous." ===== Mélanger texte et séquences ===== Un champ ''texte:'' accepte une liste : textes simples et séquences s'y succèdent dans l'ordre écrit. texte: - "Vous poussez la porte du bureau." - type: sequence repliques: - personnage: mara texte: "Je vous attendais." - "Elle referme le dossier posé devant elle." Le texte qui suit une séquence n'apparaît qu'une fois celle-ci terminée. Cela fonctionne aussi dans un événement, une action ou un encadré HUD. ===== Réutiliser le texte d'une autre salle ===== ''%%[[SALLE:n]]%%'' insère le contenu narratif de la salle numéro //n//. Utile pour une réplique récurrente écrite une seule fois. - personnage: garde texte: "Toujours la même réponse.[[SALLE:12]]" La forme anglaise est ''%%[[ROOM:n]]%%''. Les renvois circulaires sont détectés et arrêtés. ===== Sur les autres supports ===== Les séquences s'affichent dans toutes les interfaces web et desktop : classique, cartes, deck, téléphone, plein écran, et dans un encadré HUD. Discord, le Terminal et l'export PDF n'ont pas de bulle de dialogue : ils produisent une lecture linéaire ''Locuteur : texte'', dans l'ordre des répliques. Le scénario reste jouable partout. ===== Voir aussi ===== * [[fr:yaml:texte|Texte et mise en forme]] * [[fr:yaml:medias|Images, sons et vidéos]] * [[fr:yaml:hud|Encadrés HUD]] * [[fr:ui:presentation|Modes d'interface]]