Steam has Mr. Goldberg emulator which makes it possible to register the achievements in a .txt file automatically.

But what about GOG? Afaik they only provide such features if you buy from their site and use their launcher, or am I wrong?

This kind of defeats the purpose of free DRM games, I want the achievements working too if I’ll pay for it, I want the whole experience.

It seems you need to have the game linked to your account then launch it via their launcher, why can’t we just import the game and get things working as if it was bought? That’s something weird I think about GOG and that’s why I don’t believe too much they’re that much pro consumer.

I was thinking about start buying some games but if I can’t have the whole experience I don’t see a reason for it. I don’t want to be vendor locked by some launcher. Using Steam + Goldberg emu I can have everything including achievements in a very simple format that can be parsed by any simple program.

If GOG can implement achievements why don’t they embbed it with the game .exe itself?

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    13 hours ago

    So if you want an actual technical explanation…

    Games on Steam have Steam Achievements because they are coded in such a way that certain game events/conditions hook into the Steam API and then award you the achievement on Steam.

    To take a game that has achievements that work with Steam, or … whatever Xbox Live is called now, or PSN… and make them work on GOG… you have to recode the parts of the game that trigger achievements, you have to add in the API that links to your GOG account and triggers the achievement to flag.

    That takes work. Its arguably, technically, a kind of porting.

    So either GOG or the game’s devs would have to do that work.

    If nobody does, no cheevos.

    Or, sometimes, a game will have its own totally internal achievement system that is local to it, basically like a sort of save file, kind of… but then you’d still have to hook that up to whatever platform’s achievement system/API.

    Or or, I guess, it might be possible to make some kind of… basically shim, like a crack, or sort of emulator kind of thing, that ‘hijacks’ the game exe and runs it inside of itself, monitors for the achievement triggers for whatever system the exe you have calls out, and then basically translates that into a trigger for the… GOG or whatever else achievement system.

    Basically Goldberg but for GOG.

    But that would either require GOG’s achievement API being open source, or someone reverse engineering it, or basically ‘acquiring’ the source code through probably not strictly legal means.

    And then if you use this, using it could/would count as hacking PSN or Xbox Live or GOG Cheevos or whatever.

    tl:dr; Many GOG games don’t have cheevos because somebody would have to actually do a significant amount of coding to make that work, and that doesn’t always happen.

    Like, for Godot, the game engine, there is an addon that adds support for hooking into the Steam API to make achievements work on Steam, if you release the game on Steam, and also of course coordinate with Valve and do all the stuff they need from you so that your game and its cheevos are accepted as part of your game and Steam’s support for it.

    But you can also just not do that.

    And save a lot of time.

    Maybe add in cheevo supoort later in an update, or maybe never.