I've always kept records of video games I buy (or redeem for free). Given how many various services there are, I found it useful to jot down what I bought where, and where I can get the game when I want to play it. (E.g., I might buy a game on Humble Bundle, but get it in the form of a redeem code on Steam.) This post outlines how I managed it to make it as useful as possible, and make exploring the depths of it fun.
When game bundles became a thing, all this became even more important; I sometimes bought a bundle because of a few games in it and knew nothing about the rest of them. I wrote all of them down. Later, I also started trying to add at least one genre tag to the list.
That worked quite well: I could easily look up whether I already have a specific game, without having to consult all the platforms. Querying based on genres is also a great thing - "I want to play a puzzle game and I'm sure I have some I haven't played yet in that big list"!
Though that only works with the games where I actually took care to enter the genre. Leading us to:
Enrichment: when bundles get too big
I haven't bought anything on Humble Bundle for years; but back then I bought plenty of them, which resulted in my library having lots of games I knew nothing about because they were in a bundle I wanted because of something else. After the numbers got into the hundreds, I realized I have no chance of playing most of them, simply because I don't know what was in there.
So I've added enrichment from IGDB. Added separate columns to my table for things like themes, genres, aggregate rating, et cetera. Then I wrote an integration that tried to find every game in the IGDB - they have a free API - and stored the info in my table.
Much better! Now I have a chance to actually find any game by genre, or keywords in the description!
But - how much of my time would the game take? So I've added enrichment from HLTB as well. HowLongToBeat.com provides averages of user-entered info on how long it takes to finish a game. They do not provide an API, so I wrote a scraper.
The end result is great: I can search for games by description or genre, I can check out their 'themes', their rating, and expected normal/rushed/completionist playtimes. That makes it much easier to pick a game to play.
Later I also added pictures for the games, so the gallery view just looks nice.
I've been pretty satisfied with the system, until...
Giant charity bundles on Itch
Itch has sold a few bundles for charity causes (Palestine, Ukraine, Black Lives Matter) that got really big. For a few dollars, you could get hundreds of items - not just games, but also software tools, tabletop games, music, books, comics, packs of digital assets, and so on. But many developers wanted to entice people to support these charities, so they kept adding their things to the bundles even after I'd bought it. So when I checked back a few weeks later, it turned out the four bundles I'd bought now have over ten thousand items.
Only games are relevant for this post, and many items were present in multiple bundles; but even then, there were over two thousand new games.
That's a lot. I've long been undecided on what to do with them: many of them were small indie things and experiments and the like, and clearly, I'd never play most of them. And adding 2 022 games to my existing list of under 1 000 would totally flood the list. What to do?
I've eventually decided to go ahead and add the games to my master list. It would play nicely with a different project of my personal stack I'm working on, and I could always just filter out the data if I didn't want to see it.
But I've realized if I just dump it there, I'll definitely miss virtually everything in there. Iterating and tweaking my existing processes, I've ended up with this solution:
Firstly, I didn't run the IGDB enrichment on the games.
I've set it up to enrich one game every 11 hours and send me a chat message with information about it. That way, I get at least two games every day. If I feel like it, I can add a note to it, or a genre tag, or download it to play.
At this pace, it would take ~3 years to go through all of them, but there's no rush. This is fun, and I definitely will have more of an idea of what's in there than if I just loaded them all at once and never looked at them again. And if I don't feel like bothering with it on any given day, it's easy to just ignore the notification.
On the other hand, when I feel like exploring more, I can also prompt it manually to give me the next one:
More features: taking note
I've quickly found that sometimes I'm away from the computer, so it's not practical for me to edit the game info when I get the notification, but it looks interesting.
For a while I just added a reaction to the message in question, then scrolled up searching for them when I had the time. That worked but was way too tedious if there were many messages. (Many bots send info to that chatroom, so it might get quite busy.)
So I've added a new feature: whenever I 'react' to a message, it gets stored in a list of notes. It's easy to find it there later, review it, and archive it. Though it worked flawlessly, I'd always been paranoid and wondered if the bot didn't just fail quietly, so it now also adds a '✅' reaction when the note is created. The end result looks like this:
I'm pretty happy with how this turned out. And I get to explore my hoard for potentially years to come; almost like some dragon in a videogame. 😝 And if I run out - there are other categories of items in the Itch bundles, after all.