All these doesn't explain the day 1 20GB patches that don't add any assets and are just bug fixes.
That's going to come down to how patches are distributed and how game files are installed.
There's 2 typical methods of patching,
- Download files and overwrite existing files.
- Download a patch file. Check version and integrity of existing files. Patch the file to be correct.
Method 2 is generally going to result in a far smaller patch download at the expense of use of computational resources and potentially a longer time investment unless the file downloaded in method 1 is large.
Method 1 can be quick if game files are stored uncompressed or in individual small packets. However, many games store assets in large wad files. If method 1 is used that entire wad file must be downloaded even if the fix or added content is only a few MB in size.
Method 2 doesn't see a significant increase in patch download size regardless of how the game files are installed on a machine. But can be computationally intensive, as mentioned. Due to this on consoles, historically Method 1 was used. I don't know if the current gen consoles also still do it that way or not.
That can result in large downloads even if only a few contents of a wad were changed.
Both methods have advantages and disadvantages.
Method 1 can obviously result in far more data being downloaded than is absolutely required, but is fast (once download is complete) and doesn't require X version of Y file to be in place in order to apply Z patch. It also uses no computational resources, which on consoles has historically been pretty limited. Since you are just overwriting whatever files exist, you can just check to see what version is currently installed and download everything needed for the latest version. So it doesn't matter if you have Version 1.0 of a game and the game is currently on version 3.2 after tens of patches.
Method 2 has an obvious benefit in reducing the size of downloads. Hence you see this used almost ubiquitously in PC MMOs as patches are frequent and files are often stored in large mult-GB wads. The downside is that once the download is finished there can be a lengthy patch period as the patch is applied. Additionally, when patching, you have to patch through each version. So using the example above. If you are on version 1.0 and want to patch up to version 3.2, you'll most likely have to apply patch 1.1, then 1.12, then 1.5, then 2.0, then 2.1, etc. The result being it could take an extremely long time to patch up to the latest version if you haven't been keeping up. Hence why occasionally MMO's will update the install package and then recommend reinstalling the game versus patching the game as it'll be much faster that way (IE - patching similar to method 1). Some developers will host multiple versions of the latest patch that can be applied to various previous versions, but it's somewhat rare.
Regards,
SB