We do often include affiliate links to earn us some pennies. See more here.

One thing we see often, is that developers stick to one store. When they do put their game across multiple stores, the Linux version is often late or left out entirely. There are reasons for that, as developers have spoken about recently.

The most recent one I've seen is from Alexis Kennedy (Cultist Simulator) who made a Twitter thread about the issues of putting a game across many stores.

To give you an idea of how complicated it can get:

Steam - Has a fully featured API to allow developers to upload builds to various different branches. This allows developers to tag them for specific things, roll them back and so on. They make it easy to allow users onto different beta branches, to test new features and so on. However, releasing isn't the most simple process and something quite a few developers trip up on when linking content.

I spoke to a few developers personally about Steam (who preferred to remain anonymous), one said "it's a right pain" and that the upload tool is a "nightmare". Especially interesting, is how keys are handled as developers have to "manage uploading to the right package assigned to the right keys". It's why we see that "missing executable" error so often on Linux games.

Another developer I spoke to said "their backend stuff lacks a lot of tools, is quite bodged together and has not changed much at all since 2013. It feels very tired".

GOG - They also have a similar API like Steam, however, for Linux they depend on a manual FTP transfer and  updates are done manually their end (Note: GOG have confirmed this to me). Linux builds don't have access to their API, probably part of the reason we don't have GOG Galaxy available on Linux. It also means Linux often doesn't see any Beta access on GOG, it's why 99% of developers doing it do so on Steam. There have been rare occasions this was done manually, like the multiplayer beta for Stardew Valley.

itch.io - I've seen a lot of developers talk about just how nice their command-line tool "butler" is. However, they currently have no concept of DLC. Developers can put up multiple downloads though, so they can do beta versions (or even whole new pages). Itch also don't have an "upload now, put live later" staging feature (it's being discussed), so you upload and it's there.

Humble Store - A 100% manual process, done via an upload form on their website. No API, no beta support or DLC integration. No tools, just a website form. If you're wondering why Humble don't have a lot of DRM free builds, that's likely a big reason.

I've heard all of this and plenty more quite often from developers, including Brian Bucklew (Caves of Qud) who said "At least one storefront makes me manually upload the linux builds to an FTP site that is down half the time then e-mail some guy that rarely responds that the build has been posted until he updates it." which seems pretty clearly to be about GOG. A pretty different experience to the one Alexis Kennedy had "they are always lightning-fast with manual stuff so this is minimal hassle for us".

The Humble process was also backed up by developer Eniko (Midboss) who said "Though Humble does force you to upload your builds through a web interface that doesn't do patches so if you have a 300mb game on Win/Mac/Linux you get to upload 1gb of data which really is bad enough".

I could keep pulling out examples from other developers, but I am sure you get the idea. Every store has a different process and all that adds additional time for developers. You then have to to take into account the extra support burden, with the game and customers spread across even just those four stores.

Simply asking a developer to "put their game on x" is a bigger ask than it might initially seem.

To put that into perspective, I also spoke to the developer of 39 Days to Mars, Philip Buchanan, who said "In the case of Humble Store and Green Man Gaming, the distribution for 39 Days to Mars is done via Steam keys. This means that other than getting the agreements in place, and maybe some storefront assets to get things set up, all of the distribution side of things - downloads, patches, updates, online features, etc - are done in the same place. 

This centralised distribution definitely makes things more streamlined. I notice the difference with Itch.io for example, where I have a DRM free version of 39 Days to Mars. It's great to be able to do this, but every time I patch the game, it's additional steps to make and maintain a separate build, and to upload and verify it in two places. With Xbox One and Switch releases coming up soon, releasing patches across all systems is going to get more and more time consuming. This means adding additional storefronts is something I have to think about carefully as a solo dev.".

All that time, dealing with different stores takes essential time away from everything else. It's a lot more time than you would expect it to be.

I thought some might find this interesting, especially on why Linux builds often get delayed (or not done at all) outside of Steam. When Steam doesn't exactly make it easy and it's still the biggest slice of the pie, the additional stores could be quite daunting to do on top of it.

The takeaway here, is that all stores need to have better tools. If you want developers to release on your store, making sure the tools they have to provide builds that are easy to use is absolutely essential. Not just keeping it easy though, having extra options like allowing developers put up an opt-in beta is also increasingly important, especially for updates that massively change a game, users might want to stay on an older version.

Article taken from GamingOnLinux.com.
Tags: Editorial, Misc
39 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
14 comments
Page: 1/2»
  Go to:

rea987 Jan 23, 2019
Nice read! I guess there's a market to automate software update distribution between stores and APIs. Perhaps there are such software that I am not aware.
Shmerl Jan 23, 2019
Very interesting overview of problems about which many have no insight, unless they are developers. Indeed, stores should work on improving their tools, after all it's in their interest to have more developers using them.

Also, good insight into the issue of Linux GOG builds. I suppose the fact that their Galaxy infrastructure ignores Linux completely now, causes the lack of upload API as well.
Luke_Nukem Jan 23, 2019
Sort of makes me wonder if anyone has considered building a GUI tool to manage this process across most storefronts.
Shmerl Jan 23, 2019
It's not the GUI that's an issue here it seems, but what their backends support. Whether it's GUI or CLI is probably not going to make a major difference for developers, but backend features affect how many steps they need to take.


Last edited by Shmerl on 23 January 2019 at 9:35 pm UTC
tonR Jan 23, 2019
"" Developers! you do not need to put your games across on multiple store! Just put it on Epic Games Store. They split 88% revenue to developers minus 20% to influencer. Paying you while absorb loss by give customers free games so no recurring customers to buy your games. And.. and.. it's give Steam a competition by make your games exclusive!!
So, devs please.. Epic Games Store! ""
/S
MayeulC Jan 23, 2019
In a perfect world, we'd soon have a federated store platform, that would bring together game management, as well as payment processing, etc. for every developer or store out there.

Slightly less convenient would be if storefronts agreed to cooperate on some piece of backend and frontend software. Only frontend would be a start.

Maybe they'll agree on a common frontend API, after all? That doesn't seem difficult to do.

Oh wait, I forgot about monopoles, and how the biggest player always tries to lock game developers in. I guess that won't happen, and we would need to rely on the community. How long before Icculus or another steps up and cooks a nice command line tool to cover all of these?

Or game developers and wanabee stores could unite and support the first solution :)
14 Jan 24, 2019
View PC info
  • Supporter Plus
Hmm... yes, it is interesting to see this. The old-fashioned method of uploading Linux content to GoG makes me appreciate the extra effort publishers / developers are putting in. Thanks!
elmapul Jan 24, 2019
at least itch is open source, so they could try to send an patch for it to save time in the future (or to add support for extra features such as dlc)

https://github.com/itchio
Beamboom Jan 24, 2019
Very cool with backstage peeks like these.
Alloc Jan 24, 2019
While we haven't done any other store (other than for Steam keys) I must say I'm pretty happy with how the Steam stuff works here. While not perfect (some settings for uploads can't be overwritten on the command line for example so you have to have your build infrastructure create config files for SteamCMD ... but that's not a major issue either) it allows very good automation and has everything you need for your daily life like delta patches so not uploading the whole thing all the time (and users only downloading patches too), different branches that users can select from or be used for internal testing only with passwords etc.

The only thing I could really see lacking here on our end would be better control of who gets access to branches instead of a simple plain password. That gets leaked once and you neither know of that leak (unless the people who get access do some terribly stupid stuff like sharing that information publicly) nor do you know who got access or who leaked it. And changing the password affects everyone, both those that should be able to access a branch as well as those who should not. Having something like SteamID whitelists or similar could help tremendously in some situations :)

But at least it's fully automated, for all three target platforms, and the only manual thing for us to do is set a build public every now and then :)
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.