Followers 0

# 2D Layered Perspective?

## 6 posts in this topic

Alright, I'm not even sure if my title makes any sense, but here goes. What I want to know is how games like The Legend of Zelda: A Link to the Past would make it seem that a certain area is higher or lower than another. There would be certain areas where you'd appear to jump down, but that clearly isn't possible in 2D as there is no depth, so there has to be some kind a layer based movement. My question is how would I make multiple layers that give the perspective of 3D without it being a 3D environment? (I personally use SDL and OpenGL if that makes any difference) Edited by Spirrwell
0

##### Share on other sites
He pretty much covered most of it, but aside from what he said, casting a shadow on the surface below will trick the brain into assuming there is depth in 2D Edited by StillWorkingOnIt
0

##### Share on other sites
I have the same problem now, falling down from the edge right in front of the camera is quite obvious now, but what if we jump of the edge from left or right? [img]http://dl.dropbox.com/u/23194692/layering.png[/img]

BTW. If this map makes no sense please let me know.
0

##### Share on other sites
Do you want to calculate how many tiles to fall? It depends on how you handle/store the maps, and slopes.

The map makes no sense, because the left cliff implies a slope that has a certain (we can't see) height and a length of 3+a portion of tiles. The the one right next to it implies an almost zero length slope. Edited by szecs
0

##### Share on other sites
Well, yes. Which of these arrows would be correct way to fall (from the arrows on the left). I believe the one reaching the bottom but wanted to make sure.
0

##### Share on other sites
I think you have to mark the slopes, or the cliffs (more probably the slopes) somehow in your map data.

Which is the correct on the left side? Neither. The character would fall only a little, since it near to the starting point of the slope.
_______________________

The nearer the character to the cliff, the bigger it should fall. If it's at the cliff, it has to fall exactly the same amount as the height of the cliff. If it's at the starting point of the slope, it has to fall zero. Then linearly interpolate between the two values.

You can calculate the position of the character after jumping:

[font=courier new,courier,monospace]DistanceToFall = CharacterDistanceFromSlopeStartingPoint * HeightOfSlope/LengthOfSlope;[/font]

See image:
[attachment=9594:slope_and_cliff.JPG]

As you can see, you can't have both green and red slopes at the same place, so you can't just draw whatever cliffs.

You have to make a meaningful map, because with pseudo 3D, it is possible to make impossible spatial structures.
So you have to make sure that the cliffs and slopes make sense. Maybe the map editor tool for this task has to be really 3D. Or plan very carefully.

I still don't know how would I store the slopes. Maybe you don't have to, because you have those "edge of cliff" tiles and you only have to count them for getting the length.

I hope the post makes sense. Edited by szecs
1

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account