I'm in the early design stage for a game that will involve a number of sprites running around the screen. The game requires a slightly up-tilted isometric view, which is always a challenge in a 2d environment.
Specifically, I'm trying to figure out the best way to handle z-ordering.
Since I'm using AtlasSprites, I have a caching system setup for the AtlasSpriteManager. Each sprite of a particular type uses a common AtlasSpriteManager, but this is going to be problematic in the real world, since that means that all sprites of a kind will share the z-order of the common AtlasSpriteManager.
Will it be inefficient if I make a separate AtlasSpriteManager for each sprite?
If so, is there a way to make multiple sprite managers that share a common texture (as opposed to each sprite manager loading its own copy of the same thing)?
If not, would making one HUGE texture of all possible sprites be advisable? It would fill memory up pretty quick. If the texture took up more than half the memory, would the PNG loader code choke?
Also, dealing with Z-ordering in an isometric view, what would be an efficient way to handle z-ordering based on how far "forward" a sprite is? Basically, the closer to the bottom of the screen a sprite is, the higher priority it must have.