- On the shoulders of the cloud giants : citation practices in the TTRPG
- Epigraphs (part 1, part 2, part 3)
- Wikidata > SPARQL > R Studio
- Ampersand, Assonances & Alliterations : The Shape of Dungeons & Dragons's Name
- Dataviz with JS and Observable
- Cease & Desist
- Citation Practices in Games. Why Citing or Not Citing ?
- Building community by citing
- On the shoulders ... (first post in 2018)
- TTTTRPG (Timeline Tree of Tabletop Role-playing games)
- dot code structure
- Creating an Ontology of game designs
- Phylomemetics of boardgames and tabletop role-playing games
- Exhibition Donjons & Données probantes in the Université de Montréal
- Greg Stafford (scholarly) obituary
- TTRPG & education
- TRPG Elements to Engage Students in Information Literacy Workshops
- Side-Quests & Character Sheets
- Roleplayification
- Bibliometrics
- Quarto or RStudio & Javascript for Zotero library
- Role-play in PubMed
- In PsycNet
- Quarto or RStudio & Javascript for Zotero library
- Misc
- ThesaurusRex: a controlled vocabulary thesaurus for RPGs
- Tabletop role-playing games as hospitality and hosting rituals
- TTRPG as game of expectations
- What if... TRPGs were created before 1971 ?
- Psychology : Storytelling ; De-roling 1/ 2
- Socratic questioning
- Role-playing game groups as hunter-gatherer bands; Anthropology & RPG
- The 1st game masters
- Dante's Inferno
- Starvation, famine and cannibalism in tabletop role-playing games
ZOtRPG !
Scholarly projects and academic references on tabletop role-playing games
Monday, June 2, 2025
Index
Creating an Ontology of Role-Playing Game Designs
I've recently resumed a project I had left dormant: celebrating game design innovations in role-playing games. Previously, I had included this dimension in the TTTTRPG (Timeline Tree of Tabletop Role-Playing Games) timeline. I've decided to extract it from that timeline and create a separate ontology.
Ontology
An ontology is a structured system for representing and organizing information within a specific domain. It doesn't just list elements; it establishes clear relationships between them, creating a framework for understanding and reasoning. In our case, this ontology will primarily rely on two elements:
- A taxonomy, which is a hierarchical list of concepts, classes, and multiple levels of subclasses. These classes represent theoretical ideas or abstract concepts. They are "mental constructs" that don't exist physically but help us categorize the world. Under each class, there will be increasingly specific levels of subclasses. This tree-like structure allows for precise classification and logical navigation through the concepts.
- A list of individuals, which are the concrete elements of the world that will be indexed (described) with one or more links, each link pointing to a class. Unlike classes, which are abstractions, individuals are tangible or specific entities.
In this example, the taxonomy will represent all types of game design, or more broadly, all "ludemes" (bits of game elements). The individuals will be specific and interesting game designs from notable games. The game's name is added in parentheses after the game design's label.
Examples:
- The ghost die from Ghostbusters (1986) is an instance of the subclass side die and the subclass die with special icon(s).
![]() |
Ghost die |
- Changing alignment due to famine in Dark Sun (1991) is an instance of the subclass food resource management, the subclass alignment change, and the subclass players lose control of character.
My Mistake Last Month
I started building a huge taxonomy of classes and subclasses that ALSO integrated game designs from certain games INTO the class tree (often at the end/bottom of subclasses). In this organization, the individuals were the games.
![]() |
Excerpt from the erroneous ontology in WebProtégé |
This isn't entirely bad in itself, but this knowledge system has limitations:
- If a game design has multiple dimensions (like the famine example mentioned previously), then you have to choose only one. Of course, it's always possible for a subclass to have multiple parents, but it's not very elegant.
- If we plan to comprehensively list all role-playing games and their game design mechanics, it's crucial not to overload the class taxonomy with excessive granularity. Trying to create classes for every specific game design element could turn the taxonomy into an "overloaded tree," potentially too heavy and difficult to manage.
Compressed archive containing the 4 files from this erroneous step (in an open science approach):
- TTTRPG_ontologie-erronee.owl: Erroneous data organization in RDF/XML format. It can be loaded into WebProtégé (a simple and free online service) or Protégé (a more advanced, free/open-source software).
- ontology_formatter_rdf_owl_to_html_tree_with_individuals.py: A Python script to transform this file into a readable HTML file:
owl_class_tree_with_individuals.html
- change-owl.py: A Python script to transform this ontology into a more satisfactory one (still needs a lot of work but on a good foundation). It was designed in conversation with Anthropic's Claude 4. The prompt is included in the script.
![]() |
« Bye bye ontologie erronée » |
How to Design a (Good) Game Design Ontology?
The key is to find a balance. It's better to maintain a more general and abstract taxonomy, relying on individuals to be indexed in parallel. Each role-playing game design element (an individual) can be described with precise links to the relevant classes in the taxonomy. For example, instead of creating a class for each type of dice pools used, we could have a more general dice pool class, or one or two subclasses (e.g., linear dice pool, non-linear dice pool), and let the individual's description specify the type of dice used.
This approach allows for a clear and manageable taxonomy while offering the necessary flexibility to capture the specific details of each role-playing game via the links between the taxonomy and the list of individuals.
Creating a Taxonomy of Classes and Subclasses
This means creating a hierarchical list of concepts to describe, classify, group, and qualify the various existing game design elements.
Here's an overview of this taxonomy in WebProtégé:
![]() |
Example of taxonomy with classes and subclasses |
Ideally, each more specific element (child) should have only one more generic element (parent) because this ensures a clear hierarchical structure and avoids ambiguities in the inheritance of properties and relationships. Generally, I think this indicates a well-thought-out and structured breakdown, as it forces the factorization of ideas into different, separate categories and requires making choices. Additionally, remember that an individual can belong to multiple classes.
In an ontology, a subclass inherits all the characteristics (properties) and definitions (axioms and concepts) of its parent classes (or superclasses). For example: moral mechanics has the attributes of character mechanics, and themselves have the attributes of game mechanics.
Indexing a Series of Individuals
Each individual is of one or more Types, derived from a class or subclass. For now, there is only one type of individual: game designs. Currently, the associated game names are hardcoded as a string in parentheses within the individual's label.
Example: Ghost die (Ghostbusters)
![]() |
Example of an individual |
Drawbacks
Besides the need to re-index everything, separating specific game designs into individuals prevents me from displaying them all together and grouping them as was possible before (in the erroneous case). Even though it's better designed, I feel a loss of control because the visualization of the data together is lost. This is likely why I initially pursued an erroneous path that gave me a greater sense of control over the overall ontology.
Comments on Generative AIs
I find Google Gemini to be very good at generating accurate comments on the most well-known rules of notable role-playing games (GURPS, D&D, CoC, etc.). I don't know if it's as good for niche games. A deontological drawback: it invisibilizes all those who have done analyses, critiques, or written the text of the games.
Anthropic's Claude is very good at generating somewhat complex computer code. The change-owl.py
script (see above) which transforms the old erroneous ontology into the new one was not a foregone conclusion. OpenAI's ChatGPT, on the other hand, yielded nothing good after many attempts. Anthropic's Claude produced good code with almost the same prompts in two trial-and-error attempts. I have no conflict of interest with the mentioned products. I only used the free versions.
To Be Continued
Once the new ontology and individuals are stable, I will share everything again as part of an open science initiative. This will be done in open files (likely RDF/XML for the complete structure and HTML for visualization).
In my wildest dreams, I imagine this being used to create a large database indexing tabletop role-playing game designs. Perhaps as a participatory science endeavor, where several volunteer participants could contribute? By integrating all or part of it into Grog, RPGGeek, or Wikidata?
To my knowledge, this would be the first detailed catalog of game mechanics. Exciting!
Wednesday, October 30, 2024
Almost 50 Years of Academic Research on Tabletop Role-Playing Games: Historical Evolution and Bibliometric Analysis
Almost 50 Years of Academic Research on Tabletop Role-Playing Games: Historical Evolution and Bibliometric Analysis
https://pmartinolli.github.io/JDR50bibliometrie/index-english.html
This descriptive study offers an in-depth historical and bibliometric
analysis of academic research on tabletop role-playing games. It
examines the evolution of publications across various academic formats
(conferences, monographs, theses, peer-reviewed articles) and explores
new trends in scientific dissemination, including preprints and
literature reviews. The analysis reveals a marked growth in scientific
output since the origins of role-playing games, with a notable
acceleration over the past decade. While research remains primarily
based in North America and Europe, new hubs are emerging in Latin
America and Asia. Several major themes are explored: the dominance of
Dungeons & Dragons, the moral panics of the 1980s and 1990s,
therapeutic applications, issues of diversity and representation, as
well as the phenomenon of actual plays. The study also includes an
analysis of theoretical reflections developed by the gaming community
outside of traditional academic publications. It examines how these
high-quality, para-academic contributions might be integrated and
validated by scholarly institutions. Finally, it highlights the
influence of academic practices and values, particularly in terms of
citation, on role-playing game culture.
Tuesday, June 25, 2024
On the Shoulders of Cloud Giants: dataviz with JavaScript in Observable
My project On the Shoulders of Cloud Giants which attempts to describe citation practices in tabletop role-playing publications is a bit dormant at the moment. I am testing a new technique which consists of creating automatic citation indexes but it takes time.
Here it is : https://observablehq.com/@pascaliensis/on-the-shoulders-of-cloud-giants
- The code queries Wikidata and returns the data in a structured manner in the form of (mainly) a series of pairs between a citing tabletop role-playing game and a cited TTRPG.
- The data exists in Wikidata thanks to property P2860 (cites work).
- The code is in the appendix (at the very bottom of the Observable page) in the variable query=
- Other data is repatriated along the way: date of publication, “movement” to which the role-playing game belongs (The Forge, OSR, etc.), publishing house and game mechanics.
- This data in the form of a table is encoded in JSON format. This is important because as we are going to do JavaScript visualizations, we need to structure the data in this format so that it is absorbed correctly by the JavaScript visualization libraries.
- Then this JSON table is transformed into a JSON hierarchy, this is an organization of information specifically designed for network/relationship visualizations.
- Basically, the structure of this JSON hierarchy is divided into two parts: a part describing each game independently (nodes part) and a part listing each relationship (edges part).
- The transformation was done by a function named table2hierarchy
- The variable containing this file is located in data_citingCited
- From there, most of the work is done because the JavaScript libraries do all the rest of the work. You just have to modify them a little each time to have the desired effect (like filtering the data or coloring it). Several visualizations are thus made:
- Undirected graphs
- Chord diagrams
- Classic bar charts, etc.
https://observablehq.com/@pascaliensis/on-the-shoulders-of-cloud-giants
Thursday, February 15, 2024
R Studio & Javascript to analyze your Zotero reference library
Since 2014, I have undertaken to collect academic references relating to the study of tabletop role-playing games. This approach resulted in the creation of a database freely accessible via Zotero, comprising a total of 2400 references. Among these, there are 460 peer reviewed articles, 180 books, 300 theses, and many others.
The bibliographic database is freely accessible at: https://www.zotero.org/groups/446523 . Since 2019, Michael Freudenthal has joined me to manage this database.
Last Christmas, I gave you my R
In order to carry out a well-reproducible analysis, not only do I provide open access to the data but I also provide the algorithms that allow them to be analyzed. Everything is posted on GitHub at https://github.com/pmartinolli/ZoteroRnalysisFirst, I chose to use the R Studio software because I learned to use it in the context of my work, also because it is powerful and free software, and finally because it is easy to request to ChatGPT 3.5 from OpenAI to fix my coding bugs (which I do very often).
The principle is simple:
- I export the bibliographic references from Zotero in the format
csv
- I import the data into R Studio
- I grind the data in R Studio
- R Studio produces nice graphs and other tables for me
csv
- Along the way, I align my data with that of Wikidata to augment my data (in a process called "reconciliation", done by the OpenRefine software ). For example, with the list of names of academic journals, I will look for the date the journal was created and its country of origin to spot trends.
The code is here: https://observablehq.com/@pascaliensis/zoterojsnalysis
All I want for this graph is you
The original post was in French for Christmas (to explain the silly titles).
Here are some nice extractions in graphic form. Note that these are not the final versions because, between now and the conference, I will still “shampoo the data” to correct and improve it.
For the rest, I will meet you in Reims (I will be by Zoom), or on this blog, or later in a more definitive publication.
Appendix: text of proposal at the conference
“In the presentation, I will explain how the compilation of peer-reviewed articles and works published since the 1980s, both in English and French, is almost exhaustive and makes it possible to generalize the analyzes that will follow. I will also highlight possible selection and indexing biases that may be present.
“My project consists of carrying out a historical and bibliometric analysis of publications such as peer-reviewed articles and book chapters. This analysis will highlight the variations observed over the years, in various disciplines, for different research subjects, as well as the issues surrounding publication (notably pre-publications, systematic reviews, potentially predatory publications, retractions, etc. .). I will show, for example, how the first publications of the 1980s aimed to explain the rise in popularity of this passion and to respond to the moral panics of the time. Likewise, I will illustrate how recent publications focus more on themes such as gender, actual play and psychotherapeutic aspects linked to the practice of role-playing. I will also highlight the great diversity of academic fields addressing the study of role-playing, ranging from traditional disciplines such as sociology, psychology and the humanities, to more atypical fields such as music, neuroscience and the philosophy. This presentation also extends internationally, encompassing Europe, North America, as well as other parts of Latin America and Asia. I will highlight the predominance of the game Dungeons & Dragons , while identifying other games studied or mentioned alongside this preponderance.
“To enrich this analysis, I will discuss the theoretical and practical reflection of the gaming community on their leisure in parallel with the academic environment. I will also review conferences, congresses and symposia devoted to role-playing, as well as dissertations and theses addressing this subject. Finally, I will discuss citation practices in tabletop roleplaying, in its study, and in its communities of practitioners. »
Friday, June 10, 2022
Building community by citing each other's games
This post is part of the On the Shoulders of Cloud Giants series, studying citation practices in tabletop roleplaying games.
1970s-1980s
We've seen in previous posts that the earliest citation practices in tabletop role-playing games were primarily for the purpose of paying tribute or giving thanks. They appeared in prefaces and other introductory texts of games.
This early practice has been seriously undermined by lawsuits from major players like TSR. For many years, this type of citation has declined sharply. I am in the process of gathering data to quantify this phenomenon.
Since the birth of TTRPGs the fanzines (ALA publications, etc.) and specialized magazines supported the most interweaving work of referencing between games with critics, comments, comparisons, etc.
2000s-2020s
The Forge
Around The Forge community, many role-playing game designers and contributors have devoted one or more paragraphs, even sometimes entire sections, to citing other role-playing games. Very often, the games cited are part of The Forge community. Again, I am gathering data to quantify this phenomenon.
It seems that the game Sorcerer (1996) holds an important place:
- In number of references (roleplaying games, fiction, people, etc.);
- In the number of citations by the community;
- In the diversity of types of references (bibliographies, acknowledgements, epigraphs, sourced notes of intent, etc.).
OSR blogosphere
The 2000s saw the advent of many amateur publications in the form of blogs, such as the community of gamers practicing so-called OSR (old-school renaissance) gameplay for example.
![]() |
OSR Blogs and theirs links |
Here is a graph of citations between OSR blogs. It has been published on Discord. The author is unknown to me. The method is unknown but it seems that the citation links come from the menu of each blog. Given the graphic appearance, it was produced by VOS Viewer (a very good free tool by the way). According to Josh, who relayed the information, it appears that red colors a "grognard" trend in the movement, while green colors an "artpunk" trend in the movement.
We can see that citations between blogs are important. In order to draw interesting conclusions, we would have to analyze the citation strategies (perhaps a questionnaire?). However, at first glance, I notice that the most visible blogs are also the ones that are original, or relevant, or erudite (and counting several years of existence).
Citing for Community Building
Zedeck Siew, a Malaysian role-playing game designer, recently emphasized the importance and duty of citing his sources, especially to prevent memory loss in a creative community :
« 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/
According to him, « Interlocking chains of citation reinforce a creative culture for all working within it. An immune system against the attention economy, that:
Has us bunkered / broken up by social media;
Causes creators with less access to online time *appear* to stop working. »
Very interestingly, he adds that « Plus, awareness of citation politics generally helps creators from less privileged contexts-
Women; queer folk; non-White people; people from outside the West; people from non-English-language contexts; etc
Who for a myriad reasons are often left un-cited. »
He witnessed that some designers mention their inspirations early in their creative process but that list diminishes as their work progresses.
He concludes his loving ode to quotation [touching my librarian values] by saying that « Citation helps you understand your own work, too. (...) If you have nobody to cite- cite someone anyway. (...) You excavate unconscious antecedents. Situation it in an ecosystem. No work lives in a vacuum. »
Monday, May 30, 2022
Working with literary epigraphs in Wikidata
This post is part of the series on epigraphs. Many tabletop roleplaying games use this literary technique.
In 2019, a new property named epigraph (P7150) was created in Wikidata to index epigraphs in literary works*. This is a very interesting initiative as it proves that Wikidata can have a rich ontology with precise qualitative descriptions. For the moment, the property is quite little used (most of the contributions come from me**).
I dream that one day the data will be complete and meaningful enough to produce interesting results in digital humanity. This would be a nice topic for a thesis.
Hypothesis (developed in a future post): Perhaps fantasy literatures are more referenced than the "normal" literary works, in the sense that they contain more diverse references to other works or sources.
Some examples of use
In speculative fiction
- Foundation: the intra-diegetic epigraphs reveal the success of Hari Seldon's Encyclopedia Galactica project and thus frame the narrative.
- In Dune, the epigraphs come from characters such as Princess Irulan, who will become central character later in the work. In general, they create a chorus style (before it was fashionable).
- The Lord of the Rings: with its famous epigraphic poem that synthesizes past history, present situation and issues. Partly in the words of the main antagonist. Brr.
- The Handmaid's Tale: with sourced epigraphs that reveal the conflict of values at play in the novel.
- The King in Yellow contains one epigraph per chapter/novella, as well as an epigraph for the collection: some epigraphs refer to existing works, others to fictional ones. This creates an effect of confusion and surreal proper to the decadent movement, as well as a playful effect with the reader.
In the tabletop role-playing games
- Dirty Secrets
- Ryuutama, Natural Fantasy Roleplaying Game
- The Ultraviolet Grasslands
- See discussions in post 1 and 2.
In videogames
- Uncharted (Naughty Dog 2007, 2009, 2011, 2016)
Some SPARQL queries
- To find all the epigraphs in speculative fictions
- To list the works containing the most epigraphs
- To count how many epigraphs are indexed in Wikidata
How to contribute ?
![]() |
Indexing example |
For indexing specific epigraphs
- P7150 (epigraph) =
- Typing the body of the epigraph. No quotation marks like « » or "" "".
- Indicating the language of the epigraph : en or fr or la (latin) or others. In case of multiple languages : mul. In case of unknown language : und.
- Qualifiers of P7150 :
- P1545 (series ordinal) : in case of several epigraph : 1, 2, 3,…
- P5997 (stated in reference as): the reference of the epigraph as written in the work.
- P1552 (has quality)
- = Q96102813 (in-universe perspective) : in case of an epigraph from a fictive work in the work (true in the fiction). (Example : the poem at the beginning of the Lord of the Rings).
- OR Q96102813 (fictional quotation)
- = Q112046597 (made up quotation) : in the case of a false, invented, apocryphal quotation (Example : false quotation of Eleanor Roosevelt in Talladega Nights).
- References of P7150:
- P248 (stated in): QID of the work from which the epigraph is taken.
- P50 (author) : QID of the author of the epigraph.
- P792 (chapter) : where is the epigraph in the work (if not at the beginning : in this case don't indicate the location). Or P958 (section, verse, paragraph, or clause).
For indexing multiple epigraphs (without indexing specific ones) :
- P2283 (uses) =
- epigraphs (Q669777)
- has quality (P1552) = referenced value (Q71536081)
- quantity (P114) = number of sourced epigraphs from existing other works
- fictional quotation (Q18011336)
- has quality (P1552) = in-universe perspective (Q96102813)
- quantity (P114) = number of forged epigraphs for this work
Exampleemple de code Quickstatement pour une importation en lot :
qid,P2283,qal1552,P2283,qal1114,P2283,qal1552,P2283,qal1114
Q105349656,Q669777,Q71536081,Q669777,1,Q18011336,Q96102813,Q18011336,24
______________________
* I have also clarified the ontology and other definitions of the term epigraph (in archaeology, mathematics, etc.).
** I have indexed the 84 crazy epigraphs of Moby-Dick for example.