Le texte est bien évidemment un élément important dans une fiction interactive, et une grande partie de votre source consistera en le texte que le joueur verra à l’écran. Voici donc un tutoriel simple consacré à cela. Il aura surtout l’air d’une liste pas très interactive, mais il présentera des éléments essentiels pour écrire un jeu avec Inform.

Les caractères impossibles à taper directement

Comme nous l’avons vu dans le tutoriel d’introduction à Inform 7, tous les textes qui seront affichés en jeu seront écrits entre guillemets droits. Il est possible d’y mettre à peu près n’importe quoi, à quelques exceptions près.

Les crochets

Dans les textes, ce qui est entre crochets est appelé une substitution et a une signification spéciale ; ce qui est entre crochet ne sera donc pas affiché littéralement. Un exemple est [si condition], que nous avons déjà vu auparavant.

Pour avoir un crochet dans son texte, il faut donc écrire ceci

	dire "[crochet]Ce texte est entre crochets.[crochet fermant]";

Les espaces insécables et les tirets

Les espaces insécables et les tirets dans la source sont convertis en espaces normales et en traits d’union, respectivement, à la compilation. Pour éviter ce comportement, deux substitutions sont créées par l’extension française : "[_]" pour une espace insécable, et "[--]" pour un tiret (plus précisément, un tiret cadratin).

Petit rappel sur l’utilisation de ces caractères :
Il faut des espaces insécables devant les points d’exclamation et d’interrogation, les deux-points, les points-virgules et les symboles d’unité, entre autres. Il en faut aussi après un guillemet ouvrant et avant un fermant.
Le tiret s’utilise dans les dialogues et séparer du texte du reste de la phrase. N’utilisez pas des traits d’union dans ce cas !

Les apostrophes

Il est impossible de taper des guillemets droits dans un texte, car Inform penserait qu’ils marquent sa fin. C’est pourquoi les apostrophes qui ne sont pas à l’intérieur de mots sont convertis en guillemets droits lors de l’affichage. Par exemple,

Instead of examining le panneau pour la première fois: 
	dire "Vous lisez l'inscription à voix haute[_]: «[_]Il est écrit 'Défense d'entrer'.[_]»

affichera :

>x panneau
Vous lisez l'inscription à voix haute : « Il est écrit "Défense d'entrer". »

Remarquons que les apostrophes sont restées dans « l’inscription » et « d’entrer », car elles se situent dans des mots.

Petit rappel concernant l’utilisation des guillemets :
En français, on utilise des guillemets en chevrons, comme ci-dessus. Les guillemets droits ne s’utilisent que lorsqu’il faut des guillemets de deuxième niveau (à l’intérieur d’autres guillemets, comme dans l’exemple).

Si jamais nous voulons forcer l’affichage d’une apostrophe, il existe la substitution "[']". Elle est rarement utilisée car, en français les apostrophes sont en général dans des mots.

Dire des valeurs

Il est possible d’afficher n’importe quel objet ou valeur dans un texte en le plaçant entre crochets :

Instead of jumping:
	dire "Vous sautez [9] fois sur le [chemin].".
[Il faut bien sûr qu'il y ait un objet appelé « chemin » dans le jeu.]

Ceci affichera « Vous sautez 9 fois sur le chemin ». Cela semble inutile comme cela, mais c’est parce que nous avons utilisé des valeurs fixes. Si nous ne connaissons pas à l’avance ce qui sera affiché, cela est très pratique. On pourrait par exemple afficher l’attaque de notre vieille connaissance le div :

La description du div est "Par un étrange pouvoir de clairvoyance, vous déterminez que le div a une attaque de [attaque du div]."

Ce qui est dans les crochets pourra être remplacé par « 4 », « 1 », etc., en fonction de l’attaque actuelle du div.

Ce genre de substitution peut être utile si le printed name d’un objet change en cours de jeu. Ainsi, "[chemin]" pourrait afficher « chemin » ou « chemin vers la crypte » si jamais on change son nom après que le joueur a visité la crypte.

Avoir le bon déterminant

Si l’on souhaite afficher le nom d’un objet n’étant pas connu d’avance, il suffit de précéder l’objet par le déterminant dans la substitution.

Instead of pushing un support:
	dire "[Le noun] est très bien ici.".

Le noun est l’objet concerné par l’action en cours, ici le support étant poussé.

Si le joueur pousse la table, cela affichera « La table est très bien ici ». S’il s’agit d’un bureau, alors ce sera « Le bureau ». Si le support possède un nom propre, alors le déterminant ne s’affichera pas.

Il est possible d’utiliser un déterminant indéfini (une, une, des) ou défini (le, la, les) ; Il est aussi possible d’utiliser à/au/aux et de/du, pour afficher la préposition sous la forme appropriée. Un dernier exemple :

Instead of taking une chose sur l' autel:
	dire "Une flamme émane [du noun], vous dissuadant."

Cela pourra afficher « de la statuette » ou « du saphir », par exemple.

Enfin, mettre une majuscule au déterminant dans la substitution permet d’avoir une majuscule au texte affiché.

Dans la substitution, utiliser le féminin, le masculin ou le pluriel revient au même. "[le noun]" ou "[la noun]" fera exactement la même chose, afficher le noun avec le bon déterminant, en fonction de s’il est masculin ou féminin. Vous pouvez donc choisir le genre qui vous paraît le plus naturel dans ces substitutions.

Les nombres en lettres

Il est possible d’écrire les nombres (et les heures) en toutes lettres. En effet, il convient de les écrire ainsi dans les textes, surtout si les nombres sont petits.

La description du div est "Le div a [attaque du div en lettres] point[s] d'attaque.".

"[nombre en lettres]" affiche donc le nombre en question en lettres. La substitution "[s]" affiche un « s » si le dernier nombre affiché est plus grand que 1, sinon elle n’affiche rien ; cela est très utile pour les pluriels.

Mise en forme du texte

Des sauts de lignes

Inform place automatiquement des sauts de ligne à certains endroits, afin de garantir une mise en page uniforme à travers une fiction interactive. Inform ajoute notamment un passage à la ligne après tout texte qui se termine par un point (normal, d’interrogation ou d’exclamation). Ainsi,

	dire "Salut"
	dire "Salut."

affichera « SalutSalut. » sans passage à la ligne entre les deux car le premier texte ne se termine pas par un point.

Ceci est important ! Si vous tapez une espace après vos points à la fin d’un texte, il n’y aura pas de saut de ligne car le dernier caractère affiché n’est plus un point !

Il est possible d’ajouter manuellement des passages à la ligne avec la substitution "[à la ligne]" et des sauts de paragraphes avec "[saut de paragraphe]".

Il existe d’autres substitutions moins utilisées concernant les sauts de ligne ; vous pourrez en savoir plus dans la section 5.8 du manuel.

Des styles de caractères

Pour finir, les substitutions permettant de changer le style du texte.

"[gras]" permet de mettre le texte qui suit en gras, "[italique]" permet de mettre le texte qui suit en italique et "[romain]" permet de le mettre en romain, c’est-à-dire en lettres « normales », par défaut, et d’ainsi annuler le gras et l’italique.

De plus, il est possible d’utiliser une police à largeur fixe avec (sans surprise) "[largeur fixe]" et d’annuler cet effet avec "[largeur variable]".

Il est impossible de combiner ces effets (comme de l’italique en gras), mais il est possible de définir d’autres styles afin de changer la couleur, l’indentation ou autre avec l’extension Glulx Text Effects incluse avec Inform.

Conclusion

Nous arrivons à la fin de ce tutoriel. Nous avons couvert les substitutions les plus communes mais, si jamais vous souhaitez approfondir le sujet, vous pouvez aller lire le chapitre 5 de la documentation. À la prochaine !