Strategy for distribution of large games (> 5GB)?

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
AVNSnax
Regular
Posts: 79
Joined: Sun Feb 06, 2022 12:11 am
itch: avnsnax
Contact:

Strategy for distribution of large games (> 5GB)?

#1 Post by AVNSnax »

By the time we're done with our game this fall, its package size will be somewhere around 8GB. :shock: This is mainly due to the sheer number of images being used. We're already distributing a version with JPG backgrounds instead of the premium WEBP images, and are optimizing image sizes down as best we can while keeping the image quality as high as possible.

Most file hosting sites limit downloads to 5GB, and some (notably Mega.nz) have daily caps, so we'd like to keep under that limit.

The original strategy was to distribute using a multi-part ZIP or RAR file format. Windows File Explorer, though, gets very confused with multi-part ZIP files. People expect to just right-click on a ZIP file to extract it, and that doesn't work. (Not only that, it doesn't tell you why it doesn't work...) Windows can't handle RAR files without a third-party utility. Then, there's the issue of players only downloading one of the files and having extraction fail without understanding why.

The next idea was to break the game into multiple archives and have the player copy them to the right place after downloading. That confused a lot of people and we ended up spending an inordinate amount of time trying to walk them through the process. We gave up on that idea.

We even toyed with the idea of building our own installer that could reconstruct the game from multiple files, but gave up on that because now there would be two separate apps we'd have to support across multiple platforms.

The game will ultimately be distributed on Steam, so it'll be less of an issue then, but this must have come up before with some of the devs here. If I could pick your brain, what methods have you used for distributing really large Ren'Py games?

User avatar
Ocelot
Lemma-Class Veteran
Posts: 2406
Joined: Tue Aug 23, 2016 10:35 am
Github: MiiNiPaa
Discord: MiiNiPaa#4384
Contact:

Re: Strategy for distribution of large games (> 5GB)?

#2 Post by Ocelot »

You can rent a cheap VPS with 1TB of storage space and 1Gb/s connection at 10€/month.
Usually you get severals Tb of data for free and then you have to pay 1-3€ per Tb (which in your case is about 120 downloads).

Another option is to use peer-to-peer distribution and all the distributed power of BitTorrent protocol, like many companies with similarly large games in the need of constant updates do.
< < insert Rick Cook quote here > >

jeffster
Veteran
Posts: 409
Joined: Wed Feb 03, 2021 9:55 pm
Contact:

Re: Strategy for distribution of large games (> 5GB)?

#3 Post by jeffster »

We're already distributing a version with JPG backgrounds instead of the premium WEBP images
Instead of JPG backgrounds, better use WEBP images with lower quality settings. They have better quality/size ratio than JPEG.

User avatar
AVNSnax
Regular
Posts: 79
Joined: Sun Feb 06, 2022 12:11 am
itch: avnsnax
Contact:

Re: Strategy for distribution of large games (> 5GB)?

#4 Post by AVNSnax »

jeffster wrote: Thu Mar 07, 2024 2:33 pm
We're already distributing a version with JPG backgrounds instead of the premium WEBP images
Instead of JPG backgrounds, better use WEBP images with lower quality settings. They have better quality/size ratio than JPEG.
We experimented with that. For one thing, it makes the conditional compilation a lot harder (we separate the condensed and full versions of the app by whether the images are WEBP or not). And anyway, the condensed version isn't the issue--it'll be under 1GB in the end.

User avatar
AVNSnax
Regular
Posts: 79
Joined: Sun Feb 06, 2022 12:11 am
itch: avnsnax
Contact:

Re: Strategy for distribution of large games (> 5GB)?

#5 Post by AVNSnax »

Ocelot wrote: Thu Mar 07, 2024 1:27 pm You can rent a cheap VPS with 1TB of storage space and 1Gb/s connection at 10€/month.
Usually you get severals Tb of data for free and then you have to pay 1-3€ per Tb (which in your case is about 120 downloads).

Another option is to use peer-to-peer distribution and all the distributed power of BitTorrent protocol, like many companies with similarly large games in the need of constant updates do.
We regularly get over 1,200 downloads for each released version, so transfer charges are a definite concern. We already got hit with a (extremely) huge fee when distributing files using Gofile one release. We're using anonymous transfers now, but it involves manually downloading every file occasionally to keep them from timing out.

Not everybody knows how to handle torrents, especially casual users.

User avatar
Ocelot
Lemma-Class Veteran
Posts: 2406
Joined: Tue Aug 23, 2016 10:35 am
Github: MiiNiPaa
Discord: MiiNiPaa#4384
Contact:

Re: Strategy for distribution of large games (> 5GB)?

#6 Post by Ocelot »

AVNSnax wrote: Tue Mar 12, 2024 9:10 pm We regularly get over 1,200 downloads for each released version, so transfer charges are a definite concern. We already got hit with a (extremely) huge fee when distributing files using Gofile one release. We're using anonymous transfers now, but it involves manually downloading every file occasionally to keep them from timing out.
So, 7 to 24 € per release in traffic cost (assuming these downloads all happen in a month). You can also look for providers with higher base traffic or allow you to buy traffic packages at reduced cost. In the end everything depends on how much are you willing to spend.
AVNSnax wrote: Tue Mar 12, 2024 9:10 pm Not everybody knows how to handle torrents, especially casual users.
In which cases there are 2 options (aside from scrapping this idea): (1) It is never too late to learn. A simple guide in the form of "Download this - click this - your game can be found there". However, like you said, this will impair your game discoverability and you will se less new users. Or (2) take advantage of the facet that if they ever played any Blizzard games in last 10 years or any of the War * games, they have already handled torrents. They just don't know that. You can build and installer, which will download and install your game without requiring user to do anything extra. Disadvantages: you need to create an installer and support it for every platform your game supports.
< < insert Rick Cook quote here > >

Post Reply

Who is online

Users browsing this forum: MisterPinetree