GamerKingFaiz / shouldiplay

Web app that combines data from HowLongToBeat and OpenCritic.
https://shouldiplaythis.com
MIT License
48 stars 4 forks source link

Thoughts on including active player count? #2

Open affanshahid opened 2 years ago

affanshahid commented 2 years ago

Great project. I was looking for something like this.

What do you think about integrating something like steamcharts for active player count since thats something I always look at when searching for multiplayer games.

The problem would be for games that are not on steam or don't have these stats available anywhere

GamerKingFaiz commented 2 years ago

I'm not too inclined in implementing features that are only available to one platform.

I got plenty of questions about why some games don't have a rating (answer being that OpenCritic only has games from 2015 onwards) that I wouldn't want to put in another stat that only games from a certain platform would have.

NilSilva commented 2 years ago

So i guess "isthereanydeal.com" info is also a no go....

rodrigojmr commented 2 years ago

To someone suggesting more integration with other services, the more multiple services there are the more likely it is to require things like caching, or a synced database that periodically updates all and requires proper matching between games, as there may be stricter API limits and more difficult integration between each service. Currently every time a user loads the site there are around 20 API calls to openCritic, if not more. And the info is just enough for a glance. This is often why more extensive sites will only have this information - if at all - on the individual game page.

GamerKingFaiz commented 2 years ago

Currently every time a user loads the site there are around 20 API calls to openCritic, if not more.

The max OpenCritic API calls that can be made on page load is 20.

The site queries HLTB first (HLTB API returns at most 20 games), then my backend API (implemented in https://github.com/GamerKingFaiz/shouldiplay/commit/806f5759b08595f1d868daf4eaf5265f5f5a6a9f) is queried for each game, then if there is a return (i.e. an OpenCritic ID match from my backend) an OpenCritic API call is made.

There was a bug (#7) that allowed double the amount of queries to potentially happen, but I fixed that with https://github.com/GamerKingFaiz/shouldiplay/commit/4d394c04b6f84815577d30842c90ee19301c54fb.