Better PNG compression

  • I tried compresspng.com and it makes most PNG files 50-60% smaller, compared to the built-in image compression in C3.

    As an experiment I compressed all images from my game (which was pita to do, because this service allows loading only 20 files at a time):

    • C3 recompress images - 4.8 MB
    • compresspng.com - 2.1 MB

    This is a huge difference, especially for a web or mobile game.

    Can we have this or similar compression method in C3?

    Ashley ?

  • No idea what png compression c2 or 3 uses but as a user you could manually just do the compression with a tool like

    optipng.sourceforge.net

    Instead of an online tool.

  • R0J0hound I tried OptiPNG with an exported image from C3, and even at the highest optimization setting it says "png is already optimized"

  • It was just an example, there's also pngout, pngcrush and for lossy compression pngquant. I haven't tried any of them honestly. Looks like you can fiddle with the parameters to get better results for different images. Likely it's the tech behind these png compression sites, at least that's my suspicion.

  • R0J0hound None of the lossless tools can compress it better than C3. I guess compresspng.com uses a lossy method.

    Still, a lossy compression option would be a nice addition to C3 - for games where the download size matters.

  • Construct 3 already uses a WebAssembly build of OptiPNG to optimise your images on export (if you enable image recompression). This can also do automatic palette reduction to smaller 8-bit PNGs as well - particularly nice for retro style games with low color counts.

    compresspng.com does not seem to include any details about what it really does, but I would guess it is using lossy compression. A tool like Construct can't in general use lossy compression since it will degrade artwork, and I think most artists will want their art quality preserved.

  • Try PNGoo.

    I use it and also get at least 50% reduction and no loss of quality as far as I can see even though it uses pngquant which is lossy compression

  • Ashley BadMario Yes, I realized that was probably lossy compression. Although I couldn't see any difference between the before and after files. I even tried a few online services that compare images on pixel level and they showed no differences. I think even though it's lossy, many game developers would happily trade a negligible loss of quality for a 50% reduction in game size.

    I've posted an idea:

    construct3.ideas.aha.io/ideas/C3-I-1601

  • "no loss of quality as far as I can see" is not the same as "no loss of quality." ;)

  • For all practical purposes It is if no other humans can see the difference.

    Nothing wrong with lossy compression. Flash used jpg and looked just fine

    When hawks and eagles evolve hands and start playing games, then that will become an issue for sure.

  • For all practical purposes It is if no other humans can see the difference.

    Nothing wrong with lossy compression. Flash used jpg and looked just fine

    When hawks and eagles evolve hands and start playing games, then that will become an issue for sure.

    That cracked me up !!!

  • CompressPng and PNGoo change the color depth to 8 bit (256 colours) and using a dithering algorithm like Floyd-Steinberg. In most cases there will be no visible difference but if you have colour gradients it can be visible. So there is loss of information.

  • There is a big difference between "looks fine to me" and "looks fine across thousands of games using an incredibly wide array of different art styles, many of which designed by artists who are sensitive to the precise appearance of their games".

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I guess that we should get 2 options :- lossless and quality reduce for project export

  • There will be a much bigger difference due to all the display variations out there than the actual compression, so I believe artists are out of luck here. No matter what they do it will look different on different screens.

    In the end, what is more important, being able to add twice as many animation frames and having more and smoother animations, or possibly risk some color variations because of compression, that 3 people somewhere may or may not notice.

    We do the same with audio in Construct. It is compressed, so why not graphics? Some people care more about audio actually ( I care at least as much ).

    Ideally ( if possible ) give people options, from what's currently in Construct to more severe compression.

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