The size of game updates, even for minor patches, can indeed be surprisingly large. Developers from Fatshark, the studio behind Warhammer: Vermintide 2 and Warhammer 40,000: Darktide, have provided some insights into why this happens. The explanation revolves around the trade-offs game developers must manage between download size, installed game size, and loading times.
One key factor is resource duplication. As Fatshark_Hans explains:
In order to make load times faster, we duplicate resources in our resource bundles, so that you don't have to make many, many individual reads from disk. So for instance, if there's a torch that exist on most levels, that resource will exist in multiple level bundles.
This approach significantly improves loading times, especially for players with slower storage devices. However, it also increases the overall game size.
Another Fatshark developer, Fatshark_tazar, further elaborates on this point:
Basically it comes down to what is called bundling. Mechanical drives are really slow at seeking to new sections on the disks so to reduce the load times we basically have to take each "package", let's say a level to simplify it a bit, and take everything within that level such as models, textures, sounds, animations and much much more and create a blob of data that can be read sequentially without having to seek across the physical disks on a mechanical drive to find the file we need.
Fatshark_tazar notes that this method "reduces load times by at least a factor of five for mechanical drives." However, it also increases the overall game size:
The downside though is that since the data has to be put sequentially on disk which means that we have to duplicate A LOT of data across all of our packages.
This duplication strategy helps to ensure smooth gameplay across various hardware configurations. As Fatshark_tazar points out:
Even if you have a super fast SSD and don't benefit from the bundling you still have to wait for the person with the slowest drive to load into a mission to have everyone synced.
Fatshark_Hans mentions a solution to reduce the installed game size:
What we can do, is to release and update which is a 'remaster', meaning that you replace all your incrementally stored updates on disk, with the new 'master'. This would reduce the size of the install dramatically
However, this approach has its own drawback:
But then again, the download for that remaster update would be huge, because it would mean basically downloading the entire game again. Which isn't really feasible for a lot our players.
Fatshark implemented this approach for an update to Vermintide 2, as mentioned in their FAQ:
Q: Why is the download so large?
A: With the release of 2.0 (the patch that accompanies Winds of Magic) we made the decision to remaster the game. Whilst this requires one hefty download upon updating to the latest version, it comes with it some benefits which include both faster load times when playing, as well as a smaller overall file size on your computer.
The large size of minor updates is often a result of developers trying to balance the needs of players with various storage capabilities. As Fatshark_Hans succinctly puts it:
Making games is managing trade-offs. In this case it's a trade-off between the size of downloads, the size of the game on disk, and the time it takes to load resources off of the disk.