4 ms·
This is great for games like Hearthstone that currently requires a re-download of the whole app which takes 2 GB whenever there's an update.
by esturk 10y ago
This is great for games like Hearthstone that currently requires a re-download of the whole app which takes 2 GB whenever there's an update.
- masklinn 10y ago> This is great for games like Hearthstone Nope. Hearthstone is a Unity game, and the issue (for mobile packaging at least) is Unity creates a giant bundle of all the assets, so it's a single binary file which tends to greatly change from one release to the next, even with per-file diffing you're not getting any improvement[0]. Other developers get around that by downloading assets separately from the main application bundle à la Supercell. I don't know that Supercell uses Unity, but they do follow that pattern, they have an application bundle of code & trivial assets, but most of the assets are downloaded at the loading screen. Checking on my phone, Hearthstone is ~2GB with 10.5MB of "documents and data" (= a ~2GB base app bundle), clash royale is ~450MB with 336MB of data (= a ~100MB base app bundle), jetpack joyride is similar with ~330MB split between a ~90MB base bundle and ~250MB "documents and data". The default unity approach makes sense for rarely updated applications (Monument Valley or République), it's an absolute bear for dynamic frequently updated on-line games like Hearthstone. [0] IIRC per-file diffing is what apple does on the appstore, it does not work at all for HS
- m12k 10y agoUnity has asset bundles precisely for use cases like streaming and downloading of assets: https://docs.unity3d.com/Manual/AssetBundlesIntro.html https://docs.unity3d.com/Manual/AssetBundlesIntro.html Blizzard just doesn't seem to be using them...
- iainmerrick 10y agoUnity aside, the Play Store has a standard method for shipping large assets (expansion files) but it's badly designed and I think won't work with this new scheme. There's maximum file size for APKs, and if you exceed that you have to put extra stuff in one or two (why only two?) expansion files. They recommend that these files be compressed, but they're explicitly Opaque Binary Blobs so the decompress/diff/recompress hack won't work. There is a standard format they recommend -- a disk image -- but it's so buggy on Android as to be unusable. (I finally saw some action on the bug tracker recently, so it might be fixed, or nearly fixed, in the latest version of Android.)