The Game Library Service provides access to a collection of game modules.
Game modules have an assortment of metadata. Some metadata pertains to the game, such as title, publisher, year of publication, topic. Some metadata pertains to the module, such as the module maintainer and module version.
The Game Library Service shall provide endpoints for
getting game module metadata by module id
submitting game module metadata
querying game modules by metadata fields
querying game modules by full text searches over all metadata
getting a URL for a game module
uploading a game module and receiving back a URL for it
What the Python and Rust package repositories, PyPi and Crates.io, respectively, do here may prove instructive. Both have manifests for setting package metadata.
Hereās the documentation for the JSON PyPi returns:
Start w/ existing Metadata defined under āModulesā section of website. #players; publisher; game series; era; topic; yearpublished; scale
Add:
Module creator/maintainer(s)
Game Designer(s)
I would consider scrubbing the existing topics list and making a smaller more standardized list (list is a lot bigger than below 4, but maybe 20-35% of existing list).
*worker placement
*wargame
*Economic
*Civilization
I would also consider allowing up to 3-5 standard topic tags and tiered sub-tags under each. This would be particularly useful for wargames . Example:
Tier-1: Wargame
Tier-2: Area Movement
Tier-2: WW2
Tier-3: North Africa
Some data belongs to the game, some to the module. Itās also not 1:1. There are some modules covering several games, as when there two or more games which can be linked.
Yes, there is a challenge there. Even BGG has not satisfactorily addressed it - thinking of how games are recorded, especially when for games with multiple expansions and editions.
IMHO there are pros and cons to both a small standard concise list and user defined tags. Looking at the current module subcategories illustrates that. Lots of proliferation of tags that are at a lower level (e.g., specific wars, that are subcategories of wargame (and some are incredibly niche)), while more fundamental categorizations are missing.
I (for instance) am a huge fan of āarea movement gamesā (contrasted with hex based) (like BreakOut Normandy, Montyās Gamble, etc.), but that categorization doesnāt exist.
If the tags are completely freeform, then people may omit standard categorizations (like wargame/WW2) that would help players find modules of potential interest.
Also proliferation of semantically equivalent tags:
World War 2
The Great Patriotic War
WW2
WW-2
Hitlerās War
etc.
They have separate lists of āCategoriesā, āMechanicsā and āFamiliesā, and you can apply multiple tags from each list to a game.
Our current āTopicsā seem to be a very limited mixture of āCategoriesā and āMechanicsā.
I donāt think their āFamiliesā are particularly useful, but I think their āCategoriesā and āMechanicsā lists are pretty good.
The problem with user defined tags is as Korval mentioned, people donāt follow the rules, donāt check to see of one already exists etc. and your list of tags becomes polluted and less and less useful over time.
Iād rather start with a decent, but fixed list and users can request for new ones to be added.
I agree with Brent and have generally tried to follow BGG, but the format of our wiki pre-defined module tables is limited and can only do so much so there is a pick and choose poison element in that regard.
As such I try to standardize the module page tags.
The example from Korval is an excellent example of where I try to make sure the āEraā tag is always made to WWII as opposed to WW2, WW-2 etc for those games so at least all those types of games remain grouped together at that level. Everything is linked and nothing is broken.
Internally to a created module though - how would you set rules for a module designer to follow as to how to tag / categorize something they create. I donāt see that feasible in an open source software environment.
We canāt control that, and hopefully peer pressure from players will encourage the designer to update the tags if they donāt represent the actual game.
What we can do is provide a consistent, meaningful and (mostly) complete set of tags from which a designer can choose.
BGG is maximalist hereātheyāre trying to be something like a game encyclopedia. Quite a few of these I donāt see a reason for us to include.
What we have in the wiki now that is game metadata is:
title
publisher
year released
number of players
length
era
topic
scale
Itās hard to make a principled distinction between BGGās type, category, and family; they all strike me as tags.
Do we really want to (continue to) be in the business of curating a set of tags? Maybe Iām overestimating how much work it is. StackOverflow seems to have done fairly well with evolving a set of tags, though they have an active community curating them and a mechanism for suggesting tags when you submit a question.
I agree that we donāt need the extensive list that BGG has.
However from my perspective, I think there would be value in having āMechanismsā (e.g., previously mentioned Area Movement) and āDesigner.ā There are some designers I would love to search on (personal favorites).
I think there is value in both unrestricted module designer specified tags/keywords and a curated list (e.g., Mechanisms).
I will add that of the current list of data, I find most of them (e.g., length, publisher) far less helpful than I would find Mechanism & Game Designer.
Oh and a critical addition module developer/maintainer.