Does anyone know of any good examples of 3D being faked in 2D (not necessarily code, but games I could look up)? The player has the perspective that they are going 'into' the screen and things are coming out at them. At the moment, I'm simply scaling the 2D enemies to give the illusion that they're coming closer, but it still feels quite flat. Are there any tips on how to give it more of a 3D illusion without actually using a 3D engine?
Edit: Just came across the term 'Mode7' and this video which shows pretty much what I'm trying to figure out. (especially the games at 0:13 and 1:03). What's a good way of implementing something like this?
Answer
One of my favorite classic arcade games also happened to do fake 3D: Space Harrier
In that video you can see a few tricks they used, but one of the most effective visual effects is so seamless that you might not even notice it happening: when the player (or importantly the camera) moves, they use parallax to give objects in the scene a feeling of depth.
That is, closer objects move side to side faster than distant objects. The classic example of parallax is looking out the window of a moving car: nearby stuff like street signs whip by in a blur, trees further away move more slowly, while distant things like mountains barely appear to be moving.
In addition, objects don't scale linearly as they get closer. That is, objects only scale a little while far away and scale up faster when close; scaling linearly would be if they scale up at the same rate the entire time. You say you're already scaling your objects as they get closer, but you may be scaling them linearly and that looks flat.
ADDITION: Afterburner is another classic arcade game that used a lot of the same graphics tricks.
No comments:
Post a Comment