GameSalad

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Let's talk about image formats...

CodeWizardCodeWizard Posts: 1,143Key Master, Head Chef, Executive Chef, Member, PRO GameSalad Employee

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 Posts: 10,376Member, Sous Chef
  • nickb5552nickb5552 Posts: 452Member
    edited April 2014

    This is amazing news!

    Great job GS team! (*)

  • KnightStarKnightStar Posts: 161Member

    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 Posts: 1,764Member

    @TaoOfSalad‌

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

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

    @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!!!

    It's not my fault I never learned to take responsibility for anything. ;)

  • Braydon_SFXBraydon_SFX Posts: 9,109Member, Sous Chef, PRO, Bowlboy Sidekick GameSalad Employee

    @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 Posts: 8,188Member

    @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: http://www.quantum-sheep.com

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

    @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 Posts: 1,764Member

    @Socks said:
    PNG

    and I did read that,lol.. B)

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

    @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 Posts: 1,764Member

    @Socks said:

    Too Late.

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

    @BBEnk said:
    Too Late.

    :)

  • imGuaimGua Posts: 1,089Member

    @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 Posts: 411Member

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

  • TaoOfSaladTaoOfSalad Posts: 83Key Master, Head Chef, Member GameSalad Employee
    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 Posts: 83Key Master, Head Chef, Member GameSalad Employee
    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 Posts: 46Member, PRO

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

  • SocksSocks London, UK.Posts: 12,822Member
    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 ?

  • beefy_clyrobeefy_clyro Posts: 5,390Member

    Schhhhhwiiiiiing

  • colandercolander Posts: 1,610Member

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

  • jonmulcahyjonmulcahy Posts: 10,376Member, Sous Chef

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

    2048x2048

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

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

    From my own experience, a massive elephant.

  • kirafukirafu Posts: 311Member

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

  • mataruamatarua Auckland, New ZealandPosts: 854Member

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

  • LoadedLoaded Posts: 240Member

    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.Posts: 6,577Member, Sous Chef, PRO

    Truly excellent. :smiley:

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

  • xJadonxxJadonx Posts: 46Member, PRO

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

  • KillerPenguinStudiosKillerPenguinStudios Posts: 1,291Member

    SoOoOoOo excited!!! This is AwEsOmE!!!

  • 8BitAvrin8BitAvrin Posts: 361Member, PRO

    @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

Sign In or Register to comment.