Twine — Aventure Textuelle et Histoire Interactive

Twine - La Revanche du Gobelin

Il y a peu, j’ai découvert Codecademy et terminé le cours PHP. Désireux d’aller plus loin, j’ai suivi le cours PHP sur OpenClassrooms, avant de retourner sur Codecademy pour aider d’autres adeptes sur les cours HTML et Make An Interactive Website. C’est là que je me suis dit “Tiens, pourquoi pas apprendre le Javascript ?”. C’est un langage qui revient souvent dans mes usages (sous After Effects, en web etc…), c’était donc le moment de se lancer.

Bien que retardé par de nombreux bugs dans la version Française de Codecademy j’ai à ce jour quasiment fini le cours Javascript — que du coup, je suis en train de terminé en anglais.

Il s’avère que dans ce cours, il faut, durant une leçon, créer une courte histoire textuelle interactive, en deux noeuds narratifs à peine.
Stimulé par l’exercice, j’ai décidé d’aller plus loin et de me lancer dans des aventures textuelles plus riches.

Après avoir testé de quelques services en ligne sans grande satisfaction (il manquait le côté programmation/flexibilité que je cherchais), je me suis tourné vers Twine, conseillé par mon ami William, qui, l’année passée, m’avait montré une histoire bien marrante qu’il avait réalisé avec ce logiciel, dans le cadre de ses études en jeu vidéo.

Et tout de suite, j’ai accroché à la puissance de cet outil open source.

A noter que celui-ci existe en version bureau (v 1.4) et en version web (v.2.0.4 alpha), mais que cette dernière ne propose pas encore l’éventail des possibilités offertes par la 1.4 (notamment au niveau des sauvegardes), chose dont je me suis rendu compte au cours de l’élaborations de plusieurs petites histoires – ce pourquoi j’utilise maintenant la version de bureau.

Twine permet donc de créer des aventures textuelles dont le format de sortie est HTML/CSS/JavaScript, ce qui est parfait pour la diffusion.
Il aide à la création en fournissant un modèle de tuiles appelées “passages”, chaque passage pouvant correspondre, dans sa conception la plus simple, à une action du joueur.

J’ai commencé par faire de courtes histoires avec des schémas classiques, c’est à dire une succession d’embranchements défini la plus part du temps par des choix binaires du type “Voulez-vous RESTER ou partir ?”.
L’étape d’après a été de faire des schémas plus complexes, avec des branches qui se coupent, s’imbriquent, se développent puis se rejoignent, en incluant quelques variables.

Vous êtes un blob !
Extrait de “Vous êtes un blob !”, par Friops, que j’ai aidé pour le debuggage

Puis, je me suis dit que l’on pouvait pousser la chose plus loin, et au lieu de concevoir les passages comme une succession de choix, les concevoir comme des lieux, et définir des comportement différents en fonctions des actions précédemment effectuées par le joueur, et de tout un tas d’autres variables. Quelques passages non-lieu pourront cependant être nécessaire par moment, mais dans l’idée, on construit la map, et on fait notre histoire.
Ainsi, on passe en mode exploration de salles (type Donjon), un mode de jeu bien différent, mais que la souplesse de Twine m’a permis de réaliser sans réelle difficulté.

L’aventure textuelle que je tiens à vous présenter en guise de démonstration, se nomme La Revanche du Gobelin. Elle à été scénarisée et codée sous Twine en quelques jours. Elle comprend :

  • plus de 80 conditions type if, else, else if
  • Gestion d’items et d’inventaire (ajout d’item, suppression d’item, conservation d’item)
  • Des dialogues avec choix
  • Gestions de bonus (en Chance et en Frappe)
  • Gestion de points de vie (pour le joueur et les persos non-joueurs).
  • Des combats avec frappe et esquive
  • Des images pour une belle carte du donjon (screenshots vus du dessus d’une map faite sous Minecrat par Hengry pour le jeu d’après mon schéma)
  • Une feuille de style CSS personnalisée (mélange du style de base, du style de la 2.0 et de mes besoins, notamment pour la répartition en points cardinaux des choix des directions)
  • 5 fins possibles, dont 3 correspondant à des victoires (plus ou moins joyeuses selon le choix des joueurs)
  • Des fonctions aléatoires
  • Du texte différent dans chaque salle pendant au moins 3 passages
  • Temps de jeu entre 1 et 10 minutes
  • Des prompts (boite de dialogue avec texte à écrire par l’utilisateur)
  • De nombreuses variables
hall-b
Vue du dessus (plan) du Donjon réalisé par Hengry sous Minecraft. Indispensable pour se repérer spatialement dans une aventure textuelle…

Synopsis : Vous êtes un gobelin et vous voulez assassiner votre maître qui vous a maltraité toute votre vie.

Le ton est du type humour noir, et le gameplay de type énigme/exploration. C’est assez basique, mais il faut quand même faire attention aux indices 😀

Le jeu a subit une longue phase de débugguage, avec l’aide de Friops, Hengry (pour les scripts) et Sleeping Mary (pour l’orthographe), mais a priori, la version que je vous montre ne devrait pas avoir de problème. Dans le cas contraire, n’hésitez pas à me le dire, et je corrigerai 😀

parvis
Le Parvis du Donjon, réalisé par Hengry sous Minecraft

Voici le lien :

Télécharger “La Revanche du Gobelin” LaRevancheDuGobelin_X-Raym.html – Téléchargé 962 fois – 29 KB

Il est vrai que les aventures textuelles sont un peu passées de mode, et que cette histoire a été faîte sans prétention, mais j’ai pris beaucoup de plaisir à la réaliser. J’espère que vous en prendrez tout autant en y jouant ! 🙂

Trône
La terrible Sallle du Trône du Donjon, réalisée par Hengry sous Minecraft

Si vous êtes intéressé par Twine, je vous rassure, peu de connaissances Javascript sont nécéssaires, la première partie du cours sur ce langage par Codecademy peut suffire.

Si la créations d’aventures textuelles vous intéresse aussi, je vous donne ci-dessous quelques liens de références :

Merci à tous, et bon jeu, que ce soit avec le mien, ou avec celui que vous élaborerez ! 😀

Salle de la Bibliothèque, réalisée sous Minecraft par Hengry
Salle de la Bibliothèque du Donjon, réalisée sous Minecraft par Hengry

Note : comme vous pouvez le voir sur l’illustration en haut de l’article, la base de la map sont les passages tagués “donjon”, qui forme le plan du lieu. D’autres tuiles ont été nécessaires pour certaines actions, ou pour un affichage rémanent de certains bouts de code.

  • MisterMcTyson

    Très très bon !!! Hâte d’en voir plus !

  • Merci beaucoup, McTyson !!
    J’avais pour idée de faire un donjon sur plusieurs étages (caves, premier étages, grenier :P) avec des escaliers… 🙂

  • alex

    salut j essai de faire aussi une histoire dans le style mais je trouve pas comment t as pu faire les compteur de vie et tt

  • Si tu es à l’aise avec l’anglaise regarde les liens mentionnés dans l’article, j’ai appris avec ça,
    et si tu ne connais rien en programmation, jette un coup d’oeil au cours javascript de codecademy. 🙂
    Une fois que tu auras compris ce que sont les variables, les valeurs, et les tableaux, tu n’auras plus qu’à intégrer ça dans twine. 🙂