Developers: Let’s do digital distribution right.

The odds are that very, very few of us are going to deliver our games through steam. That doesn’t mean we can’t be super slick when distributing our games, but it’s something we consistently fuck up. So here’s how I propose we operate when distributing games to best serve the awesome people who take a chance on us and buy them.

First of all, none of this shit:



Expiring links are the BANE of digital distribution. What if I want to download later? What if I want to get the updated version of the game? What if I want to gift the game to someone, but their birthday happens after the link expires?

If you are having BMTMicro/FastSpring deliver your files, those links will expire (BMT also has a habit of becoming blocked if the person doesn’t download the files when they get their link). I don’t know about other services so much, but it seems to be a standard.

Expiring links are only worthwhile to businesses who want to treat their customers like shit, that isn’t us. so here’s what you do;

Have a download page on your own site with all the download links:


Just one address for everyone is fine, but if you really want some key-based download pages feel free to work that out so long as those keys don’t expire. Put your updates here and people can always return for the latest version of a game.

If you are using BMTMicro/FastSpring, you probably have to upload a file to their servers (that will expire). But you can also specify what goes into the email customers are sent, so GIVE THEM A LINK TO GET THE GAME FROM YOUR SITE.


Providing a link that never expires is kind of what makes steam such a reliable service. For all the issues I have with steam, they deliver a fucking excellent process for buying games and getting them.

In my browser, I have a folder of bookmarks with game downloads. I can just click it and see a list of games I’ve bought. I get a sense of pride every time I open it, these are things I own, these are things I supported. Give your customers a chance at this pride, it’s the same enjoyment folks get from adding games to their steam library.


Right now my folder of games is pretty small. Not enough developers are providing bookmarkable downloads. If we want to exist outside of steam we need to get rid of this expiring link bullshit, and make it easier for customers to browse and get games they have bought from us.


26 Comments on “Developers: Let’s do digital distribution right.”

  1. Wes says:

    I agree that BMT is really awful at this, but I’m not sure I trust links either. Websites get redesigned, domains get changed, and links often break. In my mind you don’t truly own that game unless there’s a DRM-free installer sitting on your hard drive (and preferably backup up to numerous other locations as well).

    • Sophie says:

      Man, I envy your harddisk space, there’s not a chance in hell I could fit all the games I own on my computer ๐Ÿ˜›

      I think you can trust indies to keep their links working, I plan mine before going on sale to make sure they are something I can maintain and will survive site redesigns etc ๐Ÿ™‚

  2. Sos says:

    Expiring download links got me when I reinstalled my system last time, I 100%-edly agree.

    Furthermore, I’d extend the requirements you enumerated by having to include a written manual for your game, a change log, installation instructions and technical contact information.

    Thus, I raise you, McPixel download page:

    Merry Christmas, Nemesis!

  3. I agree that it is a big problem, and I really like the solution, except there is one minor problem. What do you do to make your server serve those games for eternity? With services like bitbucket, I’m quite confident to leave my code in there, because I believe that it will run long after I’m gone. I wonder what could be done for more restricted downloads.

  4. Sol_HSA says:

    My wife bought a game through bigfish a year or two ago. Recently she wanted to play it again, so I ran an installer I found on our fileserver and gave it the key from the email. It was the wrong key – as an oversight we had not kept the original installer from bigfish, and instead the installer from some other service that she had done the trial on (I have no idea why we ended up buying from bigfish. At least I know it wasn’t available direct from the developer, which is my preferred method).


    Off to bigfish site. Found the game. Clicked download. Nothing happens. Mailed the support, support gives me the same link. I try said link with different browsers, different computers, same result. Mail back. Response; oopsie, the developer has withdrawn the game and it’s no longer available. Would you like another game instead?

    That was the best possible outcome I could have expected (actually, I didn’t even expect THAT), but in the end my wife didn’t get to play that game she had liked before ever again.

    As for moral of the story, well, there’s none. I’ve tried burning installers on CDs for games downloaded, only to find years later that the installer is useless because the validation server doesn’t exist anymore.

    Darn DRM.

  5. Perhaps not always necessary, but sometimes really handy: keep previous versions of your game or application available for download.

    I’ve played various games that auto-patched, broke, and left me unable to play. If I could just download a previous version all would be well.

    Also, what do you guys think about using Bittorrent as a backup distribution channel? If your selfhosted solution ever goes down (either through technical failure or because you stop official support) the torrent will still be there.

    • Sophie says:

      I’ve considered torrenting my games, but I’d probably only do it myself if I couldn’t adequately provide the game myself.

      It’s not impossible, but I don’t think it’s likely I’d put anything I sell in a torrent, I’d just leave that to folks who want to pirate. though I’d do it for games I want to distribute free but don’t want the heat (for example, if I were to make a game using IP I don’t own and don’t want to deal with all that DMCA stuff)

    • Sol_HSA says:

      How many torrents that existed 5 years ago are still alive?

  6. Thomas says:

    Agreed! How about telling us which devs are already awesome? I think I’d like to buy directly from them and not via Indievania/Desura/whatever-doesn’t-expire.
    Oh, one more rather tolerable form of DRM, combined with easy access is entering your email address in the demo to unlock the full version. Puppy Games do this, for instance.

    • Sophie says:

      well there’s Me, Christine Love, Sos seems to, and you can grab the real texas so long as you remember what email you used when you bought it:

      if there are more I either don’t know, or I bought the games before I implemented my bookmarking system ๐Ÿ™‚

      (other devs please respond to Thomas’s comment, a list would be nice!)

      • Michael says:

        I use bmt micro, but have been looking to change since I’ve had to handle so many stupid support emails. *I* want you to have my game, not have to email me to get it. Bmtmicro has been constantly screwing stuff up.

        How do you process payments Sophie?

        • Sophie says:

          I use fastspring, (you still have to upload a file that will expire, but it’s not as finicky as BMT’s file fulfilment… but) you can make your own emails that get sent to customers automatically, and I put the link to my download pages in there ๐Ÿ™‚

    • We make this work by just asking you to enter the email address you used to purchase – you can always download the latest version.

      • That can be problematic as it requires memory of something that may not be relevant anymore at the time they go to re-download. they may be using a different e-mail then they were long ago or may have used a temporary one because they were worried about information being sold.

    • mjau says:

      Caravel Games (makers of the DROD games) use BMT Micro, but when you buy a game you’ll get an e-mail with a link that lets you associate the game you bought with your Caravel forum account. Doing that gives you access to a page with non-expiring downloads of everything you’ve bought. (If you don’t associate a game and need to download it later, you can e-mail Caravel and ask for a new link. You won’t have to buy the game again in any case.)

  7. To clarify: we use FastSpring, but didn’t want the links to expire. So we have FastSpring send an http notification to our website, where we store the email addresses of everyone who buys our game. And we also put our game in a download folder, and have a simple php script that can look up the email addresses of those who’ve purchased. The game itself detects when it’s out of date, and you can always go and download if you provide your email. Seems to work pretty well. In the future, we might move to just hosting 100% on our website.

  8. mjau says:

    Anyway, BMT Micro kinda sucks, but there’s not really any good alternatives out there. From what I’ve heard Fastspring isn’t much better (haven’t used it though). Plimus is terrible. The Humble Store is the only one that actually seems good, but they’re an exclusive club.

  9. Martoon says:

    As much as I like the philosophy of no DRM, I’m much more likely to buy a game if I can get it on Steam, or at least Desura, simply because of the convenience of having it keep track of (and update) all of my games. I wish there were some open, free, secure, unified distribution method that indies could use, possibly using some form of P2P networking for bandwidth and storage.

  10. Mr Hat LemonTail says:

    I don’t bookmarks, but they get lost. I do like direct download with an everlasting link from a dev + paying them directly.

    Surely there is a middle road here.

  11. cliffski says:

    BMT have had the option to have never expiring links for a while now. It’s the option I use.

  12. Iain says:

    Yes, what is Humble Store and why isn’t it open to all developers?

  13. Juan Karam says:

    You should look how the mac developers distribute their software before the Mac App Store. They do an awesome job at this, here are a couple of examples:

    IMHO the best –>

    One of the very first mac apps studios –>

    And the Sofa guys (Some body bought them but their apps and distribution is amazing) —>

  14. Desura requires standalone installers to be uploaded with each releases, so if gamer do not want to run a client, they can download a package with game via Desura website.

    For me it’s win scenario where all releases are in one place but if you want store it locally you can do it as well.

  15. I use DLGuard which is a FastSpring/BMT clone made in PHP but which you can host in your site: – you buy it, get the PHP code and host in your server.

    No more monthly fees, except for keeping your server (which we all do anyway), also the freedom to add/remove stuff as you want. For instance you can completely remove download limits and expiration through the control panel.

Leave a Reply to Michael Cancel reply

Your email address will not be published. Required fields are marked *