Hacker News new | past | comments | ask | show | jobs | submit login

Right, you need to utilize the steamworks SDK to use DRM. And even if you use the SDK, it is actually possible to not implement the DRM. Specifically, you can just not run the drm wrapping tool, and not implement DRM directly though the Steamworks api calls. The wrapper in compatibility mode (used when wrapping with another drm scheme that supports after-compilation wrapping) literally just checks if launched through Steam, and if not, requests that steam start and launch the game, and if launched through steam, checks for a valid ticket. In non-compatibility mode, it adds some basic checks against the executable being modified, etc.

For offline games, the DRM is little more than an anti-(casual-piracy) feature, making the obvious copying of the game folder not work, with generic cracks being easy to get online. It is more like games requiring the disc to play back in the day, even when fully installed, as a measure to avoid casual piracy, especially before CD writers were a thing.

Interestingly, despite having a generic executable wrapping system, many games that choose not to use Steamworks DRM are the older ones where source code is no longer available to recompile, or there are concerns about recompilation. I’m not sure why the wrapper would be a problem, unless the games contained integrity checking code, or you want compatibility with modding tools that edit the binary. Alledgedly at least one publisher literally applied a crack they downloaded from a piracy site to their retail release, and uploaded that to Steam, and in that case, I could easily see the steam DRM wrapper not being feasible to apply, as residual checks from the old DRM could cause breakage.

Valve even went out of their way to conceptually decouple the SteamVR SDK from steamVR. Instead they made “Open VR”, an interface conceptually like OpenGL or Vulkan, which allows for more than one runtime implementation. However, SteamVR is the only runtime implementation. But in theory, if a VR game on steam did not use Steam or other DRM, and you had an alternate OpenVR runtime, you could take the game folder from Steam, and run it against said alternate runtime fully separate from Steam (if only such a runtime actually existed).




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: