STEAM? Video Game Ratings and Mature Content
TL;DR - The archeological dig continues! Let’s look at age requirements, ratings, and mature content descriptors, those indicators of what you will see in the game.
INTRO
If you’ve visited the STEAM? store then you’ve probably been required to enter a birthdate before seeing some game content. And of course you were truthful. ??
Parents want to know what’s in the game and make appropriate choices for their children, so they need to review video game ratings for their country of residence.
STEAM? enables those things using content warnings and country specific ratings, so let’s have a look at how the following systems show up in the public data APIs. We’ll cover these:
METHODOLOGY
The data for this is the same data as the previous dig, except that it has been extended with the month of June, 2024. To be specific, all data discussed here is for STEAM? applications labeled as a game with a publication date between 2003-01-01 and 2024-06-30.
So let’s go through the discovered artifacts! By which I mean the things uncovered during the dig.
Note: I use the term JSON document to refer to the JSON formatted text provided by the STEAM public APIs. I use the term ‘field’ to refer to a specific key and its value. The terms ‘property’ or ‘attribute’ are also often used interchangeably with ‘field’.
EXECUTIVE SUMMARY
This is a high-level description of conclusions. The details can be found below for those who want to dig in. Or who wants to check my work. ??
Here’s what the data show:
STEAM? MATURE CONTENT
Your STEAM? account preferences page allows configuring Mature Content Filtering, settings that determine which applications (games, etc.) you’d like to have presented to you. At time of writing, it looked like this:
There is a field named content_descriptors at the top level of the JSON document returned by the appdetails public API that matches those filter settings. Here is an example content_descriptors field, which contains an object.
"content_descriptors": {
"ids": [2,5],
"notes": "There are optional romance choices, although they fade to black. \r\nThere are multiple un-skippable sections where you move past and interact with decapitated corpses. \r\nThere are optional times where you can drink alcohol, or provide alcohol for others to drink. \r\nThere are multiple times when you have to, or have the option to kill people, or to hurt them. "
}
The ids field is an array of integer identifiers for the five Mature Content Filtering preferences above, whereas the notes text field appears to be freely editable by the owner of the account controlling upload of the game.
Some miscellaneous observations:
I tracked down the correspondence of ids integer values to the Mature Content Filtering preferences list above by practicing some detective work:
All games that have a Mature Content classifications start with ids=[5], for General Mature Content. Think of it as a minimum rating. Stricter, additional ratings stack on by extending the list.
Here is a summary of the different configurations found for all games with these classifications for the date range investigated.
You might think that if a game is labeled “Frequent Nudity or Sexual Content” that it would not need to include “Some Nudity or Sexual Content”. However, some games are labeled with both while others are just labeled with the stronger tag.
The Content Descriptors Notes Field
It was obvious from scanning through the text in the notes field that it’s editable by humans without a lot of restriction. The text is highly variable but we still want some sense of what’s in there, so I create a word cloud.
There was a lot of cruft, as you might imagine, so I visually scanned the word list and excluded ones that jumped out as less important. YMMV.
Excluded words are below. I assume that the isolated ‘s’ and ‘t’ are for contractions and possessives — I split the text on non-word characters, which includes punctuation, apostrophes, etc.
a about actions against all also an and any appear appearing appropriate are around as at be being between both but by can certain contain contains content contents do does during etc few find for from game general has have however if in include included includes including involving is it level like lot main many may might more no non not of on one only or other our part please related s see should showed shown so some style such t that the their them there these they this those through throughout to under up usage used various very we well when where which while who will with within without you your
There were over 170,000 word occurrences, post filtering. The most frequent word in the raw data was “content”, which I also excluded.
Here is the word cloud for the most frequent 999 words where size of the word is proportional to its frequency.
It may have been useful to include some phrases intact but that would have been a lot more difficult. ?? But I was lazy and focused my time elsewhere.
Here’s the word cloud. It’s about what you would expect.
COUNTRY SPECIFIC RATINGS
There are a large number of video game rating groups, agencies, and committees around the world. A game may have been passed in front of zero or more of these agencies who then provided a rating and requirements such as age gating or minimum age requirements.
There is a field called ratings at the top level of the JSON document returned by the appdetails public API. It is a dictionary (JSON object) of JSON objects, one for each rating applied. The field names in the dictionary are initialism/acronym sequences for a ratings agency together with some number of settings for that rating.
The configuration parameters present can differ from agency to agency. The list below covers all that I found together with my best guess at the full name and a link to a source describing the system.
Some rating systems included a banned field, which I did not investigate.
Note that the VIDEO entry below appears in the JSON document schema but is not used for games. It appears to have been used solely for the now-discontinued application types: advertising, episode, series, and video.
STEAM? Supported Ratings Systems
Each of these entries is named by a lower case initialism that I’ve put in UPPER CASE for readability. E.g., ACGOM is agcom, ESRB is esrb, etc.
In cases where a name changed over, in included the new names.
Not every initialism corresponds exactly to the name of a system, group, or agency. In some cases I’ve added bold formatting to identify a textual relationship. In some cases I’ve included an English translation for the name.
STEAM? Assigned German Ratings
I was initially mystified by the existence of two distinct German video game rating systems: USK and STEAM_GERMANY.
The USK rating is the official one you can read about on the internet. So what the heck is the steam_germany field, which includes a rating_generated field that is always set to an integer value of 1 when present?
The STEAM_GERMANY and USK are neither mutually exclusive nor mutually required. There are 29,113 cases of just STEAM_GERMANY, 4496 cases of just USK, and 1534 cases where they occur together.
Then I Googled a little harder and found an explanation on a STEAM? community page from March 1st, 2024.
For a few years, both Brazilian and German laws have required that games in those markets have a content rating to help customers find age-appropriate content. For Germany in particular there has been a legal debate whether this requirement only applies to games newly introduced to the market or also to the back catalogue.
The German regulatory authority BZKJ has expressed to us their interpretation of the law applies to all games on STEAM?, including ones that were launched before the law came into effect. As a result, we will be required to only offer games for sale in Germany that have either been through STEAM?'s built-in rating process or have a rating issued by Germany's rating agency, USK.
Note: I added the link to Bundeszentrale für Kinder- und Jugendmedienschutz (BZKJ), which translates to Federal Agency for Child and Youth Protection in the Media.
领英推荐
Voila! The STEAM_GERMANY rating is generated by a STEAM? system for many games, but not all. And it was done retroactively.
The generated rating relies on a questionnaire, so I assume games without either the USK rating or the questionnaire have neither and therefore can’t be sold in Germany.
STEAM? Assigned Brazilian Ratings
When graphing the number of games receiving various video game ratings it was apparent that the DEJUS rating was very frequent, even more numerous than the STEAM GERMANY count. Then I noticed a rating_generated field in it as well.
These ratings are likely to also have been generated for the backlog of games. Of the 61,420 games with a DEJUS rating, 24,138 are marked as generated.
Rates of Rating Assignment
Getting a non-STEAM?-generated rating for your game requires submitting it to a governing agency for review. That means effort and time.
The graph below includes the automated ratings supplied by STEAM? when you fill out the form. In the JSON these are called steam_germany and dejus. In all the following graphs those are labeled as STEAM DE AUTO and DEJUS AUTO.
DEJUS is not always automated, but I lumped together all DEJUS ratings, ignoring the rating_generated flag.
This is a very busy graph - my apologies. One takeaway is that lots of games are getting ratings each year but the fraction of games getting a given rating varies over time.
DEJUS AUTO and STEAM DE AUTO are at the top, likely due to STEAM?’s automation.
AGCOM and CADPA were late to the game (pun intended), just getting going around 2014/2015.
There has been a decline since 2018 in the number of games getting all the other ratings. (Disregarding 2024 because it is an incomplete year.)
Are the curves we see just a reflection of the ever increasing number of published games? Let’s look at the data as percentages.
This graph makes clear that only DEJUS and STEAM DE AUTO are keeping up with the total number of games published, probably due to the self-service nature of the automated rating system.
All other ratings are falling progressively behind the volume of game publication, meaning most games never get those ratings.
ESRB started falling behind in 2007, with the rest falling behind or barely maintaining parity starting around 2012-2013 or so.
Note that DEJUS AUTO and STEAM DE AUTO were falling behind until 2019 and 2022, respectively. We know that Germany clarified to STEAM? around 2023 that *all* games needed to be rated before being sold. 2023 is when STEAM DE AUTO jumped to a high percentage. Perhaps Brazil made their clarification in 2019.
For non-automated ratings, either games are not being submitted to agencies for ratings, or the agencies are not staffed to review the deluge of games appearing on STEAM?, or both.
Total Rating Systems Applied
We know that the number of games published each year is climbing, and getting a rating takes work. How many ratings are game teams working to get for each game?
Here’s more fun with busy graphs.
The data reflect the rise of DEJUS AUTO and STEAM DE AUTO. In 2020 we see that more games get 1 or 2 ratings rather than zero ratings due to DEJUS AUTO and STEAM DE AUTO. Then in 2022 we see more games get 2 ratings than 1 or zero when STEAM DE AUTO gains traction.
Here are some observations for games with 15 ratings.
Rating Specific Age Requirements
We mentioned the infamous age gate for the STEAM store, but how many have a minimum age requirement?
Let’s look at each rating that, when applied, also specifies a minimum age. In other words, a non-zero/non-default required_age field.
The automated ratings systems for DEJUS AUTO and STEAM DE AUTO maintain a higher percentage of age requirement settings than the rest. The remainder of the agencies are hovering around 25%-30% of all rated games being given a specific age rating.
Some ratings hit 100% for some years, e.g., MDA/IMDA in 2012. One drawback of using percentages is that when the numbers are small, it’s easy to hit 0% or 100%. The inherently more noisy data in the early years of steam were when the number of games with that rating system were in the single digits.
STEAM? Store Age Gate Dialog
Remember that dialog that pops up to ask for your birthday? The video game rating can be set to trigger that dialog. Not surprisingly, it appears to be a boolean field called use_age_gate. ??
Note that by boolean, I mean the value can be an integer (0, 1), an integer as a string (“0”, “1”), a boolean (true, false), or a boolean as a string (“true”, “false”). *sigh*
I am under the impression that the application of that restriction is determined after geolocation of your connecting IP address, as I can freely view content that is age-gated for other countries but not for my own.
GLOBAL AGE REQUIREMENT
There is a field named required_age at the top level of the JSON document returned by the appdetails public API. This value does not seem to appear in the store page, at least not for me.
Here is a table summarizing occurrences of different required_age settings.
Fewer than 2% of the games on STEAM have a restrictive set in required_age. That is inconsistent with the individual rating systems age requirements, because it has to be. A singular value provided in required_age cannot cover every country or region specific video game rating configuration because the rating systems differ.
My best guess is that the global required_age is a historical artifact from before the multi-country ratings were added.
NOTES:
OUTRO
There was a lot here, but the word cloud for human-entered notes text for the Maturity Rating may be the most interesting part for many. ??
A fair chunk of my time was spent tracking down a few things, but the Content Rating Law was the hardest; it required me to reach out to folks with access to a STEAM? game configuration account. Thank you, Michael and Andy!
There is financial incentive to get your game rated — selling in that country/region — but only a small fraction of games do so if it requires more than filling out an online form for STEAM?. That cost (time, effort, complexity or information hurdle) may be an impediment for obtaining a rating for your game.
It may also be that a larger number of games are being published by small teams or individuals who don’t have the resources, knowledge, or business plan to enable selling into all countries.
RESOURCES
?? The previous article: STEAM? Data Archaeology
?? Wikipedia overview article on Video game content rating system
?? The STEAM? account preferences page
?? STEAM? announcement about generated video game ratings for games that may be sold in Germany.
?? Please reference the section above called STEAM? Supported Ratings Systems for links!