Jump to content
  • Advertisement
Sign in to follow this  
Mike Johnson_112598

XNA 2D solution questions. Any advice?

This topic is 2758 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

Hi. So I have a few questions about an idea and wondering if anyone here might be able to provide some answers or insight. I'm new on this forum so I apologize if some of these things may exist on the forum already.
Ok so, I'm relatively new to XNA and I'm not 100% sure of all the optimization features and support included out of the box.
I'm interested in creating a 2d game with a fair sized world map. I plan on using a customized tile engine to reduce memory consumption and not waste resources on parts of the map that aren't even within the view port.
What I would like to do is make heavy use of layer depth when rendering textures and the idea I'm rolling around right now is the following.
The view port will be a birds-eye view at all times in game. To simulate the effect of a 3d world environment, heavy use of layer depths would be employed. Basically, a base-value would be established (example: sea level would be say 0.5 layer depth). Things rendered in the view port would determine their "world z" value in relation to the base value.
As a player's character sprite (approx 15 layers of textures, also employing layer depth) navigates through the world, basic bounding box collision detection would be used. In the event of collisions, a specialized per pixel collision detection would be used to not only determine if a non-transparent pixel collision has occurred, but to compare the layer depths of the collided pixels. If the players sprite is "higher" than the other texture, the player sprite would be able to pass over, but if the players sprite is lower, it would determine how much lower, and if the "height" difference is of a certain amount higher, the collision would be treated as a collision and the player sprite would not be able to pass.
As the player navigates the world, all of the players characters textures would have their layer depths adjusted accordingly depending on the layer depth of the terrain the players center is currently over.
I'm aware that shaders will be a pain in this type of idea, but at this point, I'm not really concerned about shader's. I'll cross that bridge when I get there.
The layer depth use I'm talking about would be breaking the layer depth value down into hundredths rather than simply tenths. The uppermost layers would be reserved for UI element textures, etc. This doesn't mean there will be thousands upon thousands of overlapping textures lol. It just provides the desired effect of simulating terrain height from a birds eye view.

My questions are:
1. Is this possible? (regardless of how much work it may be...)
2. Is there any engines out there that already do this?
3. What types of optimization should I be looking at?

Also, I don't know if xna has a default method of pixel culling for overlapping non-transparent pixels or if I will have to create my own algorithm for this.

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!