Skip to content

Tutoriel Ink - Écrire des récits interactifs

Tutoriel Ink : Écrire des récits interactifs

Section titled “Tutoriel Ink : Écrire des récits interactifs”

Durée : 30-45 min
Niveau : Débutant, aucune expérience de code requise


Ink est un langage de scénario interactif créé par le studio britannique Inkle (80 Days, Heaven’s Vault).

Ce que c’est :

  • Un langage pour écrire des récits à embranchements
  • Une syntaxe proche du scénario, pas du code
  • Un outil utilisé par des écrivains, pas des programmeurs

Ce que ce n’est pas :

  • Du JavaScript ou un langage de programmation classique
  • Complexe ou réservé aux techniciens
  • Limité aux jeux vidéo (utilisable pour webdocs, installations, fictions hypertextes…)

Pourquoi Ink ?

  • Écrire des milliers d’embranchements sans se perdre
  • Tester immédiatement ce que vous écrivez
  • Exporter vers le web, les jeux, les apps

Inky est l’éditeur visuel gratuit pour Ink. Il permet d’écrire et de tester directement.

  1. Allez sur github.com/inkle/inky/releases
  2. Téléchargez la version pour votre système (Mac, Windows, Linux)
  3. Installez l’application

Panneau gauche : Vous écrivez votre récit
Panneau droit : Vous testez en direct

Pas besoin de sauvegarder constamment : Inky sauvegarde automatiquement.


Vous êtes dans une forêt sombre.
Le vent fait frissonner les arbres.
Au loin, vous entendez un hurlement.

C’est tout. Pas de balises, pas de code. Juste le texte.

Résultat : Le texte s’affiche ligne par ligne.


Vous trouvez 10€ par terre.
* Garder l'argent
* Le donner à un SDF
* Le déposer au commissariat

Le symbole * crée un choix unique (disparaît après avoir été choisi).

Résultat : L’utilisateur voit 3 options et en choisit une.


Vous trouvez 10€ par terre.
* Garder l'argent
Vous glissez le billet dans votre poche.
Personne ne vous a vu.
* Le donner à un SDF
L'homme vous remercie chaleureusement.
Il vous sourit.
* Le déposer au commissariat
L'agent hausse les épaules.
"On verra si quelqu'un le réclame."

Attention à l’indentation : Tout ce qui suit le choix (avec un retrait) est la conséquence de ce choix.


Les knots sont comme des scènes dans un scénario.

=== debut ===
Vous êtes à un croisement.
* Aller à gauche -> foret
* Aller à droite -> village
=== foret ===
Vous entrez dans une forêt sombre.
Des bruits étranges vous entourent.
-> END
=== village ===
Vous arrivez dans un petit village.
Des habitants vous observent avec méfiance.
-> END

Syntaxe :

  • === nom_du_knot === : Crée une scène
  • -> nom_du_knot : Renvoie vers une autre scène
  • -> END : Fin du récit

Le symbole + crée un choix répétable (reste disponible même après avoir été choisi).

=== chambre ===
Vous êtes dans votre chambre.
+ [Regarder par la fenêtre]
Il pleut dehors.
-> chambre
+ [Ouvrir le tiroir]
Vous trouvez une vieille photo.
-> chambre
+ [Sortir de la chambre]
-> couloir

Résultat : L’utilisateur peut explorer la chambre autant qu’il veut avant de sortir.


* Prendre l'épée
Vous saisissez l'épée rouillée.
* [Fuir en courant] Vous détalez comme un lapin.

Sans crochets : Le texte du choix est affiché dans le récit après sélection
Avec crochets [ ] : Le texte n’apparaît QUE dans le menu de choix, pas après


Les variables permettent de suivre les décisions du joueur.

VAR argent = 0
-> start
=== start ===
Vous trouvez 10€.
* Vous ne faites rien
-> start
* Ne pas garder l'argent
-> suite
* Garder l'argent
~ argent = argent + 10
Vous avez maintenant {argent}€.
-> suite
=== suite ===
{argent > 0:
Avec cet argent, vous pourriez acheter un café.
- else:
Vous n'avez pas d'argent.
}
-> END

Syntaxe :

  • VAR nom = valeur : Déclare une variable (au début du fichier)
  • ~ argent = argent + 10 : Modifie la variable
  • {argent} : Affiche la valeur
  • {argent > 0: ... - else: ...} : Condition (si/sinon)

VAR confiance = 0
=== debut ===
Vous croisez votre ex dans la rue.
Vos regards se croisent.
* Sourire et saluer
~ confiance = confiance + 1
Vous souriez timidement.
"Salut," dites-vous.
-> reaction
* Faire semblant de ne pas voir
Vous regardez votre téléphone intensément.
-> fuite
* S'approcher directement
Vous marchez vers elle.
"On peut parler ?"
-> confrontation
=== reaction ===
{confiance > 0:
Elle sourit aussi.
"Ça va ?"
-> conversation
- else:
Elle hoche la tête froidement.
-> silence
}
=== conversation ===
Vous discutez quelques minutes.
C'est étrange, mais pas désagréable.
-> END
=== silence ===
Un silence gênant s'installe.
Vous balbutiez un "À bientôt" et partez.
-> END
=== fuite ===
Vous passez devant elle sans un regard.
Votre cœur bat à tout rompre.
-> END
=== confrontation ===
Elle semble surprise.
"Maintenant ? Ici ?"
-> END

Testez ce code dans Inky : Copiez-collez et cliquez sur le bouton Play.


Créez une micro-histoire interactive (30 secondes de lecture par branche).

Contrainte :

  • 1 situation de départ
  • 3 choix minimum
  • 3 issues différentes

Exemples de situations :

  • Vous recevez un message d’un numéro inconnu
  • Vous trouvez une clé par terre
  • Vous entendez du bruit dans votre cave
  • Vous ratez votre bus
  • Vous voyez quelqu’un pleurer dans la rue

1. Choisir la situation (2 min)

2. Imaginer 3 issues (5 min)

  • Une issue heureuse
  • Une issue triste ou frustrante
  • Une issue surprenante

3. Écrire les choix (5 min)

  • Quelles actions mènent à quelle issue ?
  • Minimum 3 choix

4. Tester dans Inky (3 min)

  • Copier-coller dans Inky
  • Cliquer sur Play
  • Vérifier que tous les chemins fonctionnent

=== debut ===
Votre téléphone vibre.
Message d'un numéro inconnu :
"On se connaît. Rendez-vous au café à 15h."
* Répondre "Qui êtes-vous ?"
Les trois petits points s'affichent.
Puis disparaissent.
Pas de réponse.
-> mystere
* Supprimer le message
Vous supprimez le message.
Mais la curiosité vous ronge.
-> oubli
* Aller au café à 15h
Vous décidez d'y aller.
-> rencontre
=== mystere ===
Vous ne saurez jamais qui c'était.
Le numéro n'existe plus quand vous rappelez.
-> END
=== oubli ===
Deux jours plus tard, vous l'avez oublié.
Mais parfois, vous vous demandez...
-> END
=== rencontre ===
Vous entrez dans le café à 15h.
Une personne vous fait signe.
Vous ne la reconnaissez pas, mais elle sourit.
-> END

Tunnels : Scènes qui se déroulent puis reviennent automatiquement au point de départ
Threads : Plusieurs fils narratifs parallèles
Alternatives : Variations de texte selon l’historique
Tags : Métadonnées pour styliser le texte (couleurs, images, sons)

  • 80 Days - Adaptation du Tour du monde en 80 jours
  • Heaven’s Vault - Jeu d’archéologie et de traduction
  • Sorcery! - Série de jeux d’aventure interactifs
  • Overboard! - Enquête à rebours (vous êtes le meurtrier)

Dois-je installer Inky pour faire l’exercice ?

Section titled “Dois-je installer Inky pour faire l’exercice ?”

Non. Vous pouvez écrire la structure narrative dans n’importe quel éditeur de texte. L’important est de comprendre les embranchements, pas la syntaxe parfaite.

Puis-je exporter mon histoire Ink vers le web ?

Section titled “Puis-je exporter mon histoire Ink vers le web ?”

Oui. Ink permet d’exporter en JSON, puis d’intégrer dans une page web avec la librairie JavaScript inkjs. Mais ce n’est pas au programme de ce cours.

Pour écrire une histoire simple : 30 minutes.
Pour maîtriser les techniques avancées : quelques heures de pratique.

Ink : Langage textuel (comme du code), éditeur minimaliste
Twine : Interface visuelle avec des cartes, plus proche du storyboard

Les deux sont valables. Ink est plus rapide pour écrire, Twine est plus visuel pour structurer.


  • Ink est un langage de scénario interactif (pas du JavaScript)
  • La syntaxe est minimaliste : * pour choix, === pour scènes
  • Vous pouvez créer des récits à embranchements rapidement
  • L’écriture interactive change votre façon de raconter

Prochaine étape : Testez vos propres histoires dans Inky ou utilisez cette structure pour concevoir des récits plus complexes.