Jump to content
  • Advertisement
Sign in to follow this  
NevermoreDCE

Spritesheet vs JBOP (Just a Bunch Of PNGs)

This topic is 2100 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
Advertisement

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!