Table des matières

Language / Langue : FR | 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. Par défaut, les choix de la salle restent visibles pendant la séquence. Pour masquer les contrôles jusqu'à sa fin, ajoutez masquer-controles: true sur la séquence.

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.

Types de répliques

Une réplique peut préciser type: dialogue (par défaut), narration, pensee, systeme, journal, message ou message-envoye. Ces types distinguent la présentation des paroles, de la narration, des pensées, des annonces, du journal et des messages téléphoniques. Ils fonctionnent aussi en blocs isolés hors d'une séquence.

En ui: phone avec ecran: conversation, message est une bulle reçue et message-envoye une bulle envoyée. Les répliques précédentes restent visibles dans l'historique de la conversation.

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."

Un personnage: explicite reconstruit la présentation dans cet ordre : valeurs par défaut du scénario > registre du personnage > propriétés de la séquence > propriétés de la réplique. Les dernières valeurs priment ; les personnalisations locales de la réplique précédente ne sont pas automatiquement reprises. Changer seulement locuteur: ne retire pas le portrait : utilisez portrait: null si nécessaire.

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

        - personnage: mara
          texte: "Approchez, je ne mords pas."
          taille-portrait: 43
          decalage-portrait-y: 18
          chevauchement-portrait: 24

Un portrait peut aussi utiliser une case de planche : portrait: portraits.png:4×2:1:0 sélectionne la colonne 1, ligne 0 d'une planche de 4 colonnes et 2 lignes. Les coordonnées commencent à 0, en haut à gauche. Écrivez directement la référence d'image, sans [[...]].

cadre-portrait: ajoute un cadre autour du portrait. Il accepte les mêmes formes, image ou cadre généré, que cadre: (voir plus bas) :

        - personnage: mara
          texte: "Approchez."
          cadre-portrait:
            image: /scenarios/images/mon-jeu/cadres.png:4x2:1:0
            decoupe: 24
            coins: arrondis
            rayon: 12

Le suffixe de planche fonctionne aussi pour les images des cadres du dialogue et du locuteur. La case est extraite d'abord, puis son cadre est découpé en neuf zones.

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: :

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 est centrée, avec une largeur réglée par taille-fond
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.

Avec mode-fond: centrer, taille-fond: règle la largeur de l'image en pourcentage de la zone de fond (50 par défaut), en conservant ses proportions. Par exemple :

    mode-fond: centrer
    taille-fond: 70

Le dernier fond réellement affiché par une réplique est conservé au passage dans une autre salle, y compris dans un autre mode d'interface. Une salle peut changer seulement son mode ou sa taille sans remplacer l'image.

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

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 (mot par mot). 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

Pour fixer une durée commune, utilisez un bloc :

          transition:
            type: fondu
            duree: 700

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. À l'intérieur d'une réplique existante, une séquence insérée est convertie en texte ; elle ne crée pas de sous-séquence à faire avancer par clic.

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