I’ve built several small games and extensions, however I’m nearing completion of the first project I’d like to publish with a pricetag. Looking at Steamworks SDK, there’s a ton of stuff to consider like achievements, leaderboards, analytics, trading cards, etc. Steam also offers their own databases for in-game stuff, game servers, and other network-based solutions to common gamedev challenges.
The problem with using all of the features Steam offers is that they will not be generalizable across platforms. For example, I can’t use Steam databases or achievements if I also publish on Itch.
For those of you who have released a game on Steam or Itch or someplace else, what are you thoughts on this? Do you simply detect which platform the game is running on and disable all functionality that is platform-specific? Do you avoid Steam backend technology because it is not generalizable? Do you keep separate branches for each platform on which you release your game?