Dans nos tutos Twine et ink (et Inform), on a évoqué comment déclarer des variables, modifier leur valeur et faire des tests. Mais ce dont on n’a pas parlé, c’est : « pourquoi est-ce que les variables sont intéressantes ? À quoi ça sert ? » Pour certains d’entre vous, ça peut vous paraître évident, surtout si vous êtes un programmeur et que vous avez déjà manipulé des variables. Mais rembobinons un peu, c’est loin d’être un sujet inintéressant.

Un monde sans variables ?

Prenons l’exemple d’un livre-jeu (comme les livres dont vous êtes le héros) sans aucune variable. J’ignore s’il en existe beaucoup, mais un équivalent pourrait être un Twine très simple, ou un Readiktion. Ceci veut tout simplement dire que toute l’action et toute l’information est contenue dans les paragraphes ; pas besoin de papier ou de crayon pour le joueur.

Si vous proposez deux choix, vous avez deux paragraphes en plus, ou deux nœuds si vous considérez l’arbre correspondant à la structure de votre jeu. Et comme un paragraphe a forcément des choix à la fin, vous allez devoir écrire de plus en plus de nœuds ; vous pouvez alors finir avec un arbre très touffu, avec beaucoup de paragraphes à écrire pour relativement peu de profondeur ; c’est ce que Sam Kabo Ashwell appelle une structure de time cave. C’est beaucoup de travail, et toutes les fins sont différentes, donc c’est un cauchemar pour l’auteur (mais sans doute chouette pour le lecteur). Ou alors vous coupez certaines branches pour les faire terminer prématurément, avec le fameux « allez au 13 » qui signifie la mort ; à l’extrême, vous pouvez par exemple avoir une structure de « tournoi » (« le gantelet », en anglais, comme dit Sam Kabo Ashwell), une série d’épreuves qu’il faut réussir sous peine de mourir.

Une autre stratégie pour réduire le nombre de branches et de paragraphes à écrire est tout simplement de faire en sorte que certains chemins (voire tous, dans des cas extrêmes !) se rencontrent en un point. Mais si vous n’avez aucune variable ou information extérieure au paragraphe où la confluence se fait, ce paragraphe est le même quel que soit le chemin emprunté. Ceci peut être décevant pour le lecteur : quels que soient les choix, la difficulté du chemin, les épreuves rencontrées, on tombe sur exactement la même chose et le même paragraphe. C’est de plus pas évident pour l’auteure du livre-jeu : le paragraphe ne peut pas faire référence au passé du joueur, et doit être suffisamment générique pour s’appliquer à tous les chemins qui y mènent.

Les variables, euh, varient

On est donc au point où de multiples chemins mènent à la même situation, par exemple, une séquence finale avec combat contre le grand méchant. On a un seul paragraphe, un seul texte quel que soit le chemin emprunté ; on ne peut pas compter dessus pour créer des variations. Par contre, l’ajout de variables peut créer des situations intéressantes et variées, même si le texte est le même. Un joueur qui n’a plus que 3 points de vie va transpirer en lisant ce paragraphe, plus qu’un qui en a 40 car il a choisi un chemin différent. Ou peut-être que l’un arrive à la séquence finale avec 0 potions de santé alors qu’un autre y arrive avec 0 potions de magie. Ou alors, l’un a pris le chemin du Chevalier et a un niveau 10 en Force, tandis que l’autre a pris le chemin du Voleur et a 10 en Agilité ; ils n’auront pas les mêmes stratégies et les mêmes choix dans cette séquence. Ces statistiques chiffrées ont évolué pendant les péripéties, et les chiffres finaux sont influencés, parfois grossièrement, par les chemins choisis. Ce sont donc des variables, et elles créent de la variation sans que le texte ne change forcément !

Les variables numériques du genre « points de vie », « points d’expérience », etc. sont très souvent associées au jeu de rôle et aux livres-jeux, surtout médiévaux-fantastiques ; mais elles sont très utiles et apparaissent dans la grande majorité des livres-jeux, quels que soient les thèmes. En général, il y a une « fiche de personnage » au début du livre, et la lectrice compte et met à jour les variables elle-même, avec une gomme et un crayon à papier. Les variables et autres capacités sont assez différentes selon le genre, et certaines sont particulièrement inventives. On peut également assimiler la tenue et gestion d’un inventaire comme la mise à jour de variables, bien entendu — c’est la même chose !

Une autre façon d’utiliser des variables est non pas de simplement les laisser influencer le joueur, qui les gère et les prend en compte dans le choix de la stratégie, mais les laisser affecter directement les choix possibles. Concrètement, la possibilité ou non de faire un choix dépend de votre passé : par exemple, « si vous avez rencontré le moine, allez en 241, sinon en 132 », où le fait d’avoir rencontré le moine est vrai ou faux selon ce que vous avez fait avant. Cependant, dans un livre-jeu, ce genre de choix ne saurait être trop manichéen, car le joueur peut tout à fait tricher et prendre le chemin qui l’arrange. C’est d’ailleurs vrai pour les statistiques précédentes : combien de fois ai-je trafiqué le résultat d’un combat parce que je ne voulais pas recommencer du début… Par contre, dès qu’on passe sur ordinateur, on ne peut plus tricher, car c’est l’ordinateur qui gère les variables et vous interdit d’y toucher.

La plupart des variables seront des variables numériques : des points de vie, des niveaux de compétence, des scores qui évaluent la qualité d’une relation (comme dans les Sims), etc. Le plus simple, c’est d’utiliser des entiers ; les nombres à virgule ne sont pas plus utiles, et ne sont jamais que des entiers que vous avez décidé de diviser par 100 ou 1000 (et qui peut dire qu’il y a une différence notable entre une capacité Force à 16,34 ou à 16,33, à moins que vous vouliez écrire des variations pour chaque centième de point…).

De par leur nature numérique, les fictions interactives à embranchements (ou livres-jeux numériques donc) offrent aussi beaucoup plus de possibilités. Le nombre de variables peut être beaucoup plus important que sur un livre-jeu papier, car il y a des limites à ce qu’on peut demander à un joueur, mais pas à un ordinateur. De plus, comme les variables sont cachées, le joueur peut être surpris par ce qui a été gardé en mémoire et qui influence ce qu’il est en train de lire. Enfin, à l’opposé de paragraphes fixes imprimés, le texte d’une FI numérique peut s’adapter en fonction de variables, que ce soit pour rappeler un événement passé que le joueur a rencontré sur son chemin, pour varier le texte de façon aléatoire, ou pour donner des possibilités de personnalisation du jeu.

Cette dernière possibilité mérite qu’on s’y attarde. Il y a beaucoup de variables qui sont numériques ; mais un ordinateur peut aussi se rappeler de chaînes de caractère (des morceaux de phrase) et les utiliser au moment opportun. C’est ainsi qu’une FI vous permettra de choisir votre nom, votre genre, votre signe distinctif, votre couleur de cheveux, votre chapeau, et faire qu’un personnage s’exclame : « Ah ! C’est toi ! Je reconnaîtrais ce perroquet et cette jambe de bois entre mille, sans parler de ton bicorne ! Azalée la Rousse, tu vas payer ! » pour certains joueurs, ou « Ah ! C’est toi ! Je reconnaîtrais ce rire entre mille, sans parler de ton perfecto ! Akim le Blond, tu vas payer ! »

Cette personnalisation peut être poussée à l’extrême dans une FI ; elle est aussi présente dans d’autres jeux vidéo (pensez à ce bon vieil écran de customisation de votre Sim), mais ne coûte pas très cher en graphisme dans le cas de la FI, et permet une identification très forte avec le personnage principal. C’est la stratégie adoptée par Choice of Games, où l’on peut choisir le nom, le genre, l’orientation sexuelle, la couleur de peau, les intérêts, la phrase préférée, etc. de son personnage ; c’est du boulot si on veut faire varier le contenu en fonction de tout ça, mais leurs fans sont ravis de pouvoir choisir cette personnalisation.

Dis, Joe, quand est-ce qu’on branche ?

Je termine cet article par un tour d’horizon succinct (le sujet mériterait un article entier…) d’une méthode intéressante pour la conception de grandes FI à choix multiples. C’est une méthode popularisée par Choice of Games, reprise par d’autres, qui s’appelle la méthode du delayed branching.

Concrètement, la technique de l’embranchement retardé (il faut bien un nom en français) consiste à faire des grandes variations, mais pas maintenant, plutôt à un point spécifique. Le plus simple pour l’expliquer, c’est avec la notion de chapitre, comme dans les Choice of Games : un chapitre se lit en 10-15 minutes, et à la fin de chaque chapitre, vous avez des choix importants, qui ne vous amèneront pas sur les mêmes chapitres suivants. Ces choix sont déterminés par ce que vous avez fait avant : quels choix vous avez fait à l’intérieur du chapitre (effets de vos choix les plus récents), et où en sont vos statistiques (accumulation d’effets de choix plus anciens — synthétisés dans des variables numériques, donc).

Par exemple, dans Slammed!, leur fiction interactive où vous incarnez un catcheur (et un de leur meilleurs jeux !), le chapitre 5 est consacré à votre participation à une télé-réalité qui vous permettra d’accéder à la grande fédération de catch. À la fin du chapitre, plusieurs possibilités : soit vous gagnez un défi d’immunité, soit vous gagnez un défi de rattrapage (dans les deux cas vous êtes promus, mais votre popularité sera boostée dans le premier cas), soit vous perdez et vous êtes viré, et vous languissez dans un bar. Pour gagner les défis, il faut que vous choisissiez la bonne stratégie, mais aussi que vous ayez les bonnes stats (de la force pour le défi de force, ou du charisme pour le défi verbal, etc.) ; ces statistiques sont une conséquence des choix que vous avez fait dans les chapitres 1 à 4 pour votre personnage, mais aussi de ce que vous avez choisi comme entraînement pendant le chapitre 5. De plus, pendant ce chapitre, il y a quelques scènes qui ont l’air relativement secondaires (romance avec Evelyn, trouver le saboteur), mais qui pourront avoir des conséquences dans des chapitres suivants, et potentiellement vous faire accéder, ou non, à des chapitres différents. Tout ça, en faisant évoluer quelques variables au fur et à mesure du jeu ! (Pour un autre exemple, on peut citer aussi Choice of Robots, qui se fonde sur les caractéristiques de votre robot, votre relation avec le gouvernement américain, et les événements extérieurs pour savoir si vous pouvez vous battre ou si vous devez déménager au Canada. Jouez à ces jeux, ils sont très chouettes !)

Choice of Games va plus loin : vous avez la possibilité de rendre un choix possible, ou non, ou de le faire apparaître mais barré, insélectionnable. Avec ce dernier, vous signalez ainsi à la joueuse qu’il y aurait pu avoir une autre possibilité si, par exemple, sa Popularité était plus haute. En tant qu’auteur, on peut se poser la question de l’équilibre entre rendre un choix barré (pour pousser le lecteur à refaire différemment plus tard pour débloquer ce choix) ou invisible (le lecteur ne sait même pas qu’il existe à moins de faire le bon truc) ; je vous renvoie à l’article d’Emily Short à ce sujet !