[Tablesmith] les bases

Dans cet article, nous allons parler de la création d’une table pour Tablesmith (voir cet article pour plus d’info sur le logiciel) en décryptant la table Blasons traditionnels.tab téléchargeable .

Les tables Tablesmith sont des fichiers .tab modifiables avec un simple éditeur de texte.

La table Blasons traditionnels.tab a pour but de générer aléatoirement des armes. Elle a été codée grâce aux règles proposées dans le livre de base du jeu de rôle Trône de Fer. Il s’agit ici simplement d’automatiser le processus, et de pouvoir, à la volée, décrire le blason d’un pnj rencontré par hasard. Le terme traditionnel vient du fait que ce sont les règles d’héraldique française qui ont été prises en compte et non l’héraldique plus laxiste du Trône de Fer.

Passons aux choses sérieuses.

Extrait du début de la table:

#Blasons établis selon les règles d'héraldique traditionnelle

:Start
1,{Cap~[Type de Charge]}

:Type de Charge
1-2,[Partitions] 3,[Emaux] [Plantes] [Couleur brochante sur émail] 4,[Métaux] [Plantes] [Couleur brochante sur métal] 5-6,[Emaux] [Animaux] [Couleur brochante sur émail] 7-8,[Métaux] [Animaux] [Couleur brochante sur métal] 9, [Emaux] [Pièces] [Couleur brochante sur émail] 10,[Métaux] [Pièces] [Couleur brochante sur métal] 11-12, [Rebattements] 13,[Emaux] [Objets] [Couleur brochante sur émail] 14,[Métaux] [Objets] [Couleur brochante sur métal]

:Métaux
1,d'or
2,d'argent

:Emaux
1,de gueules
2,de sinople
3,de sable
4,d'azur

Tablesmith (abrégé TS désormais) fonctionne selon un système de groupes. Chaque groupe possède un nom et des entrées. Pour dire au logiciel que l’on crée un nouveau groupe, on commence à la ligne par deux points suivis du nom du groupe. Dans l’exemple ci-dessus, nous avons quatre groupes: Start, Type de Charge, Métaux, et Emaux.

Une ligne qui débute par un dièse (#) désigne une ligne de commentaire. Aucun code ou information sur cette ligne n’aura d’influence sur le logiciel. Lorsque l’on se penche sur des tables assez complexes, il est important de bien commenter son code, car si on le laisse de côté et qu’on le reprend six mois plus tard, on peut très vite être perdu.

Le groupe Start est le plus important d’une table. Il est indispensable. C’est lui qui dit au logiciel de lancer l’action et de commencer à générer la table que l’on souhaite. L’ordre dans lequel vous écrivez vos groupes dans le fichier .tab n’a pas d’importance mais il sera plus simple de trouver votre groupe Start au début du fichier que perdu au beau milieu.

Le nom d’un groupe est sensible à la casse et prend en compte les caractères spéciaux (comprendre: attention aux majuscules et les accents sont acceptés): Français, français, francais et Francais seront considérés comme quatre groupes différents. C’est une source de bugs assez fréquente.

Les entrées sont les différents résultats possibles d’un groupe. Un groupe peut avoir entre une et un nombre illimité d’entrées. Chaque entrée commence par un chiffre suivi d’une virgule puis de sa valeur (en lettres, chiffres ou suite de fonctions, aucune contrainte).

Les entrées peuvent être équiprobables, c’est-à-dire avoir la même probabilité d’être choisie par le logiciel, ou être pondérées. Le groupe Emaux est un exemple d’entrées équiprobables, et le groupe Type de charge un exemple d’entrées pondérés.

Un nom de groupe placé entre crochets indique au logiciel d’aller faire un jet sur le groupe en question. Dans le groupe Type de Charge, si le logiciel tire un 1 (ou un 2), il ira voir le groupe Partitions. Le résultat sur la table Partitions deviendra le résultat 1 du groupe Type de Charge. Ce principe est le base de la création de table pour TS. Vous pouvez imbriquer les renvois de groupes autant que vous le voulez. Dans le groupe Type de Charge, un résultat de 3 ira chercher dans les groupes Emaux, Plantes et Couleur brochante sur émail.

Il ne faut pas perdre de vue que TS a pour but de générer des résultats aléatoires, pas seulement un. Il lancera le groupe Start autant de fois qu’indiqué dans le logiciel (vous savez, le chiffre à côté du dé). Les résultats ne sont stockés nulle part. Tout appel d’un groupe génère un résultat aléatoire sur ce groupe.

Poursuivons notre décryptage avec notre première fonction. Une fonction est un mini-programme que le logiciel est paramétré pour reconnaître. Il en existe un grand nombre. Si vous avez fait un peu de tableur, cette notion doit vous être familière. TS a ses propres fonctions, les lister toutes serait fastidieux, je vous renvois donc à l’aide en ligne du logiciel qui les détaille (en anglais).

Nous allons voir ici une fonction bien pratique pour un rôliste: la fonction Dice qui génère un lancer de dé.

Extrait de la table Blasons traditionnels.tab:

: Pièces
1, à {Dice~1d6} cyclamore(s)
2, à une divise
3, à une bande
4, à une barre

Dans le groupe Pièces,si le logiciel sort l’entrée 1, il lance un dé à six faces (abrégé 1d6) qui indiquera le nombre de cyclamores présents sur le blason.

Il est important de se souvenir de ceci: le logiciel ne génère pas l’ensemble des résultats possibles avant d’en choisir un (ça mangerait trop de ressources du pc) mais il choisit une entrée et applique ce qu’elle lui dit: calculer une fonction, afficher un résultat numérique ou du texte. Ce n’est qu’après avoir choisi l’entrée qu’il va calculer le nombre de pièces. S’il sort le résultat 3, il n’y aura aucun lancer de dé.

Enfin, voyons le groupe Start que j’avais laissé de côté jusqu’ici:

:Start
1,{Cap~[Type de Charge]}

{Cap~machin} est une fonction permettant de mettre une majuscule à machin. Vous pouvez l’oublier. Je l’ai mise car je suis un peu maniaque sur le rendu des résultats et je trouvais ça moche sans majuscule en début de phrase.

J’aurais pu m’éviter la peine de de créer un groupe supplémentaire appelé Type de charge et mettre ses entrées dans Start. Ça aurait donné exactement les mêmes résultats. Mais j’ai pris l’habitude de séparer les « bases de données » et l’endroit où je donne les instructions au logiciel. Je trouve que ça facilite la lecture et la compréhension, tout en me permettant de soigner le rendu.

Voilà, vous savez comment fonctionne la table Blasons et êtes désormais capables de la reproduire. Je vous invite à jouer avec ces différentes fonctionnalités, à regarder la table Blasons maintenant que la comprenez.

Résumé des éléments abordés:

  • :Start est le groupe qui donne l’instruction au logiciel de générer un résultat.
  • Une ligne commençant par un dièse permet d’insérer un commentaire.
  • Pour faire appel au groupe Machin, on le met entre crochets: [Machin]
  • Groupe équiprobable:
  • : Pièces
    1, à une cyclamore(s)
    2, à une divise
    3, à une bande
    4, à une barre
  • Groupe pondéré:
  • : Pièces
    1-5, à une cyclamore(s)
    6-7, à une divise
    8, à une bande
    9-13, à une barre
  • La fonction Dice permet de simuler un lancer de dé: {Dice~nombrededésdnombredefaces} ex: {Dice~3d8} (3dés à 8 faces)

Laisser un commentaire