Choice Script
créer des Text Based Adventure

Présentation de l’outil

ChoiceScript est un langage de programmation, doublé d’une interface de création de Text Based Adventure, ou textes à choix multiples. Il permet, par l’usage simplifié de langages de programmation, principalement en Python, de créer des applications rapidement. Cela permet de rester dans des usages de langages naturels, facilement lisibles par un.e humain.e, même sans grandes connaissances en programmation. Elles seront ensuite facilement distribuables sur les boutiques d’applications Apple et Android, aussi bien que sur ordinateur. Dans la documentation, on peut noter l’attention portée aux contraintes de ces plateformes mobiles : longueur maximum de certains champs comme le titre, limitations des tailles et poids d’images, gestion du son, etc.

Ce langage, ou plutôt l’usage de ce langage, est complètement gratuit, créé et maintenu par Dan Fabulich et Carey Williams (CJW). Il est disponible sur GIT hub, avec sa documentation. Un forum d’entraide, bien qu’anglophone, est disponible. En simplifiant l’usage de ces langages, et en les combinant, la création de variables et des interactions nécessaires à ce genre sont simplifiées. Par exemple, il est très simple, en utilisant « choice » de créer des embranchements narratifs, qui fonctionneront comme des scènes jusqu’à la commande « finish ». Ces scènes s’imbriquent et se développent donc facilement les unes avec les autres, sans avoir à naviguer dans des pages de code obscures. La plupart des manipulations sont ainsi assez simples une fois compris le système d’enchâssement des actions : une action doit être dans une scène, celle-ci devant être close avant de passer à la suivante qui devra prendre en compte toutes les issues possibles, et ainsi de suite.

ChoiceScript permet notamment de gérer facilement des panneaux de stats de personnages, ensemble de caractéristiques variables comme la force, la fatigue, les points de vie, ou encore un inventaire, qui peut ensuite être pris en compte dans le récit. Certaines réponses peuvent facilement « ajouter +X » à telle ou telle capacité. L’inventaire est également expliqué dans la documentation.

On peut noter la ressemblance des interfaces produites : la personnalisation est assez limitée et l’intérêt est vraiment porté sur le texte, au détriment parfois des interfaces utilisateurs. Il semble également que nos habitudes en termes de graphisme aient évoluées, et parfois certaines applications semblent vieillottes… Même si elles ont été créées très récemment. Voici un échantillon des premiers chapitres de diverses œuvres réalisées avec ChoiceScript :

Interface de la démo

Pour manipuler ce langage, il faut utiliser un éditeur de texte classique (Sublime Text, Atom, Notepad, Nova…) pour programmer ; il n’y a pas d’interface utilisateur embarquée. Cela rajoute un brin de difficulté pour réimporter les différentes pages du jeu créées, et éloigne l’outil des logiciels plus intuitifs de composition.

Une interface de test des programmes est disponible, ce qui est tout de même appréciable.

interface de test des programmes ChoiceScript interface standard, extraite de Creatures such as we de Lynnea Glasser interface plus complexe, avec inventaire et profile de personnage, eextraite de showdown de Alana Joli Abbott

Quelques œuvres utilisant Choice Script

Il existe tout un catalogue pour les applications construites avec Choice Script. Nous pouvons trouver dans les productions des récits très variés, beaucoup de littérature de genre (de la fantasy, de la science-fiction, du western…). Pour en citer quelques-unes :

La plupart de ces œuvres sont disponibles gratuitement, sur ordinateur, tablette ou téléphone intelligent.