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.

LET’S DO THIS! \:D/

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

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).

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.

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).

Anyhoo..

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.

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.

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)

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.

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.

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 🙂

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.

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.)

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.

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.

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.

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.