I designed my open-world RPG architecture (I create it for fun, I don't intend to hit it: D), and she had to stop it because I was facing a serious wall.
If you create a big open game in the world, then its size will be large.
Imagine that in my game there is a launcher that automatically updates when a new patch is found.
Downloading the whole game again is unacceptable, because if there is a small fix, who will download the whole game again if there are only minor changes?
So, somehow I have to make an architecture that is patches, so if there is an update, my launcher will only download the changed files, not the entire client.
When I create my game, 90% (if not more) of game data is in the same debugging database of the program.
And when I look at a game, for example World of Warcraft, its files are organized into compressed directories. And if in one zone there is a small correction (for example, the tree is missing), they do not need to update the entire game, or even the entire map, or even the entire zone.
Instead, they should only update the file, which determines that (for example) an area of โโ20x20 meters in the world where the error is located.
So give a practical example:
I have one scene with a large relief in it, and I have to fix a small part of it.
How can I update freed client items without reloading the entire client?
Thanks for your help in advance! :)