Files
le-mystere-professeur-zacus/game/gamebooks/aventures/train_de_nuit.yaml
T
clement a9953172e4 content: kid-friendly gamebook library (age 11)
Context:
The gamebook tiles were filled with fairly dark adventures (haunted
manor, deaths, being eaten/frozen) — not suitable for an 11-year-old.
We want the boot library to be age-appropriate.

Approach:
Write six light, branching stories pitched at ~11 years (adventure +
humour, gentle "oops, try again" failures, never grim), and move the
six mature adventures into a non-library subfolder so they're kept but
out of the kids' picker (the generator globs game/gamebooks/*.yaml,
non-recursive). Text only — no WAV synthesis here.

Changes:
- New kid stories in game/gamebooks/: dragon_flamme, tresor_caramel,
  planete_zigzag, hamster_disparu, ecole_sorciers, voyage_dinos
  (11-17 passages each, 2-5 endings, all reachable, no broken gotos).
- Move the 6 mature adventures to game/gamebooks/aventures/ (archived,
  excluded from the library glob).

Impact:
The 6-tile boot library now offers age-appropriate stories. Build/stage
them with tools/gamebook/build_gamebook.py when ready (not done here).
2026-06-19 15:23:08 +02:00

234 lines
9.6 KiB
YAML

# Livre dont vous êtes le héros — Le Dernier Train de Nuit
# Navigation D-pad (curseur ">" + clic). passages {screen, text,
# choices:[{label, goto}]}. Passage sans choices = fin.
title: "Le Dernier Train de Nuit"
voice: Thomas
start: quai
passages:
quai:
screen: "Le quai"
text: >
Vingt-trois heures cinquante-huit. Un brouillard épais avale le quai
désert. Le train de nuit pour Sombreville crache sa vapeur, deux minutes
avant le départ. Le contrôleur, visage dans l'ombre, vous tend la main
pour votre billet. Derrière une vitre, une femme pâle vous fixe sans
ciller.
choices:
- label: "Monter et chercher votre compartiment"
goto: compartiment
- label: "Demander au contrôleur qui est cette femme"
goto: controleur
controleur:
screen: "Le contrôleur"
text: >
« Quelle femme ? » répond le contrôleur sans lever les yeux. La vitre est
vide, à présent. « Montez, le train n'attend personne. Surtout pas cette
nuit. » Il poinçonne votre billet d'un geste sec et vous pousse presque à
l'intérieur. Les portes claquent. Le quai s'efface dans le brouillard.
choices:
- label: "Gagner votre compartiment"
goto: compartiment
compartiment:
screen: "Le compartiment"
text: >
Votre compartiment sent le velours humide et le tabac froid. Un vieil
homme y somnole, un journal sur les genoux dont la une date d'il y a
quarante ans. Sur la banquette, un billet abandonné porte un seul mot,
tracé à la hâte : « DESCENDS ».
choices:
- label: "Réveiller le vieil homme"
goto: vieil_homme
- label: "Sortir explorer le couloir"
goto: couloir
vieil_homme:
screen: "Le dormeur"
text: >
Vous secouez doucement son épaule. Il ouvre des yeux laiteux. « Vous êtes
monté ? murmure-t-il. Grave erreur. Ce train ne va pas à Sombreville. Il
n'arrive nulle part. Chaque nuit, il en prend un de plus. » Sa main froide
agrippe votre poignet. « Le wagon-restaurant. La réponse est là. Ou la
voiture de queue, si tu es fou. »
choices:
- label: "Filer vers le wagon-restaurant"
goto: restaurant
- label: "Tenter la voiture de queue"
goto: queue
- label: "Vous dégager et explorer le couloir"
goto: couloir
couloir:
screen: "Le couloir"
text: >
Le couloir tangue, éclairé d'ampoules vacillantes. Chaque compartiment est
vide, banquettes encore tièdes, bagages ouverts, comme si les voyageurs
s'étaient volatilisés en pleine phrase. Au bout, une porte vers le
wagon-restaurant ; à l'avant, l'accès à la locomotive.
choices:
- label: "Entrer au wagon-restaurant"
goto: restaurant
- label: "Remonter vers la locomotive"
goto: locomotive
restaurant:
screen: "Le wagon-restaurant"
text: >
Des tables dressées, des verres pleins, personne. Au piano du fond, la
femme pâle de la vitre joue une berceuse sans toucher les touches. « Vous
avez vu mon billet ? dit-elle sans se retourner. Je cherche à descendre
depuis 1953. Lui ne laisse personne descendre… sauf si on lui donne autre
chose à emporter. »
choices:
- label: "Lui demander qui est « lui »"
goto: revenante
- label: "Reculer vers la locomotive"
goto: locomotive
- label: "Boire le verre posé devant vous"
goto: fin_verre
revenante:
screen: "La revenante"
text: >
« Le Contrôleur, souffle-t-elle. Ce n'est pas un homme. C'est le train qui
a pris un visage. Il garde un passager par nuit pour avoir de la compagnie.
Tire le signal d'alarme rouge dans la locomotive, et il devra s'arrêter —
mais il faudra quelqu'un pour rester à sa place. » Elle vous tend une vieille
clé de laiton.
choices:
- label: "Prendre la clé et courir à la locomotive"
goto: locomotive
- label: "Refuser : il y a sûrement une autre issue, par la queue"
goto: queue
locomotive:
screen: "La locomotive"
text: >
La cabine est brûlante, le foyer rugit, mais aucun mécanicien. Le levier
de frein est cadenassé. Au-dessus, le signal d'alarme rouge. Une trappe au
sol descend vers les essieux. Dans le rétroviseur, le Contrôleur avance
dans le couloir, sans hâte, en souriant.
choices:
- label: "Ouvrir le cadenas (si vous avez la clé)"
goto: frein
- label: "Tirer le signal d'alarme rouge"
goto: alarme
- label: "Descendre par la trappe vers les essieux"
goto: essieux
frein:
screen: "Le frein"
text: >
La clé de laiton tourne dans le cadenas. Vous abattez le levier de frein
de tout votre poids. Le train hurle, les roues jettent des gerbes
d'étincelles. Le Contrôleur, dans votre dos, perd son sourire pour la
première fois. « Pas. Cette. Nuit. », gronde-t-il, et sa main se referme
sur votre épaule.
choices:
- label: "Le pousser dans le foyer rugissant"
goto: fin_foyer
- label: "Lui offrir le billet « DESCENDS » comme un autre passager"
goto: fin_echange
alarme:
screen: "Le signal"
text: >
Vous tirez le signal. Une sonnerie déchire la nuit, le train ralentit dans
un long gémissement. Mais une voix résonne partout à la fois : « Le signal
exige un remplaçant. Quelqu'un doit conduire à ma place, pour toujours. »
La femme pâle apparaît près de vous, suppliante. Le vieil homme, aussi.
choices:
- label: "Vous offrir comme nouveau conducteur"
goto: fin_conducteur
- label: "Désigner le vieil homme, déjà à moitié parti"
goto: fin_vieux
- label: "Sauter du train en marche pendant qu'il ralentit"
goto: essieux
essieux:
screen: "Sous le train"
text: >
Le vacarme des essieux est assourdissant, le ballast file à un mètre de
votre visage. Le train ralentit — c'est maintenant ou jamais. Au loin, une
lueur : une gare, ou l'aube. Sauter, c'est se briser, peut-être. Rester,
c'est rejoindre les disparus.
choices:
- label: "Sauter dans le brouillard"
goto: fin_saut
- label: "Se raviser et remonter affronter le Contrôleur"
goto: locomotive
queue:
screen: "La voiture de queue"
text: >
Vous traversez wagon après wagon vers l'arrière. Le dernier n'a pas de
mur du fond : juste une plateforme ouverte sur le néant, et les rails qui
s'effacent dans le brouillard derrière vous. Accrochée au garde-corps, une
lanterne verte — le feu de fin de convoi — palpite faiblement.
choices:
- label: "Décrocher et brandir la lanterne verte"
goto: fin_lanterne
- label: "Revenir vers le restaurant"
goto: restaurant
# ── Fins ──────────────────────────────────────────────────────────────────
fin_verre:
screen: "Le verre de trop"
text: >
Le vin a un goût de poussière et d'années. À la dernière gorgée, vos
contours s'estompent. La femme pâle a maintenant de la compagnie au piano,
et vous jouez à quatre mains une berceuse que personne, dehors, n'entendra
jamais. Fin.
fin_foyer:
screen: "Dans le foyer"
text: >
Vous poussez le Contrôleur vers le foyer. Il s'y dissout en une gerbe
d'escarbilles et un rire qui s'éteint. Le train, privé de maître, déraille
en douceur dans un champ de blé à l'aube. Les portes s'ouvrent ; les
voyageurs disparus titubent dehors, vivants. Vous les avez tous sauvés. Fin.
fin_echange:
screen: "L'échange"
text: >
Vous lui tendez le billet « DESCENDS ». Il l'examine, perplexe — un ordre,
pas une supplique. « Habile », concède-t-il. Il vous laisse descendre à la
prochaine gare fantôme, seul rescapé de la nuit, le billet repris. Vous
vivrez. Mais vous éviterez désormais les trains après minuit. Fin.
fin_conducteur:
screen: "Le nouveau Contrôleur"
text: >
« Je reste », dites-vous. Le train exhale de soulagement. La casquette se
pose sur votre tête, lourde de toutes les nuits à venir. Les autres
descendent enfin, libres, sans un regard en arrière. Vous poinçonnez votre
premier billet d'une main qui n'est déjà plus tout à fait la vôtre. Fin.
fin_vieux:
screen: "Le sacrifice du dormeur"
text: >
Vous désignez le vieil homme. Il sourit, presque soulagé. « J'attendais
qu'on me le demande. » Il enfile la casquette et s'efface dans la cabine.
Le train s'arrête ; vous descendez sur un vrai quai, au petit matin. Le
poids de ce choix, lui, ne descendra jamais. Fin.
fin_saut:
screen: "Le saut"
text: >
Vous sautez. Le monde tournoie, le ballast vous mord, puis l'herbe humide
d'un talus vous reçoit. Le train de nuit file sans vous, ses fenêtres
pleines de visages tournés vers vous. Au matin, on vous retrouve, meurtri,
incapable d'expliquer d'où vous venez. Vivant. Libre. Fin.
fin_lanterne:
screen: "Le feu de queue"
text: >
Vous brandissez la lanterne verte — le signal qui dit « la voie est
libre ». Le train comprend qu'il est enfin arrivé quelque part. Doucement,
il s'efface, wagon après wagon, emportant le Contrôleur et libérant les
âmes. Vous restez seul sur une plateforme posée dans l'herbe, au lever du
jour. Vous avez clos le dernier voyage. Fin.