This is Niche Gamer Tech. In this column, we regularly cover tech and things related to the tech industry. Please leave feedback and let us know if there’s tech or a story you want us to cover!
Previously we covered that Valve was hoping to make a more accurate Steam Spy. It seems that they may have accidentally done just that.
We’ve learned (via Arcs Technica) that a vulnerability in how Steam handles it’s achievement system and their API meant that some could “generate extremely precise and publicly accessible data for the total number of players for thousands of Steam games.”
The vulnerability has since been patched, but not before users have generated a list based on what they discovered. Arcs Technica explains (via programmer and games designer Tyler Glaiel) how the achievement data helps calculate the number of people who played a game:
“The new data derivation method, as ably explained in a Medium post from The End Is Nigh developer Tyler Glaiel, centers on the percentage of players who have accomplished developer-defined Achievements associated with many games on the service. On the Steam web site, that data appears rounded to two decimal places. In the Steam API, however, the Achievement percentages were, until recently, provided to an extremely precise 16 decimal places.
This added precision means that many Achievement percentages can only be factored into specific whole numbers. (This is useful since each game’s player count must be a whole number.) With multiple Achievements to check against, it’s possible to find a common denominator that works for all the percentages with high reliability. This process allows for extremely accurate reverse engineering of the denominator representing the total player base for an Achievement percentage.
As Glaiel points out, for instance, an Achievement earned by 0.012782207690179348 percent of players on his game translates precisely to 8 players out of 62,587 without any rounding necessary (once some vagaries of floating point representation are ironed out).
Because this data is derived directly from Steam’s API for each game, it ends up much more precise than the old Steam Gauge/Steam Spy estimation methods, which relied on random sampling of a small portion of the Steam player base. But this method only works for games with developer-defined Achievements, so it covers about 13,000 of the roughly 23,000 games now on Steam.”
The website also provides a link to a CSV file for the data uncovered. Data includes the top played game being Team Fortress 2 at 50,191,347 players in total as of the date of the leak. Meanwhile the bottom four games on this list have had just three players each.
What game’s player numbers have surprised you? Any you think that should do better? Sound off in the comments below!