←back to thread

402 points _JamesA_ | 1 comments | | HN request time: 1.182s | source
Show context
sitkack ◴[] No.44382539[source]
Given that Windows games run faster via Proton on SteamOS, developers should prioritize targeting SteamOS APIs—not Windows. This ensures compatibility with Windows while maximizing performance. Game engines like Unity and Unreal must adopt SteamOS as the primary target, with CI systems rigorously testing both platforms. SteamOS, not Windows, should be the baseline for optimization.

Does Valve run a SteamOS CI/CD farm? I could see a Rust based template and library for calling into this set of APIs that you could upload your well structured project and it would build and test for all platforms. Rust would just be the skeleton, your game logic could be in anything Rust could link to.

replies(4): >>44382671 #>>44383474 #>>44385317 #>>44387927 #
SchemaLoad ◴[] No.44382671[source]
I'm not sure that makes sense since the Windows API is the source of truth for how something works. If you make a game that works on Windows but not in Proton, Valve will push a fix that makes Proton work the same as Windows. But if you make your game work with Proton, but not Windows, you are relying on some quirk of Proton which isn't guaranteed to work in to the future and as soon as something else needs it to work the same as Windows, your game will break.

Test your game to make sure it works on the Steam Deck and avoid features that don't work on Proton, but you still have to primarily target Windows.

replies(1): >>44383004 #
sitkack ◴[] No.44383004[source]
You would need to test on both of course. I am arguing that one should target the fast happy-path on Proton as Proton is a subset of the Windows APIs that runs faster than Windows.
replies(1): >>44383366 #
SchemaLoad ◴[] No.44383366[source]
Proton isn't a subset of the Windows APIs though. It's very likely that you could end up depending on behaviors which only exist in Proton.
replies(1): >>44385555 #
1. viraptor ◴[] No.44385555[source]
That's very much not what I expected. Do you mind pointing out something Proton implements that windows doesn't?