PixelGuys / Cubyz

Voxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.
GNU General Public License v3.0
447 stars 56 forks source link

Improve how large assets (music) are handled #763

Open IntegratedQuantum opened 3 weeks ago

IntegratedQuantum commented 3 weeks ago

There are some problems with the current system:

All of them could be solved like this:

The disadvantages of this are obvious:

I'm not sure how big of a deal these problems are. Publicly hosting files like music today is easier than ever and it's often free. And if there is no community for an addon to fix the link rot, then it doesn't seem like it would be worth caring about anyways.

One possible solution for addons would be to just allow the old behavior using local links with relative file paths.

@ikabod-kee I would like to hear your opinion on this.

ikabod-kee commented 3 weeks ago

I think a good option could be to have a Cubyz updater that updates Cubyz to the latest version, so you don't have to download the game repeatedly. The only reason having this many music files is a problem is because it adds onto compilation time.

ikabod-kee commented 3 weeks ago

Which would mean "installing Cubyz" XD

ikabod-kee commented 3 weeks ago

For servers assets, a link could work, yeah, but you could also solve this by providing the add-on to the player to pre-install before joining, or compressing the music files.

IntegratedQuantum commented 3 weeks ago

I think a good option could be to have a Cubyz updater that updates Cubyz to the latest version, so you don't have to download the game repeatedly. The only reason having this many music files is a problem is because it adds onto compilation time.

Yeah that's planned with the launcher, but the launcher should not handle downloading the game assets, because that would make regular development (without the launcher) more difficult.

Furthermore if the launcher downloads the music, then it must happen before the game starts, what I'm suggesting is to download it while the game is already running. Downloading 200 MB can take quite a while on bad connections.

For servers assets, a link could work, yeah, but you could also solve this by providing the add-on to the player to pre-install before joining, or compressing the music files.

Yes, that is an option, but I prefer the per-world asset model that has been established, because it's zero work for the player. Also note that this doesn't just apply to the server, but any world with these addons. If the world file contains 100 MB of music, then that is going to bloat the saves folder.

ikabod-kee commented 3 weeks ago

Shall I give you the music files so you can make a separate repo for them?

IntegratedQuantum commented 2 weeks ago

No, I think I'll get this done soon anyways.