0 Favourites

Problems exporting a "big" project

  • Hi,

    I'm currently struggling to get my finished project onto Google Play / Apple Store. After exporting the project and optimizing images, the game's size is about 55Mb.

    • With Intel XDK, I need to add about 15Mb for Chromium which gives an APK of about 70 Mb, the limit of google play being 50 Mb... Using Android export in XDK without Crosswalk seem to be a bad idea, as I need WebGL a lot (the app is graphically heavy). So the only solution I can think of is App Expansion Files. Is it possible to use this feature with an APK created with Intel XDK ?
    • Phonegap Build is limited to 40Mb, so I'm not better here. I've been told to try to build offline, but as this is not yet supported by C2, I think it will be hard for me. Furthermore I have no idea if this offline Phonegap build supports IAP and Ads, both of which my game uses.
    • I had many bugs with CocoonJS a few month ago, so I don't think I will use it. But maybe the last CocoonJS Webview/Webview+ is more reliable ? Is it a different product? This is still unclear for me.

    I'm really used to, and have good results with Intel XDK, so I hope to be able to continue working with it... If possible !

    Which exporter would you advice me to use for such a "big" project? Any solution / workaround in order to get my game on Google Play / App Store without having to (massively) delete content ?

    Thanks !

  • have you tried the new beta of c2 it lets you choose to only export the audio you need. also minifying you export? its also good to check your exported project images if you use odd resolutions on you images it can make them alot bigger. Doing all that could be what you need to have you project small enough. also make sure to go though in c2 and delete anything you dont use

  • 70mb...you are awful close.

    When you export, look at your 'images' folder and your 'media' folder. What is the size of each? If most of it is images, there probably isn't much you can do short of shrinking sprites, dropping frames, reducing color depth, and all that unpleasantness.

    OTOH, if you have 20 or 30mb's of data under the 'media' folder, and most of it is SFX and music, you might have some options. If you are 'encoding' those files at more than 128kbps, I'd suggest shrinking them. 128kbps aac/ogg sounds far better than 128kbps mp3, and will only fall short in quiet environs with good headphones or excellent speakers.

    volkiller730 is very right about checking your spritesheets; sometimes shrinking an object by 1% is enough to halve the resolution of the exported sheet. Still, that probably won't affect export size much (blank space squeezes down to nothing with png), but it can improve your performance and slash your memory usage.

    Semi-Off Topic: Always work in higher rez than you'll end up using (at least 4x; preferably 8x) so you can go back later and 'reshrink' your graphics with minimal artifacts.

  • Hi TiAm and volkiller730, and thanks for the answers.

    @volkiller730

    Yes, I sure updated to the new beta, but it doesn't change much, as the former "Android" export already exported only .ogg files.

    I didn't minify the script because I'm using cranberrygames 's Phonegap IAP plugin, for IAP in the game, and (unless there is something new) it requires not to minify the script.

    I also already optimised all images' size in order to reduce the image number as much as possible (back when there was the number of image bug in XDK), I used ImageOptim to reduce the file of all exports, and I sure put into the .jpg format all the images in which I don't need alpha channel.

    @TiAm

    The current size of the image folder is 38 Mb. The media folder is 8,35 Mb but it features 128 Kb/s audio for music. The reason is that as I have orchestral music I'd like them to sound good. But if I really can't use the APK extension package, I'll sure reimport the whole thing 96 Kb/s which should make me gain about... 1,5 Mb... Still 18,5 Mb to grind !

    Do someone knows if App expansion files are usable with any of C2's exporters (preferably XDK)? Maybe IntelRobert has a clue ?

    If it isn't the case, I'll be down with TiAm's solution of schrinking graphics... :-/

  • Rable i've seen Ashley and other mention that expansion files should be possible. if you search the forums you should find it. i haven't seen anyone say they where able to make them though.

    Also you can still minify when using cranberrygames IAP plugin. My game Extreme Cave Escape using the IAP an other cranberrygame plugins and i minify it

  • volkiller730

    Thanks for the tips ! I'll search the forum to see if I can find something, and will minify the script for sure !

    Edit :

    Ashley posted in the following link (september 25th 2014) that Intel was working on implementing the expansion files to XDK.

    (see link by TiAm below)

    Any news about that?

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • Well, if 1.5mb is all you stand to gain, I would leave well enough alone w/ the audio.

    It looks like expansions have come up before. I think this would have to be a combination of new C2 export options (what goes into the expansion file? If you have to download the expansions from within your app, how does that work?), and support from the compiler too.

    The intel xdk team is pretty responsive. If they don't reply to this thread, you could always try on the crosswalk thread where it'll get more eyes. Here's a thread where ashley drops a brief comment suggesting that Intel is already on this:

    EDIT: Guess you found it.

  • I sent a private message to IntelRobert, to be up to date with the APK Expansion Files via Intel XDK.

    Here is his reply :

    "We are working on it now. I am hoping to have something in a few weeks."

    So wait and see...

    ...

    And cut graphics in the meantime. ^^'

  • If you're that close you might be able to get it under the limit by:

    • use JPEG anywhere you can (think you said you were doing this already) - remember to set this in the Image Format options dialog from the C2 image editor, C2 ignores the imported format
    • use PNG-8 anywhere you can without causing a significantly noticable reduction in image quality (as above set this in the Image Format dialog in the image editor)
    • delete any .m4a files that are exported - Android can play the .ogg files. Mobile speakers are often not great so you may be able to get away with pretty low quality (unless headphones audio is especially important)
    • use an external tool to re-encode any large .ogg files to an even lower quality
    • any images which are blurry/same color/low contrast, resize the image smaller in the image editor, then stretch the image up again in the layout view. This makes the image smaller while producing a similar looking result
    • simply cut any artwork, music or sound effects that aren't strictly necessary

    Expansion APK support is in the works for Crosswalk, so hopefully that will be able to split off at least the images from the main APK file.

    Maybe I should write up a blog post on minimising the download size?

  • Maybe I should write up a blog post on minimising the download size?

    That would be greatly appreciated, I develop exclusively for mobile atm and I had no idea about the audio trick.

  • Thank you Ashley !

    I never thought about reducing the .ogg files with an external tool . This is one more thing I need to do.

    And the tutorial is great !

  • Ashley makes a good general point about audio bitrates (64k is fine over a phone speaker), but in your case this is a ton of work for an inconsequential gain of 2mb or so.

    JPEG is rarely good for game graphics...it's biggest benefit is if you are using photographic sources.

    Oh, BTW: If your images are all png32, here's the solution to your problem (@Ashley, you should look at this too, it's superior to the pngnqi lib used by construct):

    http://pngquant.org/ --(Search for and DL PNGoo)

    And/Or

    Web gui for pngquant: https://tinypng.com/

    Much like C2's PNG-8 option, this is a lossy technique that reduces the number of colors in an image to 256. However, the algorithm is superior to the one used by C2, and generally produces images that are indistinguishable from the originals. In particular, transparency is handled better, and dithering noise is greatly reduced.

    It tends to shrink images by about ~60%. If you have 38mb of images, and all are png32, this should shrink them to ~15mb. That should bring you in under the 50mb total limit.

  • Thanks TiAm,

    As I said in the original post, I'm already optimizing image with a Mac tool called ImageOptim. The difference seems to be that it's NON-destructive, but it it only makes me gain about 2Mb on 40Mb...

    So yeah I'll definitely try the tools you suggest !

    I also had good luck in reducing the .ogg file size. First of all I put all my files in mono !!! Then saving it in quality 2/10 (3/10 is equivalent of 110Kb/s, which is about the quality of 128 Kb/s MP3. This is easy to do in Audacity. I don't know if there is a tool that do it automatically, such as for png files...

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)