Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Games Recommendation System - Dev Progress

A topic by YUART created 9 days ago Views: 319 Replies: 7
Viewing posts 1 to 4
(+1)

Hi,

A while back, I started a project to build a system that recommends computer games based on individual user preferences. I’m dissatisfied with existing solutions, which often prioritize popularity or generic metrics, and I wanted to create something that delivers truly personalized recommendations, finely tuned to each person’s unique tastes.

I also don’t want to rely on existing generic recommendation engines, so I’m designing a system specifically optimized for games, with the flexibility for users to adjust what matters most to them when choosing their next game.

Right now, I’m focusing on itch.io for a few reasons:

  • I want to support indie game developers and help gamers uncover more indie games.
  • The current recommendation system on itch.io doesn’t meet my expectations.
  • Game data on itch.io is more accessible compared to platforms like Steam.

After a busy period, I finally have more time to dedicate to this project and already have some results to share. That’s why I’ve decided to start this thread - so anyone interested can follow the progress, provide feedback, or share their thoughts.

Hello @redonihunter, @user22, I’m pinging you here because you were interested in that topic previously in that thread (https://itch.io/t/4748289/itchio-api-for-game-metadata), so I thought you would like to see an update on the thing.

(+1)

Update 1

On the first attached image, you can see a graph representing the correlations between different game genres. The closer two genres are, the more similar they are. A black line between two genres means that, from the perspective of my current system, those genres are essentially the same.

In the current system, genres are described by 10 parameters. I may need to review the values for these parameters to better differentiate genres or add more parameters to analyze genres from different perspectives. The graph itself is somewhat strange, for example two very similar genres with only a small difference in weight can sometimes appear far apart for unknown reasons. If you notice any inconsistencies, they might be due to how the graph is visualized. However, I would still appreciate it if you could share your findings so I can double-check them.

On the second attached image, you can see a graph showing the differences between itch.io games from 2013. These differences are calculated based on genre differences. As before, black lines between games indicate that the two games are indistinguishable from the perspective of my system.

Fact #1: A small number of games (fewer than 10) on itch.io from 2013 have no recognizable game genre in their tags. Unfortunately, these games, and any future games with the same issue, will not appear in my recommendation system, as game genre is mandatory for the system to function correctly. If you are a game developer, always include the game genre in your game’s metadata. It’s better to assign multiple genres (if applicable) than to leave it blank.

Overall project progress: The backend is already complete - I can assign scores to games I like or dislike, and the system can already provide reasonable recommendations. Next, I need to create a frontend so interested users can try it themselves, and I also need to collect more game data from itch.io. I estimate this will take me about a month (including frontend development + data collection + and calculations).

(+2)

You can't ping people on Itch. This is not a social media platform to contact and chat with users. You cannot even contact users directly. Nor developers.

A black line between two genres means that, from the perspective of my current system, those genres are essentially the same.

If that is so, your current system's perspective is very wrong. Breakout and platformers are nothing alike. Hidden objects have nothing to do with visual novels. There is many more such examples. 

The issue is, if you try to analyze tags on Itch, your system's data is bound to be faulty. Itch tags are not accurate and you do not know the ranking of relevance, even if they would be accurate.

I am still unsure what you are trying to create. Is your system trying to tell people that like breakout, that they will like platformer games? Or if they like visual novels, that they will like hidden object games? Because, that would fail. Exhibit A is me. I do like some platformers, but I never liked breakout. I like some visual novels, but I do not like hidden object games.

You might want to double check popular games on Itch with their respective tags on Steam. Steam tags are ranked by relevancy and relevancy is chosen by users.

Let's try this.

Backpack Hero, Tags on Itch

Role Playing, Card Game, Strategy

2D, Cute, Deck Building, Dungeon Crawler, Pixel Art, Roguelike, Roguelite, Turn-based

And on Steam. "Popular user-defined tags for this product"

Replay Value, Inventory Management ,Turn-Based, Roguelike Deckbuilder, Deckbuilding, 2D, Fantasy, Roguelike, Strategy, Building,

Choices Matter, Turn-Based StrategyRoguelite, Casual, Procedural Generation, Singleplayer, Card BattlerController, Female Protagonist, Moddable

The developer chose role playing as a genre. Users disagree. It is not even in the list of the 20 most popular tags. Neither is card game, though deckbuilding is used. Nor Pixel Art. Nor Dungeon Crawler. And Steam has a cute tag. But users disagree there too. And yes, the characters are cute, but this is just not relevant, neither is the fact that it is a pixel art game. Curious, isn't it. Also, the game centers around inventory management, but on Itch no tag indicates such.

You can’t ping people on Itch. This is not a social media platform to contact and chat with users. You cannot even contact users directly. Nor developers.

Aaa ok, that’s strange, my previous experience with forums told me I can ping a user. Anyway, glad you found this thread by yourself :)

If that is so, your current system’s perspective is very wrong. Breakout and platformers are nothing alike. Hidden objects have nothing to do with visual novels. There is many more such examples.

True. Yesterday, I added more parameters to classify genres in a better way, and I managed to bring down the count of “duplicates” to 13. See the following image how the genres comparison graph looks now:

So thank you for the pin point.

The issue is, if you try to analyze tags on Itch, your system’s data is bound to be faulty. Itch tags are not accurate and you do not know the ranking of relevance, even if they would be accurate.

Yeah, I remember you said it last time in that other thread on the forum, and I also see this now by myself (as I mentioned in the previous post on this thread). For now, I don’t have a way to tackle that problem. From my side, I can only create some kind of tool that helps indie developers to put correct tags or find games with potentially incorrect tags, but this is not the main point of my current project. Also, game developers on itch.io must understand that the better tags they have for their game - the more people will find it and play it.

I am still unsure what you are trying to create. Is your system trying to tell people that like breakout, that they will like platformer games? Or if they like visual novels, that they will like hidden object games? Because, that would fail. Exhibit A is me. I do like some platformers, but I never liked breakout. I like some visual novels, but I do not like hidden object games.

Mmmmm, kinda yes but not. You see, this is the first step in the whole system - compare game genres. Comparing only game genres wouldn’t be a good recommendation system, as you said. I want to go beyond and compare other parameters as well, such as creators, style, mood, etc. Totally, I have planned to have around 13 parameters to describe the game, but for now, I only operate on 1.

Btw, if you like platformers, the current system will likely recommend you another platformer rather than a random breakout game.

You might want to double check popular games on Itch with their respective tags on Steam. Steam tags are ranked by relevancy and relevancy is chosen by users.

Let’s try this.

Backpack Hero, Tags on Itch

Role Playing, Card Game, Strategy

2D, Cute, Deck Building, Dungeon Crawler, Pixel Art, Roguelike, Roguelite, Turn-based

And on Steam. “Popular user-defined tags for this product”

Replay Value, Inventory Management ,Turn-Based, Roguelike Deckbuilder, Deckbuilding, 2D, Fantasy, Roguelike, Strategy, Building,

Choices Matter, Turn-Based Strategy, Roguelite, Casual, Procedural Generation, Singleplayer, Card Battler, Controller, Female Protagonist, Moddable

The developer chose role playing as a genre. Users disagree. It is not even in the list of the 20 most popular tags. Neither is card game, though deckbuilding is used. Nor Pixel Art. Nor Dungeon Crawler. And Steam has a cute tag. But users disagree there too. And yes, the characters are cute, but this is just not relevant, neither is the fact that it is a pixel art game. Curious, isn’t it. Also, the game centers around inventory management, but on Itch no tag indicates such.

I totally agree with this, and I have an idea how to overcome this - when my system can grab data from Steam or other sources, I will merge that data with existing records if there are any. For example, I indexed and put into the database Backpack Hero from itch.io. Then, I grab data from Steam, and while indexing Steam games, and found that I already have Backpack Hero game in my database. So I merge additional/missing data, and I use the same tags when recommending this game, so both itch.io and Stam users benefit from this. The process of merging data is not a trivial thing and will probably require manual review of every merge case, but I hope I will find the best solution if the project survives to that stage.

(+1)

I wanted to point out the fundamental hurdle you have by analyzing the usage of Itch tags/genres. Prime example is how the dev of Backpack Hero classified the game as a Role Playing game, yet that tag does not even appear in the user tag list of the 20 most popular tags on Steam. Feeding your model data points of arbitrarily developer chosen tags will not result in a model that can predict much. It will be very hard to filter out vanity tags and non relevant tags chosen by devs.

Backpack Hero can be described as Slay the Spire with inventory management, instead of card deck management. They slapped some story mode on top to have variations/motivation for different dungeon runs.

What do the tags on Steam say. Do they agree with that?

Roguelike Deckbuilder, Card Game, Card BattlerRoguelikeDeckbuildingTurn-BasedStrategySingleplayerRogueliteReplay Value, Indie, Difficult, Dungeon Crawler, RPG, Mouse only, 2DFantasyProcedural Generation, Great Soundtrack, Casual

Replay Value, Inventory Management, Turn-BasedRoguelike DeckbuilderDeckbuilding2DFantasyRoguelikeStrategy, Building, Choices Matter, Turn-Based Strategy, RogueliteCasualProcedural GenerationSingleplayerCard Battler, Controller, Female Protagonist, Moddable

Findings for that tag comparison highlights another problem. Trends change over time. Maybe Steam introduced a separate "turn-based strategy" tag at some point. It is not used for StS. And curiuosly "indie" is not used for BH. It seems not important anymore that a game is indie.

Swapping out card game for inventory management is a given, that was my description by analogy. Building might be from that story mode. I do not know why people selected choices matter, because they do not, except the most trivial sense (an example how users tags are also prone to inaccuracy). Female protagonist is not entirely accurate, except for that story mode. Both games have several playable characters and both games have male and female characters and both have a robot. StS is more difficult, that is true. Both are dungeon crawlers and BH is literally in a dungeon, while StS is climbing up the titular Spire.

Curiously people chose rpg for StS - which is again only true in the most trivial sense that you do not play as yourself in that game. They might just as well have chosen point & click, while we are at tags that are trivially/literally true, but not in the sense of a tag.

Unfortunately, StS is not on Itch, but if it were, the tags on that game would have been chosen arbitarily and as a reflection of popular tags of 2019.

---

After looking at the bubbles, some words. Ignore a lot of those tags. Condense the list of tags you analyze. Some tags have a lot of information, and others are useless. Maybe data artefacts. I could not find petraising simulation games, to pick one. You might look how many games use a tag or curate the list by other means. Steam has a handy counter how many games use a certain tag. But tag usage on Steam is different, not the least, because Itch has freestyle tagging. But some things are just not tagged on Itch. You do not tag mouse or controller input, those are meta tags.

Otome is a very informative tag. It basically is visual novel plus dating sim plus female protagonist. But how you got christian in there is a mystery. Otome is also a very accurate tag, in my opinion. If a dev choses that tag, it will be lots more accurate than chosing horror or visual novel. It is also a very decisive tag, as it will be either a deal breaker or a point of strong interest. I guess you will not be able to infer such information by looking at tag usage alone (and of course, that's just my opinion about the tag.)

Blockchain is not related to puzzles. It is pay to win scam/gambling involving crypto. Some of those might use puzzle games as an alibi game for their scam. But this will also be a strong decider. Either people know it's a scam and avoid games with that tag, or they might be addicted to the gambling and seek them out. Or they do not know what it is.

It's curious that you have the subgenre/hybrid puzzle platformer along with puzzle games, but not inbetween platformer and puzzle.

I never heard of many of those genres/tags in those bubbles. Your sample data might include some nieche game jams.

If you find a evolutionary style tree graph for game genres and sub genres, please post the link. That would be fun to look at. One can have sub genres and genre mixes that spawn new genres in their own right and so on. There probably is such a graph, but I could not find one on the quick. It probably would help your classification system to weigh genres. Tagging something puzzle and platformer vs puzzleplatformer might somehow be mapped equally internal. Or psychological horror games are a direct sub-genre of horror, so horror is less info than psychological horror.

(+1)

Hi, sorry for the late response.

I heard your scepticism regarding using tags as the main data source. Unfortunately, for now, I don’t have a good solution for that problem. Maybe the situation with tags on itch.io will improve one day, we will see.

Thank you for sharing your thoughts on general and sub game genres and confirming that with the otome tag example. I noticed that myself, but now I have confidence that this is something that should be tackled. I will try and see how I can improve the classification algorithm using relations between general and sug genres.

See the computer game genres relation graphs I found, look actually cool: image.png image.png image.png image.png

And after a while, look at what I found! This is very nice from the side of Dexter Yy that they shared that thing with the public. I will definitely use it for the development of my project. Also, thank you for giving me an idea to search for those graphs - found a bunch of cool stuff.

image.png

(+1)

Cool.

That's a big part of what tags are used for. There is different things a tag can say. Game mechanics, story, interface options, art style, certain topics of interest and so on. And some tags will say several things together.

Those diagrams are game mechanics. There might be some for story as well. Maybe there are some for stories in general and not just games. Like how cyberpunk is a sub genre of science fiction. I think the diagrams are not that deep there, like a western has not all that many sub genres. But crossovers like steam punk plus western. Of course for games, there are games that have no story at all or only some superflous fluff. Most of those will be in the arcade or puzzle genres I think. Also, classical card games like Poker.

If you have a poker game set in the wild west about a women trying to run a business, you would have tags about mechanics (poker/card game), the setting (wild west), the protagonist (female protagonist) and about how it is a business simulation. And if such would be super popular it might even spawn it's own tag that says "a game like that." And that tag might warp over time to mean something different. (Read history of the tag rogue like).

The game might have tags about how it is 2d, in pixel art and because it has perma-"death" and you would collect different bonus items on each "run", people might even call it rogue like. It has controller support and is fully voiced. And then you have the pixel art be anime style as well and the love interests of the female protagonist be women and you would use yuri as a tag.

Tagging is complex ;-) And why someone would like that hypothetical game is hard to pinpoint. It would be like saying someone likes a certain food because of which spices it contains.