J’ai récemment repris un projet que j’avais laissé en désuétude : la célébration des innovations de game design dans le jeu de rôle. Auparavant, j’avais inclus cette dimension dans la frise chronologique TTTTRPG (Timeline Tree of Tabletop Role-Playing Games). J’ai décidé de l’extraire de cette frise et d’en faire une ontologie séparée.
Ontologie
De manière plus détaillée, une ontologie est un système structuré pour représenter et organiser des informations d’un domaine spécifique. Elle ne se contente pas de lister des éléments ; elle établit des relations claires entre eux, créant ainsi un cadre pour la compréhension et le raisonnement. Dans notre cas, cette ontologie va reposer principalement sur deux éléments :
Une taxonomie, c’est à dire une liste hiérarchique de concepts. de classes et de multiples niveaux de sous-classes. Ces classes représentent des idées théoriques ou des concepts abstraits. Ce sont des “constructions mentales” qui n’existent pas physiquement, mais qui nous aident à catégoriser le monde. Sous chaque classe, il y aura des niveaux de sous-classes de plus en plus spécifiques. Cette structure arborescente permet une classification précise et une navigation logique à travers les concepts.
Une liste d’individus, c’est-à-dire les éléments concrets du monde qui seront indexés (décrits) avec un ou plusieurs liens, chaque lien pointant vers une classe. Contrairement aux classes, qui sont des abstractions, les individus sont des entités tangibles ou spécifiques.
Dans cet exemple, la taxonomie va représenter tous les types de game design, ou plus largement tous les ludèmes (des bouts d’éléments de jeu). Les individus seront les game designs spécifiques et intéressants de jeux notables. Le nom du jeu est ajouté entre parenthèses après le label du game design.
Exemples :
Le ghost die de Ghostbuster (1986) est une instance de la sous-classe side die et de la sous-classe die with special icon(s).
Le fait de changer d’alignement en cas de situation de famine dans Dark Sun (1991) est une instance de la sous-classe food ressource management, de la sous-classe alignment change, et de la sous-classe players lose control of character.
Mon erreur du mois passé
J’ai commencé à construire une énorme taxonomie de classes et de sous-classes qui intégraient AUSSI les game designs de certains jeux DANS l’arbre des classes (souvent en bout/fond de sous-classes). Au lieu de séparer ceux-ci comme expliqué précédemment. Dans cette organisation, les individus étaient les jeux.
Extrait de l’ontologie erronée dans WebProtégé
Ce n’est pas complètement mauvais en soi, mais cette organisation de connaissance a des limites :
dans le cas où un game design a de multiples dimensions (comme pour la faim mentionné précédemment), alors il faut en choisir une seule. Certes, il est toujours possible de faire en sorte qu’une sous-classe ait plusieurs parents, mais ce n’est pas très élégant.
Si on envisage de recenser de manière exhaustive tous les jeux de rôle et leurs mécaniques de game design, il est crucial de ne pas surcharger la taxonomie de classes avec une granularité excessive. Tenter de créer des classes pour chaque élément de game design spécifique pourrait transformer la taxonomie en un « arbre surchargé », potentiellement trop lourd et difficile à gérer.
TTTRPG_ontologie-erronee.owl : organisation erronées des données au format RDF/XML. Elle peut être chargée dans WebProtégé (service en ligne simple et gratuit) ou Protégé (logiciel plus avancé et gratuit/libre).
ontology_formatter_rdf_owl_to_html_tree_with_individuals.py : un script python pour transformer ce fichier dans un fichier HTML lisible :
owl_class_tree_with_individuals.html
change-owl.py : un script python pour transformer cette ontologie dans une ontologie plus satisfaisante (à beaucoup retravailler mais sur une bonne base). Elle a été conçue en dialoguant avec Claude 4 de Anthropic. Le prompt est inclus dans le script.
« Bye bye ontologie erronée »
Comment concevoir une (bonne) ontologie de game designs ?
La clé est de trouver un équilibre. Il est préférable de maintenir une taxonomie plus générale et abstraite, en se fiant aux individus à indexer en parallèle. Chaque élément de design de jeu de rôle (un individu) pourra être décrit avec des liens précis vers les classes pertinentes de la taxonomie. Par exemple, plutôt que de créer une classe pour chaque type de dice pool utilisé, on pourrait avoir une classe plus générale dice pool, voire une ou deux sous-classe (linear dice pool, non linear dice pool) et laisser la description de l’individu spécifier le type de dé utilisé.
Cette approche permet de conserver une taxonomie claire et gérable, tout en offrant la flexibilité nécessaire pour capturer les détails spécifiques de chaque jeu de rôle via les liens entre la taxonomie et la liste des individus.
Créer une taxonomie de classes et de sous-classes
C’est à dire, créer une liste hiérarchique de concepts permettant de décrire, classer, rassembler, qualifier les différents éléments de game design existants.
Voici un aperçu de cette taxonomie dans WebProtégé :
Exemple de taxonomie avec classes et sous-classes
Idéalement, il faut que chaque élément plus spécifique (enfant) ait un seul élément plus générique (parent) parce que cela garantit une structure hiérarchique claire et évite les ambiguïtés dans l’héritage des propriétés et des relations. De manière générale, je pense que c’est un signe que le découpage est bien pensé et structuré car cela force à factoriser les idées dans différentes catégories séparées et à faire des choix. De plus, ne pas oublier qu’un individu peut avoir plusieurs classes.
Dans une ontologie, une sous-classe acquiert par héritage l’ensemble des caractéristiques (propriétés) et des définitions (axiomes et concepts) de ses classes parentes (ou super-classes). Par exemple : moral mechanics possède les attributs de character mechanics, lui-même possédant les attributs de game mechanics.
Indexer une série d’individus
Chaque individu est d’un ou de plusieurs Types, issus d’une classe ou d’une sous-classe.
Pour le moment, il y a un seul genre d’individu : les game designs. Pour le moment, les noms des jeux associés sont codés comme une chaîne de caractères entre parenthèses dans le label de l’individu.
Exemple : Ghost die (Ghostbusters)
Exemple d’individu
Inconvénients
Outre qu’il me faille tout réindexer, le fait de séparer les game designs spécifiques dans des individus ne me permet pas de tous les afficher ensemble et de faire des regroupements comme c’était le cas auparavant (dans le cas erroné). Même si c’est mieux pensé, j’ai l’impression d’une perte de contrôle car la visualisation des données ensemble est perdue. C’est sans doute pour ça que j’étais parti dans une piste erronée qui me donnait une impression de plus de contrôle sur l’ontologie générale.
Commentaires sur les IA génératives
Je trouve que Google Gemini est très bien pour générer des commentaires exacts sur les règles les plus connues des jeux de rôles notables (GURPS, D&D, CoC, etc.). Je ne sais pas si c’est aussi bon pour les jeux de niche. Inconvénient déontologique : cela invisibilise toutes celles et ceux qui ont fait des analyses, des critiques ou qui ont rédigé le texte des jeux.
Claude d’Anthropic est très bien pour générer du code informatique un peu complexe. Le script change-owl.py (voir plus haut) qui permet de transformer l’ancienne antologie erronée dans la nouvelle n’était pas gagné d’avance. Or ChatGPT de OpenAi n’a rien donné de bon après de nombreux essais. Claude d’Anthropic a donné un bon code avec presque les mêmes prompts en deux essais-erreurs. Je n’ai aucun conflit d’intérêt avec les produits mentionnés. Je n’ai utilisé que les versions gratuites.
À suivre
Une fois que la nouvelle ontologie et les individus sont stables, je vais partager le tout à nouveau dans une démarche de science ouverte. Ce sera fait dans des fichiers ouverts (probablement RDF/XML pour la structure complète et HTML pour la visualisation).
Dans mes rêves les plus fous, j’imagine que ce sera utilisé pour créer une grande base de données indexant les game designs de jeux de rôle. Dans une démarche de science participative ? Où plusieurs participant.es bénévoles contribueraient ? En intégrant tout ou une partie dans le Grog ou RPGGeek ou Wikidata ?
À ma connaissance, ce serait la première recension fine des mécaniques de jeux. Excitant!
J’ai récemment repris un projet que j’avais laissé en désuétude : la célébration des innovations de game design dans le jeu de rôle. Auparavant, j’avais inclus cette dimension dans la frise chronologique TTTTRPG (Timeline Tree of Tabletop Role-Playing Games). J’ai décidé de l’extraire de cette frise et d’en faire une ontologie séparée.
Ontologie
De manière plus détaillée, une ontologie est un système structuré pour représenter et organiser des informations d’un domaine spécifique. Elle ne se contente pas de lister des éléments ; elle établit des relations claires entre eux, créant ainsi un cadre pour la compréhension et le raisonnement. Dans notre cas, cette ontologie va reposer principalement sur deux éléments :
Dans cet exemple, la taxonomie va représenter tous les types de game design, ou plus largement tous les ludèmes (des bouts d’éléments de jeu). Les individus seront les game designs spécifiques et intéressants de jeux notables. Le nom du jeu est ajouté entre parenthèses après le label du game design.
Exemples :
Mon erreur du mois passé
J’ai commencé à construire une énorme taxonomie de classes et de sous-classes qui intégraient AUSSI les game designs de certains jeux DANS l’arbre des classes (souvent en bout/fond de sous-classes). Au lieu de séparer ceux-ci comme expliqué précédemment. Dans cette organisation, les individus étaient les jeux.
Ce n’est pas complètement mauvais en soi, mais cette organisation de connaissance a des limites :
Si on envisage de recenser de manière exhaustive tous les jeux de rôle et leurs mécaniques de game design, il est crucial de ne pas surcharger la taxonomie de classes avec une granularité excessive. Tenter de créer des classes pour chaque élément de game design spécifique pourrait transformer la taxonomie en un « arbre surchargé », potentiellement trop lourd et difficile à gérer.
Archive compressée contenant les 4 fichiers de cette étape erronée (dans une démarche de science ouverte) :
Comment concevoir une (bonne) ontologie de game designs ?
La clé est de trouver un équilibre. Il est préférable de maintenir une taxonomie plus générale et abstraite, en se fiant aux individus à indexer en parallèle. Chaque élément de design de jeu de rôle (un individu) pourra être décrit avec des liens précis vers les classes pertinentes de la taxonomie. Par exemple, plutôt que de créer une classe pour chaque type de dice pool utilisé, on pourrait avoir une classe plus générale dice pool, voire une ou deux sous-classe (linear dice pool, non linear dice pool) et laisser la description de l’individu spécifier le type de dé utilisé.
Cette approche permet de conserver une taxonomie claire et gérable, tout en offrant la flexibilité nécessaire pour capturer les détails spécifiques de chaque jeu de rôle via les liens entre la taxonomie et la liste des individus.
Créer une taxonomie de classes et de sous-classes
C’est à dire, créer une liste hiérarchique de concepts permettant de décrire, classer, rassembler, qualifier les différents éléments de game design existants.
Voici un aperçu de cette taxonomie dans WebProtégé :