Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Achievements #130

Open
MaoDzeDun opened this issue Nov 8, 2018 · 9 comments
Open

Achievements #130

MaoDzeDun opened this issue Nov 8, 2018 · 9 comments

Comments

@MaoDzeDun
Copy link

MaoDzeDun commented Nov 8, 2018

I know this is probably not possible, but is there a way for us to get the GOG achievements when playing Windows games with Proton? I know we can't do that for the native ones, because they don't have the functionlaity implemented (thanks CDPR), but I was wondeing if something could be done for the Windows games. I guess, somehow running them through the GOG Galaxy client would be a must.

@tkashkin
Copy link
Owner

tkashkin commented Nov 8, 2018

I have managed to install GOG Galaxy in Proton and use it as a "custom emulator". Games can be launched with Galaxy in the same prefix. It should be possible to automate that combo at least partially.

I need a list of Wine/Proton tweaks to maximize compatibility with Galaxy and as many games as possible.


About achievements: I probably want to fetch them and show them in UI for Steam and GOG games. I also want to fetch Steam/GOG playtime and implement own playtime tracking in future.

It should be researched if there's an API to get GOG achievements and playtime like for Steam games. If there's no such API, it should be possible to get anyway by parsing HTML.

(that part should probably be extracted into a separate issue)

@MaoDzeDun
Copy link
Author

I need a list of Wine/Proton tweaks to maximize compatibility with Galaxy and as many games as possible.

Wonder if the guy behind ProtonDB won't be able to help with that. I know they just implemented a recommended tweaks functionality to their entries, so in theory they should have that in they database.

@tkashkin
Copy link
Owner

tkashkin commented Nov 9, 2018

@MaoDzeDun

Wonder if the guy behind ProtonDB won't be able to help with that. I know they just implemented a recommended tweaks functionality to their entries, so in theory they should have that in they database.

ProtonDB lists only Steam games. It also doesn't have tweaks for all games and tweaks are probably just some human-readable text.

@neuromancer
Copy link
Contributor

I need a list of Wine/Proton tweaks to maximize compatibility with Galaxy and as many games as possible.

I know that's completely unrelated with this issue, but if you want that, my suggestion is to open a new repository in GitHub and ask people to fill issues for GOG games running in Proton/Wine. Eventually GameHub can include a list of "whitelisted" games using Pronto/Wine (with a special tag, maybe?).

@tkashkin
Copy link
Owner

It should be researched if there's an API to get GOG achievements and playtime like for Steam games.

There is achievements API on GOG. That API returns many useful info.
https://gameplay.gog.com/clients/<game_id>/users/<user_id>/achievements

Example output:

{
    "total_count": 78,
    "limit": 1000,
    "page_token": "0",
    "items": [
        {
            "achievement_id": "47933258878766343",
            "achievement_key": "ALL_IN",
            "visible": true,
            "name": "All In",
            "description": "Play three hero cards in one round of gwent and win the match.",
            "image_url_unlocked": "https://images.gog.com/4cc1d5ab04406a9014d342b49b285382f0de89d68d5a4386b1f7885548759edd_gac_60.jpg",
            "image_url_locked": "https://images.gog.com/9c4cfb85612abe4111c3690d69491e3582e439c27e69cb04057c6805564bec2e_gac_60.png",
            "rarity": 30.1,
            "date_unlocked": "2015-10-15T21:16:04+0000",
            "rarity_level_description": "Common",
            "rarity_level_slug": "common"
        },
        {
            "achievement_id": "47933258790162299",
            "achievement_key": "ARMED_AND_DANGEROUS",
            "visible": true,
            "name": "Armed and Dangerous",
            "description": "Find and equip all the elements of one set of witcher gear.",
            "image_url_unlocked": "https://images.gog.com/f2c86ffc2490508e820d7856b91904db51ff89e5da87c2d20a15bef0c645eeaa_gac_60.jpg",
            "image_url_locked": "https://images.gog.com/53deaa1b38221e5d600db95a6d82e3151a90f58e4cfcb1a0458ecbfc7a015d5b_gac_60.png",
            "rarity": 31.6,
            "date_unlocked": "2015-11-22T10:28:53+0000",
            "rarity_level_description": "Common",
            "rarity_level_slug": "common"
        },
		{
            "achievement_id": "47933258505404665",
            "achievement_key": "ENEMY_OF_MY_ENEMY",
            "visible": true,
            "name": "The Enemy of My Enemy",
            "description": "Use the Axii Sign to force one opponent to kill another. Do this 20 times.",
            "image_url_unlocked": "https://images.gog.com/9a955331d526125fb56532665c4b16353065accc2e0daa33a5d550b9d2c55a27_gac_60.jpg",
            "image_url_locked": "https://images.gog.com/2d5ab7501ec21b55be4a8b67b04a6f2e39ae206740ff8880b8ad0d838b41a34b_gac_60.png",
            "rarity": 2.5,
            "date_unlocked": null,
            "rarity_level_description": "Rare",
            "rarity_level_slug": "rare"
        }
    ],
    "achievements_mode": "all_visible"
}

@tkashkin tkashkin changed the title GOG Achievements Achievements Nov 11, 2018
tkashkin added a commit that referenced this issue Nov 11, 2018
@MaoDzeDun
Copy link
Author

This is very interesting. You think it can work for native games too or do they have to have the achievement functionality explitely coded in when ported, for it to actually work?

@tkashkin
Copy link
Owner

tkashkin commented Nov 11, 2018

It won't work for native GOG games.

@Hedronmx
Copy link

You could try to add retroachievements... It could work good with retroarch games
https://retroachievements.org/APIDemo.php

@Bitwolfies
Copy link

I think this would be a great thing to implement, along with a direct file downloads option (as opposed to downloading the installer then having to delete it after) and time tracking. Should all be under the same api right?

Lucki pushed a commit to Lucki/GameHub that referenced this issue Oct 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants