Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Spritesheet vs JBOP (Just a Bunch Of PNGs)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 NevermoreDCE   Members   -  Reputation: 108

Like
0Likes
Like

Posted 18 February 2014 - 02:36 PM

Context Info: I'm building a simple data-driven turn-based 4X game engine based on fond memories of playing Space Empires back in the 2D days. I'm building it in WPF so that the techniques and technologies I use and learn have at least some chance of being relevant to my day job as an App Dev.

My current prototype just uses a small handful of Image objects sourced from BitmapImage objects referencing separate PNGs (tiny, nothing's bigger than 32x32px), but I'm at the point where I want to start expanding the number of images that are being used (multiple ship classes, etc) and I'm debating whether I should stick with just a bunch of images (which I'm slightly worried about because I've read about performance issues with large numbers of images in WPF), or if I should refactor everything to use a spritesheet and build out all the transform logic for that.

The other factor that has me researching spritesheets is trying to keep the engine data-driven, so that my friends and I can mod it up later with whatever universe we want to use. From this point of view, my concern is in keeping all of the images organized and corralled properly which a spritesheet does easily since they're all in one place. I'm having trouble trying to come up with a way to organize a bunch of separate images so that they're easily re-usable (e.g. similar naming convention for all ships of size C) but still data-driven (e.g. I can have an unlimited number of possible image sets, each with their own "ShipSizeC.png" file).

If I can avoid having to refactor everything I'd actually prefer not to use spritesheets so long as I can put my fears about performance and simple organization to sleep. Can anyone help with either of these?

Sponsor:

#2 minibutmany   Members   -  Reputation: 1681

Like
0Likes
Like

Posted 18 February 2014 - 03:04 PM


If I can avoid having to refactor everything I'd actually prefer not to use spritesheets so long as I can put my fears about performance and simple organization to sleep.

 

If you really don't want to make sprite sheets, you can try to minimize the number of images, and use more real time rendered graphics instead....but I don't think a bunch of 32x32 pixel images will take much of a performance hit anyways (How many files are we talking about?). Just keep going like you are, and if you do see a performance issue, implementing sprite sheets isn't really very difficult.


Edited by minibutmany, 18 February 2014 - 03:05 PM.

Stay gold, Pony Boy.

#3 xDarkShadowKnightx   Members   -  Reputation: 430

Like
0Likes
Like

Posted 18 February 2014 - 04:32 PM

Its usually best to use a sprite sheet along with an alias (to tell you where certain images are). This is especially important when working with OpenGL or any hardware graphics api, as switching textures can be VERY slow. So if your just using software rendering, keeping separate images should be OK, but with hardware you should always make sure to use sprite sheets if you can. Here's a really nice sprite sheet packer that you may find useful http://spritesheetpacker.codeplex.com/ in case you find working with separate images easier (its windows only though!)


Edited by xDarkShadowKnightx, 18 February 2014 - 04:33 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS