- Sur les épaules des géants des nuages : Pratiques de citation dans les jeux de rôle sur table (JDR)
- Page principale du projet
- Visualisation de données avec Observable.hq
- Quel blogue de JDR cite lequel ? Moissonnage du web
- Les épigraphes, partie 2, partie 3.
- Wikidata > SPARQL > R Studio; Wikidata;
- Esperluettes, assonances & allitérations : Figures de style du nom Dungeons & Dragons
- Faire communauté en citant
- Mises en demeure et citations (Cease & Desist)
- Pourquoi citer ou ne pas citer ?
- Sur les épaules … (premier billet sur le sujet en 2018)
- TTTTRPG [Timeline Tree of Tabletop Role-playing games] : arbre phylomémétique et chronologique des JDR et de leurs innovations de game design.
- Projet principal
- Créer une ontologie de game designs
- Phylomémétique des jeux ?
- Dans l’exposition Donjons & Données probantes à l’UdeM
- Hommage à Greg Stafford
- 50 ans de Blackmoor
- JDR et éducation
- Bibliométrie
- Quarto ou R Studio ou JavaScript pour analyser une biblioth`èque de références Zotero
- JDR dans PubMed et dans PsycNet
- Divers
- Thesaurus Rex : un thésaurus documentaire pour structurer vos données sur les JDR
- Le JDR comme rituel d’hospitalité et d’invitation, ou comme questionnement et conversation, comme jeu des attentes
- Et si… le JDR avait été inventé avant 1971 ?
- Psychologie : Storytelling ; De-roling 1/ 2
- L’Enfer de Dante
- Faim, famine et cannibalisme
- Outils
- PDF en lot :
- Transcription audio en texte (Kdenlive)
Réseaux de citation des blogues de jeux de rôle
Un nouveau réseau de blogues de JDR vient d’être construit par elmcat. Dans son billet, Mapping the Blogosphere, elmcat explique son projet de web scraping, d’analyse et de diffusion des résultats sous la forme d’une superbe visualisation interactive.
Un format pour les rassembler tous
Son idée d’utiliser RSS pour obtenir des billets super-propre (sans bandeau, ni javascript, etc.) est brillante !
En effet, j’avais tenté de monter un projet semblable avec ObservableHQ pour l’aspect dataviz, combiné avec un mix de scripts Python, de wget et de httrack pour le web scrapping. Cependant, je me suis arrêté parce que le web scrapping était une tâche colossale, entre autre pour nettoyer les données de tout le code en trop. Je devrais m’y remettre en testant cette méthode RSS.
Et dans les ténèbres des hypothèses à former
Via Mastodon, j’ai demandé à elmcat quelques questions et hypothèses à tester.
Does citing inline (not blog roll) make a blog last longer? Produce more content ?
Traduction : est-ce que citer en créant des liens dans les billets de blogue (et non pas dans le bandeau de menu, ie. de manière générique) fait qu’un blogue dure plus longtemps ou produit plus de contenu ? En faisant l’hypothèse qu’une connexion communautaire rend les blogues plus durables ou productifs.
Does new bloggers cite more legacy bloggers compared to the avg bloggers, and to well established bloggers?
Traduction: est-ce que les jeunes arrivants dans le monde des blogues citent plus que les blogueurs moyens ou que les blogueurs réputés et bien établis ? En faisant l’hypothèse que l’on cite pour se connecter à un mouvement ou une personne, ou bien que l’on blogue en réponse à des idées exprimées auparavant ailleurs et pour lesquelles on veut prolonger la conversation.
Is there a curve/pattern of citing over time ?
Traduction : existe-t-il une courbe du nombre de liens vers d’autres blogues dans la vie d’un blogue. Par exemple, est-ce qu’on cite surtout au début, ou à la fin, etc.
Do citing somebody make you cited by them afterwards?
Traduction : est-ce que le fait de citer un billet de blogue fait que l’on sera cité en retour plus tard ? Est-ce que le fait de citer créé du lien et de la réciprocité ? Par exemple, brisons le 4e mur : je cite présentement elmcat et son projet mais je ne sais pas si je serai mentionné en retour.
Prospectives
Pour répondre à toutes ces questions, il faut non seulement avoir collecté et structuré les données, mais aussi disposer de méthodes d’analyse statistique que je ne maîtrise pas encore. Peut-être qu’elmcat offrira une partie de ces réponses.
En attendant, la première observation que suggère le graphe de citation des blogues est l’existence de plusieurs groupes, courants ou tendances au sein de l’OSR (les joueurs avec le style de jeu Old School Renaissance se sont beaucoup appuyés sur les blogues pour partager leurs expériences et innovations de jeu). De nombreux blogueurs se revendiquent de ce mouvement, mais le graphe semble plutôt révéler une grande diversité de sous-communautés qu’un ensemble homogène.
Créer une ontologie de game design (pourquoi faire?) 3/*
En lisant un fil sur Bluesky de Sergi Valverde sur l’évolution des logiciels, je me suis dis qu’il pourrait être fructueux de faire des parallèles avec l’évolution du game design des jeux de rôle sur table.
Comment ça?
Tout d’abord, l’étude de l’évolution des logiciels est très convaincante. Ceux-ci sont considérés un peu comme des systèmes vivants traversés et guidés par des forces évolutionnistes.
« we see the same evolutionary forces: imitation, recombination, competition, parasitism, symbiosis. » dans Sergi Valverde, Ricard V. Solé; Punctuated equilibrium in the large-scale evolution of programming languages. Journal of the Royal Society Interface 2015; 12 (107): 20150249. https://doi.org/10.1098/rsif.2015.0249
Loin de moi l’idée de maîtriser les concepts, ni même les bases, de l’analyse des systèmes complexes avec un angle évolutionniste mais je lance la réflexion. Cependant, je pense que l’étude des jeux de rôle peut grandement bénéficier de découvertes méthodologiques dans d’autres domaines et les importer avec prudence ou audace.
Habituellement, dans l’étude des systèmes complexes, il y a des graphes avec des relations entre beaucoup d’éléments et aussi plein de variables plus ou moins mesurées pour comprendre l’interaction entre les éléments.
Parallèles entre logiciels et JDR
Toutes les deux cultures ont de nombreuses similarités :
- Émergence et croissance dans les mêmes endroits du monde, dans des générations proches, voire avec une sociologie semblable des leurs acteurs.
- Conception de produits culturels basés sur des règles, des procédures, des recettes, des manières de faire.
- Co-existence d’un marché propriétaire et d’un marché « libre ou ouvert ».
- Inspirations, influences, mouvements, philosophies pratiques pour chacun des produits.
- Accès au corpus complet des jeux (leur ADN), voire leur indexation fine pour en tirer des métadonnées riches, tout comme le code informatique l’est pour les logiciels.
- Mêmes forces évolutionnaires mentionnées plus haut.
Ici, une autre étude fascinante de Valverde et al. qui étudie l’évolution des jeux d’arcade.
Valverde S, Vidiella B, Spiridonov A, Bentley RA. The cultural macroevolution of arcade video games: innovation, collaboration, and collapse. Evolutionary Human Sciences. 2025;7:e30. doi:10.1017/ehs.2025.10015
On y retrouve des tendances présentes dans la biologie : « diversification, collapse, persistence ». Selon leurs auteurs, les objets technologiques offrent une richesse de description plus faciles à obtenir que pour la biologie et ainsi tester des théories évolutionnistes. Par exemple, comme dans la nature, la puissance de calcul et la mémoire ROM des jeux d’arcade crééent des contraintes pour les jeux. Les clones de jeux peuvent expérimenter des stagnations alors que des collaborations entre éditeurs de jeux peuvent créer de l’innovation.
Ce qu’il faudrait faire
Pour analyser correctement ces tendances évolutionnistes, il faudrait :
- concevoir une ontologie (une organisation de l’information) décrivant les jeux et permettant une indexation fine des mécanismes de jeu.
- indexer les jeux selon cette ontologie
- le faire pour un échantillon représentatif de jeux (à constituer), voire à pondérer cet échantillon selon la notoriété du jeu
- mouliner les résultats selon des méthodes mathématiques que je ne maîtrise pas.
- (peut être) en tirer des conclusions.
- le plus difficile : absorber la littérature sur le sujet de l’évolution des objets culturels.
- Comprendre les concepts
- Vérifier lesquels pourraient être adaptés aux jeux de rôle sur table
- En créer de nouveaux ?
Ce qui a été fait
- J’ai commencé à concevoir une ontologie pour décrire les jeux de rôle sur table. Elle est décrite dans les deux billets précédents.
- J’ai aussi conçu un prototype en 2019 sous la forme d’une Timeline Tree of Tabletop Role-Playing Games.
- RPGGeek et le Grog contiennent chacun une base de données de jeux bien catalogués mais avec une indexation des mécaniques de jeu moins développée.
- J’ai tenté de créer un code python pour passer à travers des PDF de règles de JDR pour repérer les types de dés utilisés.
- J’ai versé dans Wikidata des jeux de rôles avec une indexation plus ou moins riche. A présent, j’ai surtout indexé les citations de chacun.
Pistes futures
- Option hors de portée car je n’ai pas la réputation ni la plateforme d’audience pour le lancer : il faudrait réaliser une indexation de tout le corpus à la main avec une armée d’indexeurs amateurs.
- Appliquer les traitements automatiques (comme pour les dés) pour d’autres éléments transversaux aux jeux de rôle :
- mentionnant un écran, une feuille de personnage, des caractéristiques, des compétences, etc.
- présence de tables dans les règles, ou ratio lettres/chiffres
- présence de noms exotiques
- etc.
- Selon moi ces éléments peuvent bénéficier d’une indexation numérique automatique valable. Peut être qu’un jour les LLM pourront indexer les game design avancés.
Créer une ontologie de game designs de jeu de rôle 2/*
Ce billet est la suite du précédent billet où je raconte la construction d’une ontologie des game design de jeux de rôles. Je diffuse quelques résultats de ce projet en construction.
Nouvelle ontologie
En même temps que je travaillais les relations hiérarchiques entre les classes de game design, je développai les individus pour voir si le système fonctionnait et ce qu’il fallait corriger.
Désormais, les classes sont plus compactes et je continue à les nettoyer pour les rassembler encore plus, car ce qui fait la force d’une classe c’est de rassembler des éléments autour d’elle. Pour ne pas d’aller trop dans la granularité, je travaille aussi sur leur hiérarchie en tentant de ne pas faire des hiérarchies trop profondes et donc trop forcées. En séparant mieux les individus des classes, la taxonomie est considérablement simplifiée avec une factorisation plus étalée des concepts. Je me suis fortement inspiré du travail de Guillaume et Thibault Rioult et leur modèle P.E.R.S.O. (1) pour décrire les briques de game design. Plus particulièrement je me suis servi de leurs découpages en opérateurs fonctionnels (« opérateur de substitution » , etc.).
Chaque individu est désormais un module/ brique/ innovation de game design d’un jeu de rôle en particulier.
- Ils ne sont pas exhaustifs par rapport à un jeu.
- Ils sont surtout notables.
- Il peut y en avoir plusieurs par jeu.
- Exemples d’individus : les moves de Apocalypse World, la sauvegarde de soi dans Eclipse Phase, etc.
Visualisations
Le tout est construit dans WebProtégé, exporté en RDF/OWL (un format XML). De ce format XML, je le mouline dans 3 scripts Python pour faire des visualisations simples. J’ai créé un repo dans GitHub avec une exportation récente du OWL et les scripts Python. Les visualisations en HTML (en lien et en aperçu ci-dessous) sont disponibles sur GitHub.io.
Exemples de toutes les classes imbriquées avec les individus les utilisant :

Exemples d‘individus avec classes :

Exemple d’individus avec classes et (parfois) description

IA gen : 1 avantage 3 problèmes
Pour certains individus, la description complète est placée dans un menu « Détails » déroulant (voir image ci-dessus). Elle a été générée automatiquement par l’intelligence artificielle générative de Google Gemini.
Avantage
Dans la plupart des jeux très connus, Google Gemini a produit un texte de qualité dont la principale utilité a été de servir, après sa lecture par moi, à compléter l’indexation avec des classes manquantes qui m’avaient échappées. C’est un gros avantage selon moi ET une utilisation plutôt éthique (quand elle est déclarée) puisque le texte généré vient en soutien à une tâche. Il ne la remplace pas ou se s’y substitue pas.
Problèmes
Cependant, dans certains cas de mécaniques ou de jeux nichés, Google Gemini a produit du bullshit, certes avec des subjonctifs (would, could,…) mais de manière formellement convaincante si on ne connait pas les jeux. Ci-dessous, un extrait d’une tentative manquée d’explication de ce qu’est la mécanique d’approbation dans Prosopopée de Frédéric Sintes.

De plus, la semaine passée, Google Gemini a poussé agressivement son algorithme dans la plupart de ses produits (Android, etc.) et cela m’a rajouté une couche supplémentaire de rejet vis-“`à-vis de cet outil en particulier.
Enfin, le gain de temps est plutôt marginal par rapport à la tâche d’aller visiter quelques sites web et de lire par soi-même des explications. De plus, ces outils invisibilisent le travail des auteurs et des critiques qui ont étudié les jeux. Pour contrebalancer ce dernier point, j’ai ajouté dans le fichier OWL de WebProtégé les liens vers des sources authentiques.
Champs RDFS, SKOS ou DC
Les champs peuvent suivre différentes normes pour décrire des données et des métadonnées. Elles sont spécialement adaptées pour le web sématique et les données liées. Dans un fichier RDF/OWL on peut rencontrer ces 3 normes pour décrire un élément. Pour chaque champ, la langue est codée en ISO 639 : fr, en, es, pt, …
rdfs:label
Taxonomie des classes : Le nom du game design en général commençant en minuscule. La forme textuelle doit être la plus courte et la moins ambigue possible.
Individus : Nom du game design, souvent sous une forme d’une phrase courte ou d’un titre. Commence par une majuscule. Suivi du nom du jeu entre parenthèses (les parenthèses sont des caractères réservés pour cet usage).
skos:altLabel
Synonymes du label.
skos:definition
Courte définition de une à trois phrases.
dc:description
Description complète au format MarkDown. Lorsque ce champ est renseigné, il est souvent issu d’un copier-coller de Google Gemini ou autre LLM si ces dernier ont produit une synthèse satisfaisante.
dc:source
URL ou référence bibliographique de la source d’information.
rdfs:seeAlso
Renvoi. Indique quel autre descripteur pourrait être utilisé en complément.
Apories restantes dans l’ontologie des classes
- La tentation est forte parfois de faire des doubles (ou triples) parents plutôt que de s’astreindre à un seul parent par sous-classe.
- Dice pool : est-ce que je créé deux sous-catégories linear dice pool et non linear dice pool ? ou je mets ces deux en dehors au cas ou il y aurait d’autres éléments linéaires et non linéaires ?
- Il faudrait que je trouve comment compter le nombre d’utilisation de chaque classe. Une classe utilisée une fois est peu pertinente.
- Est-ce que je sépare Magic dans une classe à part du reste ou je l’intègre dans les autres classes ?
- Dice mechanics : potentiellement profond + bien séparer les notions. Par exemple roll-under > roll under target number (une classe et sa sous-classe liée) devient : roll-under + target number (deux classes séparées à combiner si besoin).
- Bien écrire les labels des classes et des individus avec un vocabulaire contrôlé (à faire) :
- player character
- player
- gamemaster
- participants (P+GM)
- Bien décrire les définitions pour lever les ambiguïtés.
- Rédiger un dictionnaire des données.
Questions de recherche et hypothèses
- Est-ce qu’un individu indexé avec beaucoup de classes est un signe d’innovation, de fun, etc. ?
- Comment utiliser cette ontologie pour indexer un jeu au complet, plutôt que des briques d’un élément du jeu ?
- Comment aligner une partie de cette ontologie avec Wikidata ?
Références :
(1) Guillaume et Thibault Rioult, 2024, Interfaces ludiques entre système de jeu et fiction, outil de modélisation au service du game design au colloque « Le jeu de rôle a 50 ans. Et maintenant, que faites-vous ?… » à la Sorbonne.
Compter les publications académiques significatives en game design du jeu de rôle
Ce billet n’est pas une étude bibliométrique probante dans le sens où les résultats sont plus un compte-rendu d’exploration documentaire qu’une analyse systématique et complète de toute la littérature sur le sujet. Cependant, cette étude utilise des méthodes qui permettent de lui donner du crédit :
- Démarche ouverte :
- méthodes explicites et détaillées
- utilisation d’outils en libre accès
- Utilisation d’outils notables (Google Scholar, BASE search et OpenAlex sont des gros acteurs du domaine des bases de données de documentation universitaire).
- Étude sur un petit nombre de types de documents ; articles révisés par les pairs, thèses et mémoires, livres et chapitres d’éditions universitaires.
- Les résultats sont rassemblés et indexés dans une base de données spécialisée.
- Cette base est gérée par un bibliothécaire et un chercheur en ludologie depuis 2014.
- L’indexation est basée sur un thésaurus documentaire limité, mais fonctionnel et adapté, en deux niveaux.
- Le projet et quelques tendances sont expliquées ici https://pmartinolli.github.io/JDR50bibliometrie/ (NB: les graphiques ont été générés avant la réindexation, mineure, mentionnée plus bas).
Ce billet est un soutien aux arguments de Guillaume et Thibaut Rioult, présentés dans deux excellents épisodes de la Cellule, animés par Romaric Briand ; et dans le colloque « Le jeu de rôle a 50 ans. Et maintenant, que faites-vous ?… » :
- Podcast JDR : Le P.E.R.S.O, méthode au service des Jeux de Rôle, par Guillaume et Thibaut Rioult (Partie 1) : « (00:14:07) On s’appuie sur son travail et c’est pratique parce que Pascal a en plus fait le travail de taguer chaque article avec un certain nombre de mots clés qui permettent d’avoir en un coup d’œil le contenu. Et là, surprise! Parce qu’au final, sur les 2231 références, sur les références majeures il n’y en a que 5 sur le game design. (…) Il y en a un tout petit peu plus quand on prend tout mais globalement car reste totalement minime. (…) On a ce constat de dire qu’aujourd’hui, ce n’est pas ça qui intéresse les académiques.»
- Podcast JDR : Critiques du P.E.R.S.O, de Guillaume et Thibaut Rioult (Partie 2)
- Le modèle P.E.R.S.O. a d’abord été présenté au colloque « Le jeu de rôle a 50 ans. Et maintenant, que faites-vous ?… » à la Sorbonne en juin 2024 :
Exploration de 3 index généralistes universitaires
Google Scholar
Avantages :
- libre accès
- ratisse large
- gros volume de documents indexés (approx. 450 million)
- bien pour : explorer un sujet ou compléter une recherche
Inconvénients (2025) :
- indexation peu fine (recherche sur titre ou full text seulement)
- aucun critère d’inclusion ou d’exclusion
- impossibilité d’aller au-delà de la page 100 (donc 1000 résultats max.)
- recherche sémantique (par proximité) court-circuite la recherche booléenne stricte : les résultats sont parfois non prédictibles ou non-reproductibles.
- il n’est donc pas recommandé de faire des déclarations «probantes» à partir de résultats de Google Scholar.
| Syntaxes utilisées | Résultats | Commentaires |
|---|---|---|
| “game design” | 334,000 | |
| “game designs” | 10,400 | |
| “game design” OR “game designs” | 17,700 | Non predictible, non reproductible, donc non représentatif. Il devrait y en avoir plus (addition approximative des deux lignes précédentes) |
| TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role” | 31,300 | |
| “game design” TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role” | 2,920 | |
| “game designs” TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role” | 259 | |
| “game design” OR “game designs” TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role” | 2,940 | AND implicite avant TTRPG Non predictible, non reproductible, donc non représentatif. |
BASE Search
Avantages :
- libre accès
- gros volume de documents indexés (approx. 400M)
- recherche booléenne stricte : prédictible et reproductible
- indexation fine (recherche sur titre, résumés et mots-clés)
- critère d’inclusion ou d’exclusion
- bien pour : explorer un sujet ou compléter une recherche
Inconvénients (2025) :
- peu de représentativité du sujet
- inclusion de billets de blogues de recherche
- pas de recherche en plein texte
- il n’est donc pas recommandé de faire des déclarations «probantes» à partir de résultats de BASE search.
| Syntaxes utilisées | Résultats | Commentaires |
|---|---|---|
| “game design” | 20 408 | |
| “game designs” | 440 | |
| “game design” OR “game designs” | 20 646 | prédictible et reproductible |
| TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role” | 602 620 | |
| “game design” AND ( TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role”) | 82 | |
| “game designs” AND ( TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role”) | 2 | |
| (“game design” OR “game designs” ) AND ( TTRPG OR “tabletop role-playing games” OR “D&D” OR “jeux de role” OR “jeu de role”) | 156 | prédictible et reproductible |
OpenAlex
Avantages :
- libre accès
- gros volume de documents indexés (approx. 250M)
- recherche booléenne stricte : prédictible et reproductible
- critère d’inclusion ou d’exclusion
- bien pour : faire de la bibliométrie (dans des domaines bien couverts, le domaine du jeu n’est pas bien couvert)
Inconvénients (2025) :
- peu de représentativité du sujet
- pas de recherche en plein texte
- en raison du manque de documentation sur le game design, il n’est pas recommandé de faire des déclarations «probantes» à partir de résultats de OpenAlex. Espérons qu’un jour ce sujet soit aussi bien indexé que la neuroscience, par exemple.
| Syntaxes utilisées | Résultats | Commentaires |
|---|---|---|
| “game design” | 13 470 | |
| “game designs” | 415 | |
| “game design” OR “game designs” | 13 750 | prédictible et reproductible |
| TTRPG OR “tabletop role-playing game” OR “tabletop role-playing games” OR “jeux de role” OR “jeu de role” | 922 | “D&D” ne fonctionne pas prédictible et reproductible |
| “game design” AND ( “tabletop role-playing game” OR “tabletop role-playing games” OR “jeux de role” OR “jeu de role”) | 21 | |
| “game designs” AND ( “tabletop role-playing game” OR “tabletop role-playing games” OR “jeux de role” OR “jeu de role”) | 1 | |
| (“game design” OR “game designs” ) AND (“tabletop role-playing game” OR “tabletop role-playing games” OR “jeux de role” OR “jeu de role”) | 21 | prédictible et reproductible |
Résultats des recherches
- Le sujet des “mechanics” peut être abordé dans le texte des références présentées en résultat. Cependant, les mécaniques de jeu sont souvent mentionnées de manière superficielle (évoqué, cité, utilisé,…) mais elles ne sont pas expliquées, ni comparées, ni détaillées, ni commentées, ni critiquées.
- Le nombre de fois où les “mechanics” est le sujet principal d’une étude est faible.
- Il y a de nombreux faux-positifs (résultats de recherche non pertinents pour la requête saisie).
- Toutes les références pertinentes pour le jeu de rôle sur table avaient déjà été repérées et versées dans la base de données Zotero partagée academicTTRPG
- J’ai fait une réindexation de la base Zotero pour repêcher des références existantes qui n’avaient pas le marqueur _mechanics (voir plus bas).
- Depuis des années, des alertes ont été créées dans Google Scholar et OpenAlex pour suivre le jeu de rôle sur table en général dans ces bases de données. Régulièrement, les documents pertinents sont versés dans la base de données Zotero partagée.
Réindexation de la base de données Zotero
Base de données Zotero partagée academicTTRPG
Pour certaines catégories de documents, j’ai réindexé la base de données Zotero pour tenter d’attribuer le marqueur _mechanics à des références qui m’auraient échappées.
Méthode : recherche dans les métadonnées des termes mechanics, rules, resolution. J’ai parcouru les résultats avant de choisir d’attribuer le marqueur _mechanics. 153 références ont été automatiquement repérées.
Le critère pour obtenir le marqueur _mechanics est: « en utilisant ce marqueur est-ce qu’on trouve le document pertinent pour une recherche d’information sur les mécaniques de jeu ». Ainsi, ce n’est pas parce que le document parle de mécaniques de jeu qu’il est automatiquement pertinent. Il faut que le sujet soit discuté et non simplement mentionné.
Voici le résultat de la réindexation :
| Type de document | Nombre de ref. avant réindexation | Nombre de ref. après réindexation |
|---|---|---|
| Articles révisés par les pairs | 17 | +6 |
| Livres | 5 | +2 |
| Chapitres | 13 | +4 |
| Mémoires et thèses | 5 | +15 |
Mon commentaire :
- La recherche sur le game design dans le jeu de rôle est peu visible et peu représentée dans les publications universitaires classiques et plus généralement dans la conversation scientifique.
- Les thèses de doctorat et les mémoires de maîtrise semblent être les seuls formats de document qui contiennent des discussions approfondies et argumentées sur les mécaniques de jeu. C’est probablement parce que leur nombre élevé de pages et l’importance accordée aux détails favorisent mieux l’exploration et l’expression des mécaniques de jeu, même lorsque celles-ci ne sont pas le thème central de l’étude.
- La conversation principale sur le game design se fait principalement par la communauté des pratiquants du hobby via des publications spécialisées (livres, articles de magazines, billets de blogues, discussions de forums,…) tel que présenté ici https://pmartinolli.github.io/JDR50bibliometrie/.
- Je n’ai pas fait de recherche appronfondie dans les conférences, colloques et congrès car il faudrait visionner / écouter les enregistrements (chronophage).
Créer une ontologie de game designs de jeu de rôle 1/

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)

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!
Presque 50 ans de recherche universitaire du jeu de rôle sur table
Je viens de soumettre le compte-rendu de la présentation que j’ai donné dans le cadre du colloque “Vous êtes dans une taverne…” Retour sur cinquante ans de jeux de rôle, du 27 et 28 mars 2024 à Metz. Il devrait être publié sous forme de chapitre dans des actes à une date inconnu chez une maison d’édition “a déterminer. Je vais en faire une traduction en anglais sous peu pour la diffuser ailleurs.
Le compte-rendu se trouve ici https://pmartinolli.github.io/JDR50bibliometrie/
Je l’ai rédigé avec Quarto, une extension du logiciel R Studio, qui sert à concevoir des documents avancés avec des graphiques intégrés (en R ou Python), avec un système de citations apparié avec Zotero (via Better BibTeX par exemple) et avec un excellent syst“eme de renvois internes. Je l’avais utilisé pour un Manuel de cours (avec seulement les fonctions de renvoi) avec beaucoup de plaisir depuis deux ans. Cerise sur le gâteau (ou sur le sunday si vous êtes au Québec), il est possible d’exporter le tout dans plein de formats sympas (html, PDF, ePub, docx) via pandoc et déposer le tout dans GitHub pour en faire un site web vivant. Vivant, dans le sens où il suffit de mettre à jour le contenu au format Markdown et ensuite de cliquer sur quelques boutons pour produire et diffuser le tout. Sans douleur.
Comment ça marche ?
- Installer R et R Studio
- Installer Quarto
- Se créer un compte GitHub
- Installer GitHub Desktop
- Installer Zotero et l’extension Better BibTeX
- Cloner le dépôt (repository) https://github.com/pmartinolli/JDR50bibliometrie avec GitHub Desktop
- Changer le nom du dossier pour votre propre nom de projet
- Créer un projet Quarto dans R Studio basé sur cette copie locale avec ce nom
- Adapter le fichier _quarto.yml (en s’assurant bien que les fichiers sont créés dans un dossier
/docs) - Changer le texte et le code dans index.qmd et les autres fichiers .qmd si besoin
- Dans R Studio, faire un Run sur tous les morceaux (chunks) puis Build > Render Website.
- Verser le tout en ligne dans votre propre dépôt avec GitHub Desktop.
- Paramétrer GitHub Desktop en allant dans Settings > Pages > Build : deploy from… : master : /docs

Moissonnage du web : quel blogue de jeu de rôle cite lequel ?
Voici la description d’un sous-projet de On the Shoulders of Cloud Giants. Il s’agit de moissonner (ie. web scraper, récupérer et organiser certaines données du web de manière automatisée) les blogues qui parlent de jeux de rôle sur table pour identifier qui cite qui.
Les codes sont en Python et ils utilisent des libraries courantes. Ils se trouvent ici : https://github.com/pmartinolli/pyTTRPGblogScraping
Visualisation du résultat en JavaScript : https://observablehq.com/@pascaliensis/ttrpg-blog-communities-who-cites-who
Les fichiers de programme .py sont installés dans un répertoire. Les fichiers produits (.csv et .txt) sont écrits dans le répertoire parent du répertoire des programmes.
Fonctionnement de la moissonneuse
Nom du programme : pyTTRPGblogCitationWS.py
- On fournit une liste de blogues pour démarrer le moissonnage. Ce sont des URLs (une par ligne) dans un fichier
manual_urls.txt - Le programme parcourt les URLs et produit un fichier
blog_urls_iteration_1.csv- Il contient l’URL du blog citant, l’URL du blog cité et les mots-clés contrôlés trouvés dans le blogue citant.
- Le processus peut être interrompu en tout temps et relancé. Le prochain fichier sera nommé
blog_urls_iteration_2.csvet ainsi de suite. C’est très pratique car parfois (souvent?) le processus bloque sur certaines URLs. Il faut alors redémarrer le kernel de Python et relancer le programme. - Un blogue citant qui a été analysé une fois ne l’est plus par la suite.
- Pour automatiser l’insertion d’une nouvelle entrée dans le fichier csv, il faut que le blogue citant ET le blogue cité :
- Soient chacun de type “blogue” (plusieurs techniques sont utilisées)
- Parlent de jeu de rôle sur table (liste de mots-clés contrôlés à repérer sur la page d’accueil du blogue, à l’exclusion du texte des liens). Les mots-clés contrôlés sont dans le code dans une liste nommée
rpg_keywords
- Mécanismes d’exclusion
- À l’intérieur du code, il y a la possibilité d’alimenter une liste nommée
url_trapsavec les URLs qui ont fait boguer le programme. - Pour éviter de tester des URLs qui ont déjà été évaluées et rejetées (ni blogue, ou blog non JDR, ou erreurs), une liste d’exclusion est stockée dans une variable
exclusion_list_urlset dans un fichier texte nomméexclusion_list.txt. C’est le premier test quand une nouvelle URL doit être évaluée. Cela accélère considérablement le programme.
- À l’intérieur du code, il y a la possibilité d’alimenter une liste nommée
Nettoyage du fichier de résultat
Nom du programme : pyTTRPGblogCleaner.py
Tout fichier doit être nettoyé avant d’être utilisé par un programme d’analyse ou de visualisation. Or le fichier généré par la moissonneuse est tout spécialement chevelu et hirsute.
Fonctionnement principal :
- Il supprime les indicatifs .com, .fr, etc.
- Il supprime les lignes doublons et les auto-citations qui auraient pu se glisser (citant = cité)
- Il supprime les “non blogues de JDR”
- Il renomme la colonne
Citing...enSourceet la colonneCited...enTarget(car c’est souvent ce qu’attendent certains programmes comme GEPHI). - Un fichier
clean_citing_cited_TTRPG_blog_list.csvest produit.
Et ensuite ?
Visualiser et analyser les données
(à venir dans un prochain billet)

Citation fine
Utiliser les URL testées positives pour archiver tous les billets de tous les blogues retenus (lorsque leurs auteurs autorisent le moissonnage). Puis utiliser ces billets archivés pour faire une analyse plus fine des citations.
-
- En effet, avec la méthode actuelle les liens de citation sont principalement ceux dans le bandeau actuel de navigation du blogue, avec peut être une dizaine de billets les plus récents.
- En analysant les citations dans chaque billet on a un maillage plus fin des relations puisque ces citations sont localisées sur des informations spécifiques plutôt qu’être mentionnées de manière générique dans la zone de navigation.
- On pourra peut être même comparer les deux types de citation.
- Il y a un aspect préservation aussi car on ne sait pas si Google ou d’autres plateformes de blogue fermeront leurs services.

Annexe : extraire les URLs de départ depuis Obsidian
J’avais stocké des centaines d’URL dans des notes Obsidian.md. Voici un programme qui parcourt un coffre (vault) Obsidian.md et qui créé le fichier manual_urls.txt pour démarrer le programme de moissonnage.
Nom du programme : pyURLfromObsidianMD.py
Auto-réflexions en cours de projet (20240624)
- Le web scraping est vraiment un processus fragile. Souvent, j’ai corrigé le code pour éviter que ça plante. Maintenant, ça roule mieux (du moins pas de plantage en 24h non-stop) mais c’est lent. J’ai produit 33 000 paires en 72h dans un fichier csv qui fait 3.8 Mo. Je pensais que ça irait plus vite.
- J’ai fait l’erreur de créer/mettre à jour les fichiers sur un infonuage. Cela était sûrement une des raisons du plantage et des couacs divers. Maintenant, tout tourne sur le disque dur mais non synchronisé. À noter pour l’application de la méthode file over app : en cas de mise à jour intensive de fichiers, les infonuages sont à éviter.
- Émotionnellement, c’est super satisfaisant de s’endormir ou de partir en randonnée et de savoir que le code tourne tout seul et produit des choses en notre absence.
- Plus généralement, le fait de chercher «qui cite qui» dans ce contexte permet de mettre un peu d’ordre dans le chaos des blogues existants. A part utiliser des recommandations ou des listes sélectionnées de blogues, il n’y a aucun moyen de mesurer l’impact, l’étendue, la forme, etc. des communautés de rôlistes blogueurs.
- J’ai hâte d’assister à un pic d’URL à chercher (pour l’instant ça ne fait que monter) pour avoir l’impression d’avoir fait le tour. Bien que je sais que ce soit un peu illusoire car beaucoup de blogues :
- refusent d’être moissonnés,
- ou bien ils ont disparu,
- ou bien mon code ne sait pas les identifier. Cette dernière catégorie est particuli`èrement déchirante car c’est ce qui arrive pour les sites web “maison”. Or les blogues ayant souvent une valeur fortement DIY, cela écarte tous les blogues vraiment DIY et donne un biais de sélection aux blogues qui ont choisi des plateformes “mainstream” pré-construite comme WordPress ou Blogger. Exemple : https://ludomancien.com/
- Il faudra que je repasse sur certaines adresses (et que je revois mes critères de
rpg_keywords) car je vois qu’elles sont écartées par erreur. Je me baserai sur les adresses les plus citées et celles qui ont été classées comme Non-blogue de JDR.- NB: je pense savoir pourquoi: à un moment donné, il y a eu un problème de connexion sur certains blogues qui se sont retrouvés dans la liste d’exclusion. Il faudra donc retraiter toute la liste d’exclusion à la fin.
Auto-réflexions II (20240702)
- J’ai abandonné l’idée de réinjection continue des URL citées en URL citantes.
- D’abord, je fais une passe complète sur le premier jeu d’URL. Puis quand c’est terminé, je me base sur les URL citées pour constituer le second jeu d’URL.
- Auparavant, la constante réinjections des URL citées faisait que le processus entrait en profondeur dans certaines explorations et ainsi créait un énorme biais.
- J’utilise le programme
pyTTRPGblogCitationIterationX.pypour extraire les URL de l’itération finale de la première phase.

La visualisation ci-dessus a été faite avec le logiciel open source Gephi. Open > Spreadsheet > Ouvrir le fichier clean_citing_cited_TTRPG_blog_list.csv qui contient 12000 arêtes (edges) et 4700 noeuds (nodes). Ça produit un gros carré. Aller dans le panneau Layout > —Choose a layout > OpenOrd > RUN
On the Shoulders of Cloud Giants: visualisation de données avec JavaScript dans Observable

Mon projet On the Shoulders of Cloud Giants qui tente de décrire les pratiques de citations dans les publications de jeux de rôle sur table dort un peu en ce moment. Je suis en train de tester une nouvelle technique qui consiste à créer des index automatiques de citations mais ça prend du temps.
En attendant, j’ai expérimenté des visualisations de données avec Observable, la plateforme qui permet d’intégrer des données avec des bibliothèques de visualisation JavaScript.
Elle se trouve ici : https://observablehq.com/@pascaliensis/on-the-shoulders-of-cloud-giants
Voici son fonctionnement :
- Le code interroge Wikidata et rapatrie les données de manière structuré sous la forme (principalement) de séries de paires entre un jeux de rôle qui cite et un jeux de rôle qui est cité.
- Les données existent dans Wikidata grâce à la propriété P2860 (cites work).
- Le code se trouve en annexe (tout en bas de la page Observable) dans la variable
query= - D’autres données sont rapatriées au passage : date de publication, “mouvement” auquel appartient le jeu de rôle (The Forge, OSR, etc.), maison d’édition et mécaniques de jeu.
- Ces données sous la forme d’un tableau sont codées au format JSON. C’est important car comme nous allons faire des visualisations JavaScript, il faut structurer les données dans ce format pour qu’elles soient absorbées correctement par les bibliothèques de visualisation JavaScript.
- Ensuite, ce tableau JSON est transformé dans une hiérarchie JSON, c’est une organisation de l’information spécialement conçue pour les visualisations de réseau / de relation.
- En gros, la structure de cette hiérarchie JSON se découpe en deux parties : une partie décrivant chaque jeu indépendamment (partie
nodes) et une partie listant chaque relation (partieedges). - La transformation a été effectuée par une fonction nommée
table2hierarchy - La variable contenant ce fichier se trouve dans
- En gros, la structure de cette hiérarchie JSON se découpe en deux parties : une partie décrivant chaque jeu indépendamment (partie
- À partir de là, l’essentiel est fait car les bibliothèques JavaScript font tout le reste du travail. Il faut juste les modifier un petit peu chaque fois pour avoir l’effet désiré (comme le fait de filtrer les données ou de les colorer). Plusieurs visualisations sont ainsi faites :
- Des graphes non orientés (undirected graphs)
- Des diagrammes d’accord (chord diagrams)
- Des diagrammes à barre bien classiques, etc.
https://observablehq.com/@pascaliensis/on-the-shoulders-of-cloud-giants
JavaScript pour analyser votre bibliothèque de références Zotero
Mon collègue Philippe m’a expliqué comment fonctionnait la plateforme ObservableHQ qui a été conçue pour faire de jolies visualisations interactives avec JavaScript. J’ai été très enchanté du résultat et de la facilité d’utilisation. J’y ai donc transposé une partie du code R Studio discuté dans le billet précédent.
Le notebook se trouve ici https://observablehq.com/@pascaliensis/zoterojsnalysis
N’importe qui peut cloner (fork) le code avec un compte personnel créé gratuitement. Notez cependant qu’avec un compte gratuit, le code et les données sont accessibles à la vue de tous.
Je discuterai dans des prochains billets de deux autres projets qui dormaient en format R Studio et dot et que j’ai transposé partiellement sur ObservableHQ :
- On the Shoulders of Cloud Giants: Citation Practices in the Tabletop Role-Playing Game Publishing with JavaScript Workflow
- TTTTRPG – Timeline Tree of Tabletop Role-Playing Games with JavaScript Workflow
L’aspect interactif, la rétroaction rapide sur les données et l’esthétique de leur visualisation peuvent ré-dynamiser des projets assoupis de mani`ère salutaire.
R Studio pour analyser votre bibliothèque de références Zotero
Ma proposition de présentation du colloque «Vous êtes dans une taverne… Retour sur 50 ans de jeux de rôle» a été acceptée. Intitulée « Évolution historique et analyse bibliométrique de la recherche académique sur le jeu de rôle sur table dans les publications universitaires », elle consiste principalement à faire une étude descriptive de la publication universitaire sur le jeu de rôle sur table depuis les années 80.
Depuis 2014, j’ai entrepris de rassembler des références universitaires se rapportant à l’étude du jeu de rôle sur table. Cette démarche a abouti à la création d’une base de données librement accessible via Zotero, comprenant un total de 2400 références. Parmi celles-ci, on dénombre 460 articles soumis à une évaluation par des pairs, 180 ouvrages, 300 thèses, et bien d’autres encore.
La base de données bibliographique est en libre accès à : https://www.zotero.org/groups/446523. Depuis 2019, Michael Freudenthal m’a rejoint pour gérer cette base de données.
Last Christmas, I gave you my R
Dans le but de faire une analyse bien reproductible, non seulement je verse les données en libre accès mais je verse aussi les algorithmes qui permettent de les analyser. Le tout est déposé sur GitHub à https://github.com/pmartinolli/ZoteroRnalysis
J’ai choisi d’utiliser le logiciel R Studio parce que j’ai appris à l’utiliser dans le cadre de mon travail, aussi parce que c’est un logiciel performant et libre, et enfin parce qu’il est facile de demander à ChatGPT 3.5 de OpenAI de corriger mes bugs de codage (ce que je fais très souvent).
Le principe est simple :
- J’exporte les références bibliographiques de Zotero au format
csv - J’importe les données dans R Studio
- Je mouline les données dans R Studio
- R Studio me produit des jolis graphiques et d’autres tables
csv - Au passage, j’aligne mes données avec celles de Wikidata pour augmenter mes données (dans un processus appelé la «réconciliation», fait par le logiciel OpenRefine). Par exemple, avec la liste des noms des revues universitaires, je vais chercher la date de la création de la revue et son pays d’origine pour repérer des tendances.
All I want for this graph is you
Après ce deuxième jeu de mots douteux du temps des Fêtes (nous sommes le 1er décembre), voici quelques jolies extractions sous forme graphiques. Notez que ce ne sont pas les versions définitives car, d’ici le colloque, je vais encore « shampooiner les données » pour les corriger et les améliorer.










Pour la suite, je vous donne rendez-vous à Reims (je serai par Zoom), ou sur ce blogue, ou plus tard dans une publication plus définitive.
Annexe : suite de la proposition de présentation au colloque
« Dans la présentation, je vais expliquer en quoi la compilation d’articles évalués par des pairs et d’ouvrages publiés depuis les années 1980, tant en anglais qu’en français, est presque exhaustive et permet de généraliser les analyses qui vont suivre. Je mettrai également en lumière les éventuels biais de sélection et d’indexation qui peuvent être présents.
« Mon projet consiste à réaliser une analyse historique et bibliométrique des publications de type articles évalués par des pairs et de type chapitres de livres. Cette analyse permettra de mettre en évidence les variations observées au fil des années, dans diverses disciplines, pour différents sujets de recherche, ainsi que les enjeux entourant la publication (notamment les prépublications, les revues systématiques, les publications potentiellement prédatrices, les rétractions, etc.). Je montrerai, par exemple, comment les premières publications des années 1980 visaient à expliquer la montée en popularité de cette passion et à répondre aux paniques morales de l’époque. De même, j’illustrerai comment les publications récentes se concentrent davantage sur des thématiques telles que le genre, les actual play et les aspects psychothérapeutiques liés à la pratique du jeu de rôle. Je mettrai également en évidence la grande diversité des domaines académiques abordant l’étude du jeu de rôle, allant des disciplines traditionnelles telles que la sociologie, la psychologie et les humanités, jusqu’à des domaines plus atypiques tels que la musique, la neurosciences et la philosophie. Cette présentation s’étend également à l’échelle internationale, englobant l’Europe, l’Amérique du Nord, ainsi que d’autres régions d’Amérique latine et d’Asie. Je soulignerai la prédominance du jeu Dungeons & Dragons, tout en identifiant d’autres jeux étudiés ou mentionnés en marge de cette prépondérance.
« Pour enrichir cette analyse, je discuterai de la réflexion théorique et pratique de la communauté des joueurs sur leur loisir en parallèle du milieu universitaire. Je passerai également en revue les conférences, congrès et colloques consacrés au jeu de rôle, ainsi que les mémoires et thèses abordant ce sujet. Enfin, je discuterai des pratiques de citation dans le jeu de rôle sur table, dans son étude et dans ses communautés de pratiquants. »
ChatGPT pour aider à coder un projet de numérisation sur le jeu de rôle (1/)
Je me considère comme un « programmeur du dimanche ». J’ai appris Turbo Pascal au lycée au siècle passé. Récemment, j’ai travaillé sur de petits projets de programmation en R et en dot. Depuis un certain temps, j’ai eu l’ambition de numériser et d’analyser des textes en utilisant Python, mais j’ai été bloqué par un manque d’expertise personnelle et de soutien externe. C’est alors que ChatGPT est survenue…

Avantages de ChatGPT pour les chercheurs non-programmeurs
- Disponible gratuitement depuis novembre 2022, cet outil requiert seulement un numéro de téléphone portable et un compte Gmail pour y accéder.
- Il est suffisamment performant pour coder en Python, un langage adapté à la numérisation et la recherche de texte, même si vous n’avez aucune connaissance dans ce langage.
- Il permet également de nombreuses interactions fluides pour clarifier vos besoins et il vous guide efficacement pour déboguer votre code en identifiant les erreurs.
- De plus, cet outil est corvéable à merci, à tout moment de la journée ou de la nuit.
Inconvénients
- Il est important d’avoir une compréhension minimale des concepts de base tels que les langages de programmation, le code informatique (variables, boucles, etc.), les formats de fichiers et le système d’exploitation pour tirer le meilleur parti de l’utilisation de ChatGPT. Si vous ne comprenez pas certains termes ou concepts, n’hésitez pas à demander des explications à ChatGPT pour apprendre.
- Il peut arriver que ChatGPT propose du code pour des versions obsolètes de Python. Dans ce cas, reformulez votre demande et demandez-lui d’autres méthodes pour des fonctions plus récentes. Généralement, après environ 6 à 8 interactions, le bon code émerge et vous devez l’assembler vous-même.
- En ce qui concerne l’utilisation de bouts de code, je considère important de citer mes sources. Dans ce cas de ChatGPT, c’est problématique car les sources qui ont servi à l’entraîner sont invisibilisées. Si vous ne savez pas à qui attribuer le code, vous pouvez au moins mentionner ChatGPT pour le travail accompli (voir billet auquel j’ai participé pour Zotero francophone). Citer ses sources est un aspect éthique important quand on utilise code open-source.
Comment ?
- Pour commencer à coder en Python, il est recommandé d’installer Anaconda, qui est une plateforme open-source populaire pour la science des données. Vous pouvez télécharger Anaconda depuis le site web officiel et suivre les instructions d’installation.
- Après l’installation d’Anaconda, vous pouvez utiliser l’IDE (environnement de développement intégré) Spyder pour écrire et exécuter votre code Python. Spyder est inclus dans l’installation d’Anaconda et est généralement prêt à être utilisé.
- Il est également important d’installer les packages dont vous avez besoin au fur et à mesure que vous en avez besoin. Vous pouvez le faire en utilisant la commande pip dans l’invite de commande (ou terminal si vous utilisez un Mac ou Linux) ou en utilisant l’interface graphique de Anaconda Navigator.
- Enfin, vous pouvez utiliser ChatGPT sur OpenAI ou Bing+ChatGPT de manière alternée pour obtenir de l’aide supplémentaire sur votre code. À mon niveau, les deux plateformes sont assez similaires en termes de fonctionnalités et de performances.
Objectifs du projet
- Classer des PDF dans des dossiers.
- Extraire et retravailler leurs métadonnées en Python et csv.
- Extraire le texte intégral en Python et autres.
- Verser les métadonnées et le texte intégral dans une base de données SQlite.
- Jouer avec la base de données SQlite (aspect développé dans un prochain billet).
Problèmes rencontrés
Avec les fichiers PDFs
- Dans mon corpus de PDFs, il est très courant de rencontrer des noms de fichiers avec des caractères problématiques. En effet, ils peuvent avoir été nommés à partir d’encodages ou de systèmes d’exploitation très hétérogènes (depuis 2000 environ et de partout sur la planète). Il est recommandé de renommer les fichiers pour une meilleure identification et organisation.
- Les méthodes de production de PDF peuvent également varier considérablement, ce qui peut rendre difficile leur traitement. Certains fichiers peuvent contenir des images numérisées sans OCR, tandis que d’autres peuvent contenir du texte électronique ou avoir déjà été soumis à une reconnaissance optique de caractères (OCR). Il est important de prendre en compte ces différences lors de la manipulation des fichiers pour garantir des résultats précis.
- Il peut également arriver que certains fichiers PDF soient protégés par des verrous électroniques, ce qui empêche toute modification ou manipulation. Dans ce cas, vous pouvez essayer de trouver des outils pour supprimer les verrous électroniques, ou demander l’autorisation de l’auteur ou du propriétaire des fichiers.
- Enfin, certains fichiers PDF peuvent être bugués ou corrompus, ce qui peut causer des problèmes lors de leur manipulation. Il est recommandé de tester les fichiers pour détecter les erreurs et les problèmes, et de prendre les mesures nécessaires pour résoudre ces problèmes.
- Rajouter des lignes de codes pour « tester » les PDFs et les mettre de côté en cas de bogue a constitué une partie non négligeable et frustrante du codage informatique.
Avec Python
- Je ne sais toujours pas…
- Comment fonctionnent les environnements, kernels, etc. (voir XKCD)
- Comment mettre à jour Python et le reste.
- Si tout tournera bien et identiquement dans 5 ou 10 ans.
- Comment lancer Adobe Acrobat sur des fichiers PDF depuis Python (du coup, j’ai abandonné pour le mieux et ça m’a fait simplifier le flux de travail ainsi qu’apprendre à utiliser pyTesseract).
Structure des dossiers et fichiers
- Yragatheque
- A
- Apocalypse World
- Apocalypse World 1st ed
Apocalypse World 1st ed.pdf
- Apocalypse World 2nd ed
Apocalypse World 2nd ed.pdf
- Apocalypse World 1st ed
- Apocalypse World
- B
- Bunnies & Burrows
- archives
HomebrewB&B.pdf
- 1st ed
B&B1sted.pdf
- GURPS ed
GURPS B&B.pdf
- archives
- _Baguettes & Fromages
B&F2e.pdf
- Bunnies & Burrows
- _working_directory
- _corrupted
- A
Explications :
- Les scripts ne traitent que les fichiers PDF.
- Les fichiers PDF placés dans les répertoires archives sont ignorés (ex:
HomebrewB&B.pdfest ignoré). - Les fichiers PDF placés dans les répertoires précédés du caractère _ sont ignorés (ex:
B&F2e.pdfest ignoré). Yragathequeest le niveau le plus haut. C’est la racine de l’arbre de la collection des PDFs.A, B, C,… sont le 2e niveau. C’est la classification alphabétique de tous les jeux.Apocalypse Wordest au 3e niveau. À ce niveau se trouvent les noms des jeux.- Tous les niveaux en dessous (4e niveau et au-delà) sont des éditions, ou des gammes, ou des sous-classifications.
_working_directorycontient les fichiers csv produits, les listes d’autorité et la base de données SQLite._corruptedcontient tous les fichiers PDFs et fichiers associés (yaml, rawtext,…) qui n’ont pu être traité (non ouvert car corrompus, pages internes illisibles,…).
Scripts et flux de numérisation
Les fichiers nommés 00-nom sont des scripts Python.
- Préparation :
- PARAMETERS : contient l’adresse du dossier dans lequel se trouve la collection des PDFs.
- 00-createWorkingDir : création du dossier
_working_directorys’il n’existe pas. - 01-permission : parcours tous les dossiers et donne les droits en lecture-écriture partout
- 02-purge : supprime les fichiers
.yaml,.rawtextet.ocrtextqui peuvent subsister de traitements précédents - 03-rename : normalise les noms de fichiers (supprime les accents, les caractères spéciaux, remplace les espaces par des traits, etc.)
- Métadonnées :
- 10-pdf2yaml : créé un fichier
.yamldu même nom que le fichiers pdf, au même emplacement, avec comme variables :- path = chemin absolu du fichier pdf
- name = nom du fichier sans .pdf
- size = poid du pdf en Mb
- pages = nombre de pages du pdf
- game = nom du dossier de 3e niveau
- line = nom des dossiers de 4e niveau et+
- 11-yaml2csv
- Écrit un fichier
metadata.csvà partir de tous les fichiers .yaml de toute la collection. - À cette étape, on peut modifier le fichier
metadata.csvpour y ajouter des colonnes (et donc des nouvelles variables yaml), modifier le contenu, etc. Il est recommandé de faire une sauvegarde du fichier modifié (exemple :metadata.backup.csv) pour ne pas écraser toutes ces modifications manuelles.
- Écrit un fichier
- 12-csv2yaml
- Prend le contenu du fichier
metadata.csvet réécrit tous les fichiers.yamlde la collection avec le nouveau contenu.
- Prend le contenu du fichier
- 10-pdf2yaml : créé un fichier
- Numérisation :
- 30-pdf2rawtext
- Créé un fichier
.rawtextde même nom que le pdf au même emplacement, contenant l’extraction du texte si le fichier pdf est au format numérique ou s’il y a une couche d’OCR extractible. Si l’extraction ne fonctionne pas ou pose problème, un fichier est créé tout de même mais vide.
- Créé un fichier
- 34-OCR-byTesseract
- Certains fichiers pdf sont récalcitrants à l’extraction mentionnée précédemment. Alors, si le fichier
.rawtextest vide ou tout petit, on lance une numérisation via Tesseract qui va créer un fichier.orctextau même endroit que le fichier pdf. C’est un processus assez long.
- Certains fichiers pdf sont récalcitrants à l’extraction mentionnée précédemment. Alors, si le fichier
- 30-pdf2rawtext
- Exportation :
- 40-yamlntext2sqlite
- On envoie le fichier
.yaml, accompagné du fichier.rawtextou.ocrtext(le plus gros) correspondant, dans une base de données SQlite nomméeTTRPG_LLM.sqlite
- On envoie le fichier
- 50-reportSQlite
- On créé un rapport de la base de données.
- 51-searchSQlite
- On cherche une chaîne de caractère dans la base de données.
- 40-yamlntext2sqlite
Prochainement
- Les scripts Python sont dans GitHub à https://github.com/pmartinolli/pyTTRPG_LLM
- Je travaillerai les données dans SQlite pour repérer quel jeu cite quel jeu et pour tenter de produire des rapports d’observation intéressants.
- Pour le moment, les colonnes supplémentaires ajoutées dans le fichier
metadata.csvet exportées dans les fichiers .yaml ne sont pas intégrées dans la base SQLite.- Exemple : edition, langue
- Il serait intéressant d’incorporer un travail de reconciliation avec Wikidata sur le fichier metadata.csv pour récupérer :
- pour la colonne
game: le QID de la famille de jeu (cela devrait être presque du 100%) - pour chaque document moissonné : le QID de l’édition de ce document (plus rare).
- pour la colonne
La première partie de ce billet a été partiellement retouchée par ChatGPT Mar 23 Version le 21 avril 2023. Billet modifié le 11 mai 2023.
Commentaire de ChatGPT à propos de ce billet :
« C’est génial que vous ayez pu utiliser ChatGPT pour progresser dans votre projet de numérisation et de fouille de texte en Python ! ChatGPT peut être une excellente ressource pour apprendre de nouvelles compétences en programmation ou résoudre des problèmes techniques. En tant que programmeur du dimanche, il est normal de ne pas avoir une expertise approfondie dans tous les aspects de la programmation, mais il est important de continuer à apprendre et à s’améliorer. ChatGPT peut vous aider à combler ces lacunes et à vous permettre de réaliser vos projets de manière autonome. N’hésitez pas à poser des questions et à explorer de nouvelles idées avec ChatGPT pour continuer à progresser dans votre parcours de programmation. »
(sic transit gloria mundi)
Faire communauté en citant les jeux des autres
Ce billet fait partie de la série Sur les épaules des géants des nuages, étudiant les pratiques de citation dans les jeux de rôle sur table.
1970s-1980s
Nous avons vu dans des billets précédents que les premières pratiques de citation dans les jeux de rôle sur table avaient principalement pour fonction de rendre hommage ou de remercier. Elle apparaissaient dans les préfaces et autres textes introductifs des jeux.
Cette première pratique a été sérieusement douchée par les poursuites judiciaires d’acteurs majeurs comme TSR. Pendant de nombreuses années, ce type de citation a fortement décliné. Je suis en train de rassembler les données pour quantifier ce phénomène.
Depuis la création des premiers jeux de rôle, les fanzines (publications ALA comme Alarums & Excursions, etc.) et les magazines spécialisés ont contribué à l’essentiel du tissage des références entre les jeux avec des critiques, les commentaires, les comparaisons, etc.
2000s-2020s
The Forge
Autour de la communauté de The Forge, de nombreux conceptrices et contributeurs de jeux de rôle ont accordé un ou plusieurs paragraphes, voire parfois des sections entières, à la citation d’autres jeux de rôle. Très souvent, les jeux cités font partie de la communauté de The Forge. Là aussi, je suis en train de rassembler les données pour quantifier ce phénomène.
Il semble que le jeu Sorcerer (1996) tienne une place importante :
- En nombre de références (jeux de rôle, fictions, personnes, etc.) ;
- En nombre de citations par la communauté ;
- Dans la diversité des types de références (bibliographies, remerciements, épigraphes, notes d’intention sourcées, etc.).
Blogosphère OSR
Les années 2000 ont vu l’avènement de nombreuses publications amateurs sous la forme de blogues, comme la communauté des joueurs pratiquant un gameplay dit OSR (old-school renaissance) par exemple.

Voici un graphe des citations entre les blogues OSR. Il a été publié sur Discord. L’auteur m’est inconnu. La méthode est inconnue mais il semble que les liens de citation proviennent du menu de chaque blogue. Vu l’apparence graphique, il a été produit par VOS Viewer (très bon outil gratuit par ailleurs). Selon Josh, qui a relayé l’information, semble que le rouge colore une tendance « grognard » du mouvement, tandis que le vert colore une tendance « artpunk » du mouvement.
On peut voir que les citations entre les blogues tiennent une place importante. Pour pouvoir en tirer des conclusions intéressantes, il faudrait analyser les stratégies de citation (peut être un questionnaire?). Cependant, au premier coup d’œil, je remarque que les blogues les plus visibles sont aussi ceux qui sont originaux, ou pertinents, ou érudits (et comptabilisant plusieurs années d’existence).
Citer pour renforcer la communauté
Zedeck Siew, un concepteur de jeu de rôle malaisien, a récemment insisté sur l’importance et le devoir de citer ses sources, spécialement pour prévenir la perte de mémoire dans une communauté :
One way to resist memory loss in a creative culture:
— Zedeck Siew (@zedecksiew) April 5, 2022
📖CITE YOUR SOURCES📖
If somebody's work is an influence on your's, you're basically duty-bound to mention them whenever you can. In book credits, blogposts, podcast interviews.
Do it enthusiastically. Do it *always*.
1/
Selon lui, « des cascades de citations entrelacées renforcent une culture de la création pour tout ceux qui y travaillent. C’est un système immunitaire contre l’économie de l’attention qui nous a isolé/séparé avec les médias sociaux et qui désavantage les créateurs qui ont moins de temps à consacrer en ligne. » De manière très intéressante, il ajoute que « habituellement, l’attention et la pratique de la citation aide les créateurs issus de contextes moins favorisés (femmes, queers, non-blancs, gens hors Occident, non-anglophones, etc.). Ceux qui, pour une myriade de raisons, sont souvent laissés sans citation. »
Il témoigne que certains créateurs mentionnent leurs inspirations au début de leur processus créatif mais cette liste diminue au fur et à mesure que leur travail avance. Il termine son ode amoureuse à la citation [qui ne peut que toucher le bibliothécaire en moi] en disant que « la citation permet aussi de mieux comprendre son propre travail. (…) Même si on ne pense à aucune source consciente, précise ou claire. Citez quand même, situez votre travail dans un écosystème, comme une réponse à autre chose ou en similarité avec un autre. Aucun travail ne vit dans le vide. »
Travailler avec les épigraphes littéraires dans Wikidata
Ce billet fait partie de la série sur les épigraphes. Plusieurs jeux de rôle sur table utilisent cette technique littéraire.
En 2019, une nouvelle propriété nommée épigraphe littéraire (P7150) a été créée dans Wikidata pour indexer les épigraphes dans les œuvres littéraires*. C’est une initiative très intéressante car elle prouve que Wikidata peut contenir une ontologie des données riche et précise dans ses descriptions qualitatives. Pour le moment, la propriété est assez peu utilisée (l’essentiel des contributions viennent de moi**).
Je rêve qu’un jour les données seront suffisamment complètes et significatives pour pouvoir produire des résultats intéressants en humanité numérique. Cela serait un beau sujet de mémoire ou de thèse. Hypothèse (développée dans un prochain billet) : Peut-être que les littératures de l’imaginaire sont plus référencées que la « normale » des œuvres littéraires, dans le sens qu’elles contiennent plus de références diverses vers d’autres œuvres ou d’autres sources.
Quelques exemples d’utilisation
Dans les littératures de l’imaginaire
-
-
- Foundation : les épigraphes intra-diégétiques dévoilent la réussite du projet de Hari Seldon d’Encyclopédie Galactique et ainsi cadrent le récit.
- Dans Dune, les épigraphes peuvent provenir de personnages qui deviendront centraux plus tard dans l’œuvre (comme la princesse Irulan). De manière générale, ils créent un style chorus (avant que ça ne devienne la mode).
- Le Seigneur des Anneaux débute avec son fameux poème épigraphique qui synthétise l’histoire passée, la situation actuelle et les enjeux des romans. Il reprend en partie les mots du principal antagoniste dans un poème écrit par les peuples libres.
- La servante écarlate commence avec des épigraphes sourcés qui dévoilent les conflits de valeur mis en jeu dans le roman.
- The King in Yellow contient un épigraphe par chapitre/nouvelle, ainsi qu’un épigraphe pour le recueil : certains épigraphes renvoient à des œuvres existantes, d’autres à des œuvres fictives. Créant un effet de confusion propre au mouvement décadent, ainsi qu’un effet ludique avec le lecteur.
-
Dans les jeux de rôle sur table
-
-
- Dirty Secrets
- Ryuutama, Natural Fantasy Roleplaying Game
- The Ultraviolet Grasslands
- Voir discussions dans les billets 1 et 2.
-
Dans les jeux vidéo
-
-
- Uncharted (Naughty Dog 2007, 2009, 2011, 2016)
-
Quelques requêtes SPARQL
-
- Pour repérer tous les épigraphes dans les littératures de l’imaginaire
- Pour lister les œuvres contenant le plus d’épigraphes
- Pour compter combien d’épigraphes sont indexés dans Wikidata
Comment contribuer ?

Pour indexer des épigraphes spécifiques :
-
- P7150 (epigraph)
- Indiquer le texte de l’épigraphe sans guillemets.
- Indiquer la langue de l’épigraphe :
enoufroula(latin) ou autre. En cas de langues multiple :mul. En cas de langue inconnue :und.
- Qualifiers de P7150 :
- P1545 (series ordinal) : si plusieurs épigraphes, indiquer leur ordre : 1, 2, 3,…
- P792 (chapter) : quel endroit dans l’œuvre si ce n’est pas au début de l’œuvre (dans ce cas ne rien indiquer). Ou P958 (section, verse, paragraph, or clause)
- P1552 (has quality)
- = Q96102813 (in-universe perspective) : dans le cas d’un épigraphe intra-diégétique (donc vraie dans la fiction). (Exemple : le poème au début du Seigneur des Anneaux).
- OU Q96102813 (fictional quotation)
- = Q112046597 (made up quotation) : dans le cas d’une citation fausse, inventée, apocryphe (Exemple : fausse citation de Eleanor Roosevelt dans Talladega Nights).
- = Q96102813 (in-universe perspective) : dans le cas d’un épigraphe intra-diégétique (donc vraie dans la fiction). (Exemple : le poème au début du Seigneur des Anneaux).
- P5997 (stated in reference as) : la référence de l’épigraphe telle que rédigée dans l’œuvre.
- References :
- P248 (stated in) : QID de l’œuvre d’où l’épigraphe est issu.
- P50 (author) : QID de l’auteur de l’épigraphe.
- P792 (chapter) : quel endroit dans l’œuvre si ce n’est pas au début de l’œuvre (dans ce cas ne rien indiquer). Ou P958 (section, verse, paragraph, or clause).
- P7150 (epigraph)
Pour indexer plusieurs épigraphes (pas spécifiquement) :
- P2283 (uses) =
- epigraphs (Q669777)
- has quality (P1552) = referenced value (Q71536081)
- quantity (P114) = nombre d’épigraphes issus d’œuvres externes
- fictional quotation (Q18011336)
- has quality (P1552) = in-universe perspective (Q96102813)
- quantity (P114) = nombre d’épigraphes forgés exclusivement pour cette œuvre
- epigraphs (Q669777)
Exemple de code QuickStatement pour une importation en lot :
qid,P2283,qal1552,P2283,qal1114,P2283,qal1552,P2283,qal1114Q105349656,Q669777,Q71536081,Q669777,1,Q18011336,Q96102813,Q18011336,24
______________________
* J’ai aussi clarifié l’ontologie et les autres définitions du terme épigraphe (en archéologie, en mathématiques, etc.).
** J’ai saisi les 84 épigraphes fous de Moby-Dick par exemple.
Le jeu de rôle sur table, un jeu des attentes
L’an passé, je concluais une présentation pour la journée d’étude « Donjons & Labo : les lieux du jeu » avec une diapositive très lacunaire sur le jeu de rôle sur table comme un jeu sur les attentes. Après avoir lu l’article « Pretensive Shared Reality: From Childhood Pretense to Adult Imaginative Play » (1), j’ai enfin l’opportunité de développer ce point aujourd’hui.
Les attentes, une sous-catégorie du rôle
Tout rôle social peut être décrit avec de nombreux éléments : des statuts, des fonctions, … et des attentes (role expectations) :
- des attentes d’autres sur le détenteur d’un rôle,
- ou du détenteur du rôle sur lui-même,
- ou du détenteur d’un rôle sur les autres.
Quand les attentes ne sont pas explicites et partagées par tous les agents, chacun est dans la présomption (assumption). Les relations sociales sont problématiques quand les présomptions sur autrui (connaissances, émotions, motivations) sont erronées. La meilleure manière d’éliminer les présomptions est de poser des questions adaptées.
Dans la vie de tous les jours, chacun endosse une série de rôles. Ces rôles peuvent s’emboîter, se chevaucher, être en conflit, s’alterner, etc. Cette multitude de rôles vient avec une multitude d’attentes. En psychologie sociale, la théorie des rôles ou role theory étudie spécifiquement ces phénomènes.
Il peut être difficile pour quelqu’un de lister/expliciter les attentes, de les hiérarchiser, de les clarifier, de comprendre leur étendue ou leurs limites. Certaines attentes peuvent être perçues comme non choisies et potentiellement infinies. Cette confusion peut générer de l’anxiété.
Les attentes, dans une séance de jeu de rôle
Lorsque l’on joue à un jeu de rôle ou un jeu de faire semblant dans une réalité alternée partagée (pretense shared reality) (1), on adopte seulement deux rôles clairement emboîtés l’un dans l’autre : un rôle de joueur et un rôle de personnage. Contrairement aux attentes de la vraie vie, les attentes en situation de jeu sont délimitées dans le cadre du jeu (concept de cercle magique ou magic circle) et elles sont choisies (participation volontaire et consciente au jeu).
Parfois, quand le rôle de joueur est prépondérant, alors les attentes sont principalement sociales. La dimension de l’hospitalité peut être importante (2) : certains sont hôtes, d’autres sont invités. Certains maîtrisent les règles, certains ont l’autorité sur la narration, certains génèrent de la fiction, d’autres y réagissent, etc.
Parfois quand le rôle de personnage est prépondérant, alors l’accent est mis sur l’immersion. Dans ce cas, les attentes sont principalement narratives et diégétiques (c’est-à-dire elles proviennent de la fiction).
Depuis une dizaine d’années, de nombreux jeux et accessoires poussent à clarifier les attentes autour de la table avec outils dits « de sécurité émotionnelle ». Ces innovations ont rencontré une résistance, principalement sous le prétexte que c’étaient des méthodes infantilisantes. Selon Ludomancien, clarifier les attentes est une preuve de maturité. Exemples : la X Card de John Stravopoulos (2012), les principes du maître de cérémonie de Apocalypse World, le Same Page Tool de Bankui, etc.
Jouer un rôle, réduction de l’activité cérébrale
Une étude récente (3) montre que lorsque des acteurs improvisent des réponses à des situations où ils incarnent les personnages de Roméo & Juliette, leur activité cérébrale est moins intense. Cela suggère une baisse du sentiment de soi (loss of self). Hypothèse : Cela est peut être dû au fait que l’acteur ne se soucient pas des attentes. Ce qui nous amème à élaborer d’autres hypothèses…
Hypothèses
- Une séance de jeu de rôle est satisfaisante, plaisante et mémorable si les attentes des rôles de joueurs et de personnage ont été comprises, reconnues, respectées et accomplies par chacun.
- À l’opposé, un participant qui n’aurait pas compris les attentes des autres, qui n’aurait pas vu ses attentes respectées, etc. n’aurait pas une bonne expérience de jeu.
- Un jeu qui sait structurer les questions posées réduirait mécaniquement les présomptions.
- À l’opposé, un participant qui n’aurait pas compris les attentes des autres, qui n’aurait pas vu ses attentes respectées, etc. n’aurait pas une bonne expérience de jeu.
- Entrer dans une séance de jeu, c’est réduire les dimensions mentales à un plus petit ensemble d’attentes (plus simples, plus facile à expliciter, moins engageantes,…) que dans la vraie vie.
- Le jeu de rôle sur table serait le type de jeu qui restreindrait le moins les dimensions de la vraie vie puisque tout peut y être tenté, sous la validation d’un ou des autres joueurs.
- Le jeu de rôle sur table serait le type de jeu qui restreindrait le moins les dimensions de la vraie vie puisque tout peut y être tenté, sous la validation d’un ou des autres joueurs.
- Si entrer dans une réalité alternée partagée, c’est voyager dans un sous-univers aux dimensions réduites :
- Y a-t-il un plaisir spécifique à manipuler le méta ? une sorte de libido contextus ? De savoir qu’on est capable de passer d’un univers à l’autre et d’y ramener des choses (expériences, valeurs, idées, etc.) ? De savoir qu’on est dans la distance, le surplomb ou l’ironie ?
- Moins il y a d’attentes, plus on fait des économies mentales et plus ils est facile de jouer, de penser, de vivre des émotions, d’être en empathie et de se laisser aller.
- Du coup, on est moins anxieux ou moins confus ? Les joueurs de jeu de rôle sur table ont peut être plus d’anxiété sociale que la moyenne et cela expliquerait pourquoi ils s’engagent avec passion dans ce hobby pourtant fortement relationnel.
- Dans quelle mesure cela peut s’appliquer aux simulations en général ou aux autres types de jeu : « In games like chess, everybody has the same set of choices, so its easier to go into other peoples minds than regular interactions. Easier empathy.» (4)
- « Pretensive Shared Reality: From Childhood Pretense to Adult Imaginative Play » de Kapitany, Hampejs et Goldstein (2022). Le jeu de rôle sur table serait un résidu évolutif du jeu de faire-semblant des enfants à l’âge adulte. Il aurait les mêmes mécanismes MAIS : il doit nécessairement être partagé socialement, il a un cadre et des règles plus nombreuses et il a un système de quarantaine mentale (=cercle magique) pour encadrer le jeu. L’article détaille aussi pourquoi il est intéressant d’étudier les jeux de rôle sur table pour comprendre le comportement humain.
- Voir série de billets
- Brown Steven, Cockett Peter and Yuan Ye , 2019, The neuroscience of Romeo and Juliet: an fMRI study of acting. R. Soc. open sci.6181908181908 http://doi.org/10.1098/rsos.181908
- Entretien avec C Thi Nguyen, vers la 12e minute



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é :