Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

How to distribute large paid content on itch.io

A topic by Winterdust created Oct 21, 2016 Views: 1,217 Replies: 3
Viewing posts 1 to 4
(3 edits)
I've noticed that larger games sometimes get a couple of comments from buyers that are getting very slow download speeds or have been unable to download their purchase at all. Perhaps itch.io will outgrow this problem in the future but right now it might become an issue for bigger companies that want to sell here.

Right now I myself don't have a game that is several GiB in size but I'd like to share one way of providing an alternative download option. So here's a simple way you can do large content distribution on itch.io:

1. Archive your product with 7zip. Split it into several files and encrypt with a password. Tick the option to make a self-extracting archive.

2. Put the self-extracting archive ("YourNameHere.exe") as well as a random 5% of the other created files into folder "PAID". Put the rest into folder "DIST".

3. Make an empty text file named "! this is the official distribution torrent, note that some data of the full release is missing here.txt" inside the DIST folder. This will prevent some misunderstandings and help reduce potential annoyed comments.

4. Create a torrent-file of DIST, use a couple of open trackers. Note: You can put an actual demo in the DIST folder to distribute that here as well if you want to. People who has bought the game can just instruct their BitTorrent client to not download the demo.

5. Make the torrent available for free on itch.io by marking it as a "demo". If the torrent does not actually contain a demo make sure to name the file something like "Warning, this is actually not a demo, this is the data distribution for release X.torrent".

6. Archive the PAID folder. Encrypt with the same password as the first step. Tick the option to make a self-extracting archive, but don't split it into several files this time. Name it "run_me_first.exe" or something like that.

7. Make "run_me_first.exe" available for those who have paid on itch.io.

8. Also make a text file named "password.txt" available for those who have paid. Put the encryption password in there, as well as some more detailed instructions on how to use the distribution torrent (you can for example mention that they can delete the files downloaded via BitTorrent after unpacking the game). Even more alternative options for downloads can be put here, FTP servers or links to dedicated web servers that hand out your content.

9. Explain on the itch.io page how this works: They download the main amount of data via BitTorrent. Then place "run_me_first.exe" with the other files and run it. Finally they should run the now-available "YourNameHere.exe". Afterwards the product is ready to be used!

By using this method people only need to download a small percentage of the actual game size from itch.io, the rest comes via BitTorrent and can download at very decent speeds. If there's any pirates around chances are they will help seed the torrent as well, giving paying customers higher speed (note that this method of distribution doesn't increase the piracy threat, they would have pirated it anyway. Now you're at least getting some bandwidth from them).

I hope someone finds this feasible and useful!

Please check out my tools for the Unity Engine at https://winterdust.itch.io/ as well as the game JezzBall Classic.
Admin(+1)

For free games we've been using a slower server that's an order of magnitude cheaper to deliver files from. Our bandwidth bill would be well over 10k dollars a month for free games if we didn't do this. We're aware that there are speed and reliability issues with it, especially in non US regions. If you've paid for a game, the files you download will always serve directly from our storage provider (or faster CDN) to ensure the best performance.

For the past week we've been testing out a new CDN that, although a few times more expensive, is significantly faster in most regions. We think the cost to speed trade-off is worth it. It's currently active on free downloads now, so go test it out and report back if you notice any issues. If we don't end up sticking with them, we'll continue to look for a solution to make downloading games as fast as possible (without causing us to go bankrupt).

Regarding providing a torrent tracker, it's something I've though about but haven't looked into the logistics of yet. It could be interesting, but I feel like only a small subset of users would use due to the additional complexity. It could potentially be a good candidate to use in our app though. I know many patchers for games utilize torrents.

(3 edits)
Nice to hear that paid downloads get prioritized and receive faster speed. I just thought I'd put the torrent idea out there, a single AAA game can be 50 or 100 GiB in size these days and it's probably only a matter of time before smaller indie games reach such sizes as well.

Didn't mean that itch.io should provide a tracker or seed the torrent, an open tracker can be used for this method and the developer will do the initial seeding themselves.

If however itch.io provides a private tracker, generates a torrent file for each uploaded file and then start seeding it automatically (when the go-ahead is given by the account owner) that would of course be even better! It would be a bit of an undertaking to set it all up.
(+1)

What kind of bandwidth do developers get for their HTML 5 games?

When I put one of my HTML 5 games on Game Jolt...then had 44 of

my computer lab students try to load it at the same time...everything crashed.