ryot icon indicating copy to clipboard operation
ryot copied to clipboard

[FEATURE REQUEST] track video games process on game platforms

Open theggs opened this issue 1 year ago • 12 comments

For now, it seems users have to track video games proccess manully. It would be convenient if ryot can integrate with video games provider platform like Steam, PlayStation, even Nintendo. Then ryot can sync the collected game automatically, and store the progress on the platforms.

theggs avatar Jun 16 '24 15:06 theggs

Fair ask. Will see what I can do. Thanks for your interest.

IgnisDa avatar Jun 16 '24 15:06 IgnisDa

@theggs I am not sure how integration with PlayStation/Nintendo will work? I have never played on those consoles. I thought they are just game publishers. Don't they sync the actual game progress to Steam?

IgnisDa avatar Jun 17 '24 14:06 IgnisDa

@IgnisDa They store users' game achievement and history on their own platform and with their own structures. I didn't find the official api docuements from Sony PlayStation or Nintendo. But there are some software support import user data from them.

https://rawg.io/ (a game database and game tracking website) support import from PlayStation(although I never succeed), Steam, Xbox and GOGS. Some mobile application I used like Xiaoheihe https://play.google.com/store/apps/details?id=com.max.xiaoheihe (I don't know if it can be access internationally) support import user data from steam, PlayStation, Nintendo Switch, Epic.

theggs avatar Jun 17 '24 15:06 theggs

I understand importing from Steam and Epic, but I don't think I want to support anything else you've mentioned.

IgnisDa avatar Jun 17 '24 15:06 IgnisDa

That's fair.

theggs avatar Jun 17 '24 15:06 theggs

LANCache has some pre-fill apps that might help, but I think there's only Steam, Epic, and Battlenet, 2 of which Ignis already has figured out.

LANCache does let you cache anything it can have the CDN for, including Nintendo and PlayStation (it works like a DNS sinkhole but only knows the CDNs), but I think only the pre-fill apps are able to pull library information.

Sony used to have a way to download a library list according to this old gamefaqs thread. I couldn't find anything in the modern PSN account page though. Another route that comes up is the idea of scraping the PlayStation store. I did find this on GitHub, which seems to operate on that approach.

This and this seem to follow the same approach with Nintendo.

aureateflux avatar Jun 17 '24 17:06 aureateflux

i would love to see PSN integration.. right now i use https://psnprofiles.com/ to see every game i have completed or played and also the achievements completed

EdeAbreu23 avatar Jul 02 '24 16:07 EdeAbreu23

@elvis0288 How do you use this website? Do you mark it as completed manually there or is there any integration with your console?

IgnisDa avatar Jul 02 '24 17:07 IgnisDa

image in here you do not even need to have an account (but i do). on the picture above with just typing a PSN username and clicking update user it will pulls all the info from that user (the user needs to have share profile public) and it will bring every game that person has play

image

this is an example then i can filter by games played and all that.. the % indicates how many trophies have been completed.. so not sure if the way to go would be to pull trophies and mark % of completion of the game or just pulling the game list and then users will select if they are working on it or completed it.

found this that tries to explain how to pull the trohpy https://andshrew.github.io/PlayStation-Trophies/#/

here is an example https://m.np.playstation.com/api/trophy/v1/users/{accountId}/trophyTitles

the only really thing needed is the PSN ID

this is the result

{ "trophyTitles": [ { "npServiceName": "trophy2", "npCommunicationId": "NPWR21575_00", "trophySetVersion": "01.07", "trophyTitleName": "Destiny 2", "trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR21575_00/45976ee9-344e-423d-940d-5e42fc82e5b8.png", "trophyTitlePlatform": "PS5", "hasTrophyGroups": true, "definedTrophies": { "bronze": 8, "silver": 4, "gold": 11, "platinum": 1 }, "progress": 53, "earnedTrophies": { "bronze": 2, "silver": 3, "gold": 6, "platinum": 0 }, "hiddenFlag": false, "lastUpdatedDateTime": "2021-03-17T21:58:18Z" }, { "npServiceName": "trophy2", "npCommunicationId": "NPWR22596_00", "trophySetVersion": "01.00", "trophyTitleName": "Crash Bandicoot 4: It's About Time", "trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR22596_00/aeb3ccd0-9346-4845-8a9e-871cf7a7d9d8.png", "trophyTitlePlatform": "PS5", "hasTrophyGroups": false, "definedTrophies": { "bronze": 40, "silver": 9, "gold": 2, "platinum": 1 }, "progress": 27, "earnedTrophies": { "bronze": 19, "silver": 0, "gold": 0, "platinum": 0 }, "hiddenFlag": false, "lastUpdatedDateTime": "2021-03-17T18:05:41Z" }, <#-- truncated --#> } ], "totalItemCount": 300 }

EdeAbreu23 avatar Jul 02 '24 17:07 EdeAbreu23

Understood. Thanks.

I will probably creating separate issues for each game platform.

IgnisDa avatar Jul 02 '24 17:07 IgnisDa

Adding a few links from the ever-pioneering Home Assistant community that may be helpful:

Official HA Xbox integration

HACS Nintendo Parental Controls Integration

HACS PSN Integration

aureateflux avatar Jul 03 '24 04:07 aureateflux

Ah, looks like I got marked as a duplicate. Most people here are advocating for services to track when a game is complete, which is pretty hard to do without achievement tracking also. I.E. Trueachievements.com does this by flagging an achievement as completing the game.

Image

What I'm advocating for is much easier to do and has already been done by HowLongToBeat.com and YamTracker. I would like to use the Steam API to import all the games in your Steam library and put them into a dedicated collection. Then you could go through that manually and mark a few of them as complete. It should also be able to pull playtimes, to help you estimate how long a game took you to complete.

RandyWeyer avatar Aug 08 '25 21:08 RandyWeyer