Submitted by redlunarwolff t3_10k5086 in explainlikeimfive
Let's say a game file size is 500MB. If there is a 100MB patch, does the file size go to 600MB? Or does it patch what's needs and deletes the old files?
Submitted by redlunarwolff t3_10k5086 in explainlikeimfive
Let's say a game file size is 500MB. If there is a 100MB patch, does the file size go to 600MB? Or does it patch what's needs and deletes the old files?
That makes sense. Thank you
To clarify: That doesn't mean the space the game takes up is not going to change if there's no additional content.
The file size could grow or shrink depending on what the patch is doing.
Somewhat recently Apex Legends put out a patch that shrunk their install size from 90 gigs to about 50, and you can be sure they didn't remove half the game, they just optimized things.
Holy shit, 40 gigs of optimization? What did they do?? Were there a lot of redundant LODs or something?
I'm not sure what they did exactly, but yeah it was quite drastic.
it depends what that path does, it can add 100 MB of new content, or it can replace a 100 MB file to fix bugs or improve things, or anywhere in between, it could replace a 50 MB file and add 50 MB of new content
My game might have 10 files file1 to file10, and every file is 10 MB. I make a patch which:
Adds new content => I need to create a new file11 for the content, 10 MB for that
Fixes a bug in some old content => I upload new version of file3, another 10MB
Adds cross-functionality with new file11, so I need to upload the main game in file1, another 10MB.
So in total, I will upload 3 files, total of 30MB. However, since two of these files replace old ones, only one is new, the game size goes from 100 MB to 110MB, not 130 MB, since I can delete the old versions of file1 and file3.
This depends on each platform.
PC platforms are installing patches by editing/replacing existing files and adding new ones if necessary.
On game consoles patch as a whole is mounted next to base game when game is launched, it's not replacing physically installed files. Patch usually for assets doesn't include whole files, but only changed bits with informations where those changes in original files happened. So when game will want to load texture that was patched, system will read data from both base game for original data and patch for changed data.
[removed]
Diff patch is a way to go for certain games or files, other requiere to delete old file and replace with new, for example
a EXE file that need a few tweaks can be patched with a Diff patcher justa few bytes
but a graphic, media or bug files are deleted for a new one or added.
“Patch” as a technical term traditionally means to replace targeted data within a file. So for example if there was a value that should be changed in a file, the patch would only store the difference between the original file and the patched version. Back in the day, often times software (including games) would be shipped entirely in a single binary/executable file and this was the most efficient method to ship updates, especially if they were being delivered over dial-up internet or BBSes. Patch files would be absolutely tiny, depending on what was in them.
These days, it’s more common to just replace the entire file of whatever you are changing because it’s no longer an issue of transmission speed (so why bother with that added complexity). Especially with games, which are usually installed as thousands of individual files, rather than a single monolithic file.
The name stuck though, as rather than the actual “patch” process described above, people came to associate “patch” with “software update”
So it depends on what is added/removed/changed as part of the patch whether the total install size goes up/down. If a lot of new content is added then installed size goes up of course. If they’re just rebalancing the game and replacing some sound effects with better ones, you might not see much difference at all.
patch and change/delete.
it's like if i had a book you wrote and you wanted to make some revisions to my copy. you could print the entire book and give it me a new one (redownload the entire 500MB), or you could just say "hey on page 30, remove the second paragraph, please add this image to the index, and on page 36 there is a typo change that one word" (patch just 100MB)
Another way to look at it is that a game is essentially a collection of files on a hard drive. There are files that contain or describe audio information, or 3d models, or image textures that get applied to 3d models, or animations, or logic code that performs functions etc. There can be tens of thousands of files.
As you can imagine, keeping track of all those isn't easy. So quite often what happens is a whole file directory and management structure is included in the game. Sometimes you can see the layout of that in the games installation folder but it's more common for the game to package it all into one or more large "container" files. Think of it like how a Zip file works, as lots of files within one big file.
And normally that file management system has a way to distinguish a newer version of a file from an older version. So it doesn't have to delete the old file, it just points the game to the newer version. And if that older file is "inside" of a container file it can't easily be deleted anyway. So normally games don't bother to delete old files.
What's normally actually happening when you patch a game is you're rebuilding that internal directory structure from the container files. The patch contains newer versions of existing files and it copies all of those into the games installation folder (either individually or all at once in another big container file) then it instructs the game to rebuild that directory tree and update it's list of newest files to use.
And that works because when you're playing the game and you e.g load a new level, the game isn't really asking Windows to open a file at C:\Games\MyCoolGame\Levels\2.lvl, the game is asking itself to load the file from it's own internally maintained directory at \Levels\2.lvl. That triggers the "find the newest version" step and that's how the game loads the patched versions of files.
A 100MB update might be 100MB of new content, so your 500MB game install grows to 600MB.
Or it might be 100MB of files that replace existing files, so your 500MB install might stay the same or even shrink, if the new files are smaller than the ones they're replacing.
Or the update might itself be an application which plays a video while it's installing the update. So the 100MB update might be 90MB of installer code and video, and 10MB of actual content (which again, could be either additional files, or replacement files).
Or maybe the update is compressed, so the 100MB update actually expands into 200MB of files (so if it's all new content, your game now takes 700MB on disk).
Most likely the update is some combination of those things. So it's impossible to predict what the new size of the game will be on disk. It depends on what that particular update contains, which is in turn a function of what the development priorities were.
The patch doesn’t just replace the small part of code they want to update, I think that’s called a hot fix usually
mousicle t1_j5odonn wrote
The patch would replace a lot of old files if its a performance or bug fix patch. If it's a feature addition or new content then it would increase the size of the install.