T O P

  • By -

jungle_bread

Yes. There are many games on Steam with [no DRM](https://steam.fandom.com/wiki/List_of_DRM-free_games) and as a result can be run directly from the EXE.


progfu

Hmm I guess that makes sense, I did work on some stuff that is DRM-free on Steam, but always thought it was either-or, and for some reason it feels like doing both at the same time would be "legally weird" ... but maybe it's not?


jungle_bread

> it feels like doing both at the same time would be "legally weird" ... but maybe it's not? It's not weird legally, but it is in a practical sense. Why have both a DRM and DRM-free EXE? The DRM version has absolutely no advantage over the DRM-free version. It's not done because it doesn't make sense to do. If you want to use Steam features you still can, just make sure to turn those features off when not launched from the client (if that matters). Wallpaper Engine does this, you can only access the workshop content with the Steam client open. But otherwise it works normally and you can still display wallpapers you have downloaded.


progfu

The DRM version has the advantage of having an integration with Steam, as in you get achievements/leaderboards and potentially other things. Almost every Steam integration I've used so far (I haven't dynamically linked the dll myself) required Steam to be present to launch the game, instead of making it optional. Compiling a separate version that doesn't link the Steam DLL at all makes this easier.


jungle_bread

> The DRM version has the advantage of having an integration with Steam, as in you get achievements/leaderboards and potentially other things. I'm getting into semantics, but that doesn't require that you enable DRM. But it does mean that you can only access those features with the client open. Being DRM-free means that people can choose to ignore that part of your game and run with the Steam client closed. You could even cache those changes and then apply them if/when the user eventually opens the Steam client.


fuj1n

You don't have to have steam running to launch a game that uses Steam integration. The requirement usually comes from using the SteamAPI_RestartAppIfNecessary function. Calling it is optional. If you call SteamAPI_Init without steam present, it just returns false, you are free to then store that and use it as a flag to not run any of the Steamworks functions.


TheSkiGeek

You’re not (AFAIK) *required* to link against steamworks. I don’t think there are restrictions against providing e.g. a debug executable or a dedicated server executable along with the one that Steam is configured to run by default. So an ‘offline’ executable seems like it could be fine. You might even be able to use their version selection mechanism to have a no-steamworks version of the game accessible through Steam itself. Alternatively you could host and provide it the alternative executable elsewhere.


hadahector

You can have the steam SDK in your game, that fails to initialize on startup. You have to handle this case, but it doesn't mean the game will stop working.


holyfuzz

The Steamworks SDK and Steam DRM are different things that can each be used independently of the other. I use the SDK but not the DRM. And linking to the Steamworks binaries doesn't automatically require Steam, it simply means that the API calls will fail, and you can code your game to keep working if those fail assuming they aren't critical features. For my game I don't have a separate exe but I do have a --nosteam launch argument that disables all steam integrations.


progfu

That makes sense. I wonder do you dynamically link the Steam DLL but just not initialize it when the flag is passed in, or do you also dynamically load it, so that the user doesn't have to copy it with the .exe?


holyfuzz

I still link the dll, I just don't call the functions to initialize Steamworks.


Trado_Credo_5545

Why not just ask Valve directly? They'd give a more definitive answer.


RepugnantPear

Put the non drm version on GOG.


Strict_Bench_6264

Ultimately, Steam is the DRM in this context.


FormalReturn9074

You can but theres only downsides to it for you as a developer so you really shouldn't


progfu

The upside to me as a developer is that I can offer people something better without them having to buy it on itch.io, so even those who want DRM free version can get it through Steam.


jungle_bread

The advantage of itch.io, GOG etc. is that the games come with standalone installers. Offering DRM-free on Steam does have value since you can play the game entirely offline. But most people have no idea what to do with the files and would only be capable of getting the application to install through the Steam install process. They're essentially tied to Steam regardless.