• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Legacy GM [SOLVED] Distribution | Graphics assets as separate files

Greetings,

Gamemaker bundles everything into a single executable file.
How do you distribute a package, with say, for example, the graphics files in a separate dedicated file? Similarly, the sound files in a separate sound file?

Cheers,
Nathan.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Why, however?

GM packs all assets into a single large "datafile". Assets are not further compressed and diff-patching works well.

Moving audio files to audio groups would move them to a separate datafile (for on-demand loading).

Moving art assets to included files would place them unaltered in the game' directory, which is something you may or may not want to do. A custom algorithm could be used to implement your own format, but would obviously take more work.
 
If everything is in one file, if you make a change to the game, how do you redistribute only the parts that changed?
I'm a little old fashioned--isn't it silly having a 30GB executable file?
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
If everything is in one file, if you make a change to the game, how do you redistribute only the parts that changed?
Most of the distribution systems (Steam, itch.io, GOG, etc.) use incremental patches, so that would work so long as you are not exporting the game as "single runtime executable" (which explicitly packages everything via UPX). If you handle distribution by yourself, you could find existing solutions for incremental patches, but I wouldn't recommend to, as load balancing and scaling can be a problem still.

isn't it silly having a 30GB executable file?
It is extremely unlikely to legitimately reach that executable size unless doing something catastrophically bad (such as importing a lossy video as a long strip of lossless images). For such cases you would, as I have already said, move the oversized assets to "included files" so that they are not packaged into the main executable.
 
Top