Are game sizes becoming a issue?

Meushi

Well-Known Member
Aug 4, 2017
1,146
12,724
Yes and no.

As Winterfire implied, it need that you know what you are doing, and if you don't rely on an automatic installer, it also need that the player know what they are doing.
For convenience, most dev would group the scripts in their own RPA ; easier fix and all. But how many players will complain that there's no new content, because they panicked when facing the "the file scripts.rpa already exist, do you want to overwrite it ?" dialog box, and answered "no" ? Because it's what will happen. It already happen time to time with the member fixes and mods.
With 7.x/8.x branches it's possible to declare a label a second time without Ren'Py complaining, but between the typos and the dialog lines reworked a bit, it's almost all the labels from the two previous updates that you should include.

So, yes, technically it's possible and not too difficult. But in practice you fallback on my previous "dev don't want to add the support for this in their already long list of daily tasks".
I know, I said much the same thing in my previous post regarding why game update patches aren't ubiquitous.

Winterfire on the other hand is a seasoned dev who queried if manual game update patches could update old stuff. To which the answer is yes, with the previously mentioned caveats.

It may be that game update patches are best suited for more advanced users, or those with poor internet/limited storage. There's certainly demand, the unofficial update patches I built for BaDIK had thousands of downloads & relatively few user questions/disasters. Of course BaDIK season 1 & 2 is >18 GB, so plenty of people aren't keen on redownloading something that size multiple times if there are alternatives.
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,037
7,375
I know, I said much the same thing in my previous post regarding why game update patches aren't ubiquitous.

Winterfire on the other hand is a seasoned dev who queried if manual game update patches could update old stuff. To which the answer is yes, with the previously mentioned caveats.

It may be that game update patches are best suited for more advanced users, or those with poor internet/limited storage. There's certainly demand, the unofficial update patches I built for BaDIK had thousands of downloads & relatively few user questions/disasters. Of course BaDIK season 1 & 2 is >18 GB, so plenty of people aren't keen on redownloading something that size multiple times if there are alternatives.
I admit I do not quite understand it, if I wanted to replace one or more CGs, wouldn't I need to deliver the old but fixed archive and ask users to replace it? It'd be either that, or learn if there is an order in which a newer archive overwrites the content of an old one, but the user would essentially end up with clones of the same CGs in their hdd. Not a big deal since memory is cheap nowdays, but it doesn't sound like a clean solution (Aside from what anne mentioned, it only takes an user to panic or get distracted and press "no").

I think if you want to go down the patch route, binary patching is the best method. The rest sounds like a last-resort type of thing, much like compressed builds. Not something the dev should directly release imho.
 

Meushi

Well-Known Member
Aug 4, 2017
1,146
12,724
I admit I do not quite understand it, if I wanted to replace one or more CGs, wouldn't I need to deliver the old but fixed archive and ask users to replace it? It'd be either that, or learn if there is an order in which a newer archive overwrites the content of an old one, but the user would essentially end up with clones of the same CGs in their hdd. Not a big deal since memory is cheap nowdays, but it doesn't sound like a clean solution (Aside from what anne mentioned, it only takes an user to panic or get distracted and press "no").

I think if you want to go down the patch route, binary patching is the best method. The rest sounds like a last-resort type of thing, much like compressed builds. Not something the dev should directly release imho.
I can only speak to Ren'Py, and how easy/clean it is would depend on what's being updated, and how the game is structured.

Several devs do release game update patches. They typically do the first option you described, include current versions of any RPAs which have been updated, which overwrite the old versions if necessary. How much size that saves depends how many old RPAs you're updating. If everything is in a single images.rpa, then there might be no point. But if there are image RPAs per chapter, then you're only updating the subset which changed. For example: BaDIK 0.9.1 is 6.93 GB, while the Interlude to 0.9.1 update patch is 4.72 GB.

The second option (just include the specific files which updated) offers significantly greater size savings. Ren'Py processes files in alphabetical order (including the path). So files in images_patch_01.rpa would have priority over the same files in images.rpa. But as you say it's messier, the player ends up with multiple copies of the file(s) and there are risks if the player misses some patches. It's rare to see devs providing update patches of this type, though Dr PinkCake did so in some earlier versions of BaDIK.

Some users struggle with updating via game update patches. Which is one of the reasons devs with patches usually offer both. The clueless can still fall back to the full download if they can't work out patching. Those who can manage patching benefit from smaller downloads.
 
Last edited:
  • Like
Reactions: Winterfire

Meaning Less

Engaged Member
Sep 13, 2016
3,540
7,096
Here are some other reasons as to why update patches can become a problem:
- The patch often has a minimum version required to work on, so if the patch is only 0.9->1.0 then everyone with versions older than that already can't be rely on a single patch;
- If your game is being updated exclusively on patches then anyone downloading the game has to download the base game + all patches in order which is annoying;
- Requires people to save the game after they finish the current update, which most people probably don't because they need space to download other games until that one is updated.

So in the end it is just extra effort for little return, nowadays internet speeds are not an issue and people can download 10gb in a few minutes.

To the people that still have to deal with crappy internet then just do things the same way people have been doing for years in the past of shitty internet... Use a download managers and queue multiple games to stay downloading in the background for hours/days while you do something else.

Now I certainly agree some devs have no idea what they are doing and are bloating their games with unnecessary raw filesizes, but again that's something they should be thinking about, not end users. Afterall bloated games often give a very amauterish impression, if that's the impression they want to put out there they are free to do so.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,316
15,206
[...] if I wanted to replace one or more CGs, wouldn't I need to deliver the old but fixed archive and ask users to replace it?
With Ren'Py, no. I don't guaranty for scripts, but for the medias it will always use the last file found.
And like it proceed the archives likes any other files, so in alphabetical order (counting the path), you can perfectly have this kind of organization:
  1. A "scripts.rpa" archive updated every time ; because it's easier that way and the file is small.
  2. An "episodeXY.rpa" where all the media for the XY update are stored.
  3. Optional "fixXY.rpa" where you store the corrected medias for the episode XY ; and that will be updated each time it's needed.

This way, a partial update would only contain the "scripts.rpa", the "episodeXY.rpa" corresponding to this update, and any "fixXY.rpa" that correspond to the media you corrected/updated/changed with this update.
Since the said "fixXY.rpa" will generally have less than a dozen images, unless you need to fix a lot of updates in one row, the "episodeXY.rpa" file will represent 90% or more of the size for this update.

But as I said, the main issue is that you'll have to deal with users who don't know how to deal with this even if you explain it to them again and again.

The ideal would be to have a kind of automated process like you said earlier.
Strictly speaking Ren'Py can do this natively, but it need that you have your own website, and it raise issue since by default anyone would be able to access the files. What mean that you need to handle the Patreon API to make them log in. It's not too difficult but it's yet another kind of code to handle, it can lead to security issue, it can lead to security concern from the players (are your part correctly handle, or can someone steal my login and password ?), and there's here again people who will not understand what they need to do.
It also wouldn't works for leaked version and those players would have to do the update manually.
 
  • Like
Reactions: Winterfire