Let's talk about image formats...

CodeWizardCodeWizard Inactive, Chef Emeritus Posts: 1,143

All:

The GameSalad rendering engine is getting a major upgrade soon, folks. One of our developers has been doing some really amazing work on this over the past several weeks. We're basically revamping the engine to use what's known as a megatexture to store all of your graphics in one big texture. The advantage of this approach is that we can draw your entire game scene in a single draw call versus the way we do it now -- one draw call per actor. Our internal tests are showing some massive improvements to rendering performance (especially scenes with lots and lots of actors).

To achieve this, we'll be automatically tiling all of your images into smaller bitesize chunks for drawing. It's a bit complicated to explain but it's frigging awesome.

As we release this feature you're going to see some changes in how GameSalad handles images. We're officially dropping support for some of the more obscure and difficult image formats to work with (non-standard PNGs being one of the most obvious one of these.) Tools like pngcrush, etc. end up creating images that are non-standard and really hard to load reliably in all cases.

To get the best support moving forward, your images should be stored in standard PNG formats.

With the latest release candidate, you'll start seeing some of these changes to how we load images. We've added a new custom and optimized image format to help improve load times. This format, cleverly called "gsimage," stores your images in an optimized way that makes loading and processing super fast. We only apply this image format when you publish your game through our servers. At least for now... one day we may do it in Creator.

What does this mean? Well image loading is faster with published builds than otherwise. Also, if someone gets a copy of your published game, the images are pretty much useless to them. Unless they know how to turn "gsimage" files into "png" files, that is.

Be sure to test your game with adhoc builds or through the publishing process to make sure it works well. If you're using a non-standard PNG format you may notice issues in a final build that you don't see otherwise. We'll do what we can to support popular image formats but some of them are just not suitable for rapid loading in an optimized image.

Keep an eye on coming nightly builds for our improved renderer soon! It's getting closer every day.

«13

Comments

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408
  • TaoOfSaladTaoOfSalad Member, Chef Emeritus Posts: 83

    The task of batch converting non-standard PNGs to a suitable format has piqued my interest. In my off hours, I'm looking for a bulletproof way to convert those pesky PNGs into a suitable format. Soon I'll create a new post on that effort and ask for community help to test and polish it.

  • KnightStarKnightStar Member Posts: 162

    A batch conversion process would be great and much appreciated - I use TinyPNG on nearly all my images for my apps and some of those project files have well over 100 images in them..

    -- J

  • BBEnkBBEnk Member Posts: 1,764

    @TaoOfSalad‌

    So if I'm starting a game from scratch what would be the best image format for future support?

  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934

    @CodeWizard said:

    What does this mean? Well image loading is faster with published builds than otherwise. Also, if someone gets a copy of your published game, the images are pretty much useless to them. Unless they know how to turn "gsimage" files into "png" files, that is.

    This sounds like a win even if load times are not really improved!!!

  • Braydon_SFXBraydon_SFX Member, Sous Chef, Bowlboy Sidekick Posts: 9,273

    @CodeWizard‌ said: Also, if someone gets a copy of your published game, the images are pretty much useless to them. Unless they know how to turn "gsimage" files into "png" files, that is.

    This! ^

  • quantumsheepquantumsheep Member Posts: 8,188

    @TaoOfSalad said:
    The task of batch converting non-standard PNGs to a suitable format has piqued my interest. In my off hours, I'm looking for a bulletproof way to convert those pesky PNGs into a suitable format. Soon I'll create a new post on that effort and ask for community help to test and polish it.

    Good luck with this - it'll be extremely useful I think.

    Say, for example, you made a game a couple of years ago - updating it will become a huge problem with the new (awesome!) graphics process in place.

    Being able to keep 'backwards compatibility' will be a huge boost imho :)

    Thanks for your efforts!

    QS =D

    Dr. Sam Beckett never returned home...
    Twitter: https://twitter.com/Quantum_Sheep
    Web: https://quantumsheep.itch.io

  • SocksSocks London, UK.Member Posts: 12,822

    @CodeWizard said.
    To get the best support moving forward, your images should be stored in standard PNG formats.

    +

    @BBEnk said:
    So if I'm starting a game from scratch what would be the best image format for future support?

    =

    PNG

  • BBEnkBBEnk Member Posts: 1,764

    @Socks said:
    PNG

    and I did read that,lol.. B)

  • SocksSocks London, UK.Member Posts: 12,822

    @BBEnk said:
    and I did read that,lol.. B)

    The only thing I'd add is that if you're starting a game from scratch make sure it doesn't have the word 'flappy' in the title. :)

  • BBEnkBBEnk Member Posts: 1,764

    @Socks said:

    Too Late.

  • SocksSocks London, UK.Member Posts: 12,822

    @BBEnk said:
    Too Late.

    :)

  • imGuaimGua Member Posts: 1,089

    @CodeWizard said:
    All:

    We're officially dropping support for some of the more obscure and difficult image formats to work with (non-standard PNGs being one of the most obvious one of these.) Tools like pngcrush, etc. end up creating images that are non-standard and really hard to load reliably in all cases.

    Then we need to solve Google Play 50mb limit problem ASAP. I mean, we need to have ability to make apk with additional files.

  • RondoRocketRondoRocket Member Posts: 411

    Awesome news! Really impressed with the recent improvements to GS.

  • TaoOfSaladTaoOfSalad Member, Chef Emeritus Posts: 83
    edited April 2014

    Here's my post about batch conversion of PNGs: http://forums.gamesalad.com/discussion/67365

    All feedback is welcome but let's discuss it in that thread.

  • TaoOfSaladTaoOfSalad Member, Chef Emeritus Posts: 83
    edited April 2014

    RE: "I'm starting a new project. What image format should I use?"

    Yes, PNG. PNG is still the de facto standard for raster images. GameSalad will take those PNGs and convert them to a more optimal format during publishing. But it's still convenient to work with PNGs while in development. What you want to be cautious of is secondary PNG optimization programs, often those designed for the web. Instead, keep the original PNG output from your image authoring tool (PhotoShop, Illustrator, GIMP, etc). Compression and optimization isn't an issue for source art; GameSalad handles that in publishing. If you keep your source art closest to the original form, then you won't have any hiccups.

    In the worst case, your PNGs might be in a poorly optimized format that causes color and transparency issues. For that case, I'm looking to provide a batch conversion solution for bad PNGS that I linked above.

  • JungrilaJungrila Member, PRO Posts: 46

    It' a good news for me.
    Actually, optimization for many images is a little hard.

  • SocksSocks London, UK.Member Posts: 12,822
    edited April 2014

    @TaoOfSalad said:

    I've just posted up the 24 bit/8 bit bug in the Public Bug Database thread - where 24 bit images get their palettes squashed down to 8 bit - unless you force the iOS to recognise that they are really 24 bit by introducing some transparency (which I suppose makes them 32 bit), I thought it might be relevant to the whole image format discussion.

    Even if this issue is an iOS end problem, would there be a way - at the gsimage conversion stage - to force iOS to see the image as 24 bit, using - forgive my lack of technical knowledge - some kind of magic stuff ? Even if the gsimage conversion stage added a single 99% opacity pixel (which is the current workaround) as a solution ?

  • colandercolander Member Posts: 1,610

    What is the largest image that can be imported into GameSalad?

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    @colander said:
    What is the largest image that can be imported into GameSalad?

    2048x2048

  • SocksSocks London, UK.Member Posts: 12,822

    @TaoOfSalad said:> @colander said:
    What is the largest image that can be imported into GameSalad?

    From my own experience, a massive elephant.

  • kirafukirafu Member, PRO Posts: 314

    awesome ! i can't wait to play with it.
    thanks gs team!!

  • mataruamatarua Auckland, New ZealandMember Posts: 854

    All sounding awesome and part of the obfuscation programme coming to life. Great to see :)

  • LoadedLoaded Member Posts: 240

    Exciting stuff GS team!

    Website » Twitter » Facebook » Loaded Arts - Fun for thumbs.

    Developer Blog » 08/01/2015 - Week 72 – Apple, the great dictator…

  • gyroscopegyroscope I am here.Member, Sous Chef, PRO Posts: 6,598

    Truly excellent. :smiley:

    ""You are in a maze of twisty passages, all alike." - Zork        temp domain http://spidergriffin.wix.com/alphaghostapps

  • xJadonxxJadonx Member, PRO Posts: 46

    This sounds awesome! But will there be a loss in quality of the image?

  • KillerPenguinStudiosKillerPenguinStudios Member Posts: 1,291

    SoOoOoOo excited!!! This is AwEsOmE!!!

  • 8BitAvrin8BitAvrin Member, PRO Posts: 368

    @CodeWizard‌ so how long will 0.10.4.1 be supported with the previous image format processing?

    WebsiteTwitter ∞ My apps are available on: Apple iOS App StoreGoogle Play App StoreAmazon App Store

  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934

    @xJadonx said:
    This sounds awesome! But will there be a loss in quality of the image?

    No I think it retains full image quality as long as your source image fits in the new image requirements like not compressing your pngs.

Sign In or Register to comment.