Topic: Pseudo 3D - how?

i've been studying how old games gave us sense of depth even though no true 3d was being rendered.

does anyone remember or has played super hang on or similar early racers?

http://www.youtube.com/watch?v=yHGt4Zy-l6c

this is a pretty good example. do you see those stripes on the road and sides? those are actually background layers.

the closest to the bottom is the play area. you stay there the whole level. there are also bounds in X axis for road and roadside.

going up from that layer the road starts funneling into perspective. this is an illusion

top layers show zoomed out blocks and bottom layers zoomed in blocks. but the genesis had no zooming functions. every layer is the same image in a different size.

in OS that IS possible to recreate with topmost layers having lower zindex than bottom ones.
the char runs on a horizontal space on the bottom of the screen and never moves in Y axis, except for jumping.

if you kept watching you may have also noticed curves. curves can't be recreated unless we can control a bg layer's current animation frame. because curves aren't really there. they are another illusion. all layers change "angle" (actually, they show a different image) to one side, and the movement engine just pulls you the other way to give you the feeling you're leaving the road unless you counter that force by pressing the right direction.

hills are made by dislocating the bottom layer (play area) up, and pulling top layers down, and then reverse this.

roadside objects move in an angled trajectory to replicate the cone of vision. they get apart to the sides as they approach the bottom layer, and they also "zoom in" by showing a bigger sprite.

collisions are handled in the bottom 2 layers. 1 for the bikes immediately in front of you, and 1 for the play area.

now take a look at this:

http://www.youtube.com/watch?v=9UfIMMS9O0o

same technique, different game.
now the play area is around the screen, giving you the feeling you're running around the pipe. collisions are only handled on bottom layer.

and again:

http://www.youtube.com/watch?v=Yp5uFmW4 … re=related

same technique, but cleverly animated to look round.

if anyone knows what mode7 is, it's probably the best approach for OS. it removes the hassle of doing all this layer based stuff. maps would be doable in the editor, just with a mode7 switch on the level script. then the side view in the editor would actually be a top view when editing mode7 levels. then the engine converts it so that you see N bricks until horizon level, and bricks closer to the horizon would be zoomed out. this has been made before in rpg maker xp through its scripting language:

http://www.youtube.com/watch?v=txBZT6nQ … re=related

mode 7 was the SNES' jewel on the crown. it's the most convincing polygon-free pseudo3d ever. it supports rotations and there's also mode7 with height maps.
so basically, no matter how many ways we get to fake 3d, mode 7 may be the most friendly of them all in all senses.

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png

Re: Pseudo 3D - how?

big_smile I was gonna request this "Bowling Ball Sonic" stage feature eventually, it just seemed like just getting the normal Sonic-style side-scroller to work right was enough of a hassle for now. It really was one of the funnest features of the Sonic games, and it could even be a game entirely unto itself. Heck, the original can even be improved, with enemies, longer tracks, shields, etc.

P.S. [Off Topic] Assuming this can be done, I also wish there were an "Open Road Rash" somewhere (multiplayer+). Figuring out how this effect can be done and implemented properly, I think, would be a revolutionary step for all open source games.

Re: Pseudo 3D - how?

I personally think that Mode 7 would be an awesome way to handle the special stages. Not just that. It would make it possible to create Sonic3D styled levels.

Re: Pseudo 3D - how?

the wonders of linear algebra... roll

KZR wrote:

if anyone knows what mode7 is, it's probably the best approach for OS. it removes the hassle of doing all this layer based stuff. maps would be doable in the editor, just with a mode7 switch on the level script. then the side view in the editor would actually be a top view when editing mode7 levels. then the engine converts it so that you see N bricks until horizon level, and bricks closer to the horizon would be zoomed out. this has been made before in rpg maker xp through its scripting language:

http://www.youtube.com/watch?v=txBZT6nQ … re=related

mode 7 was the SNES' jewel on the crown. it's the most convincing polygon-free pseudo3d ever. it supports rotations and there's also mode7 with height maps.
so basically, no matter how many ways we get to fake 3d, mode 7 may be the most friendly of them all in all senses.

That could be a great approach to enable users to create pseudo 3D bonus levels using our current level editing technology. No hills would be allowed, though. Something like Sonic CD Special Stage. But yes, great idea.

This can take a while to be created, unless we decide to postpone the physics system even further.

Re: Pseudo 3D - how?

Alexandre wrote:

This can take a while to be created, unless we decide to postpone the physics system even further.

I vote physics first...

Re: Pseudo 3D - how?

Just a little update, to an otherwise defunct topic, I found the "secret" behind this effect, and it has to be implemented at engine level.

http://www.extentofthejam.com/pseudo/

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png

Re: Pseudo 3D - how?

cool, it would make a good thing for the S.stages of Opensurge.

www.facebook.com/24XFSAL  Hasn't been updated anytime recently, don't bother.
I'm on SoundCloud: https://soundcloud.com/rain-new-holy - I plan to upload one soon.
Name change from 24XFSAL coming soon. Currently studying for Information Technology and Game development. (Also studying game theory in spare time.)

Re: Pseudo 3D - how?

KZR wrote:

Just a little update, to an otherwise defunct topic, I found the "secret" behind this effect, and it has to be implemented at engine level.

http://www.extentofthejam.com/pseudo/

that is really useful, thanks! smile

Re: Pseudo 3D - how?

A good example of how Pseudo-3Dcould work in the normal levels too.
btw, have you guys added the ability to change to background of a level in-game yet?

Last edited by S32X (2015-01-19 02:17:54)

Re: Pseudo 3D - how?

KZR wrote:

i've been studying how old games gave us sense of depth even though no true 3d was being rendered.

does anyone remember or has played super hang on or similar early racers?

http://www.youtube.com/watch?v=yHGt4Zy-l6c

this is a pretty good example. do you see those stripes on the road and sides? those are actually background layers.

the closest to the bottom is the play area. you stay there the whole level. there are also bounds in X axis for road and roadside.

going up from that layer the road starts funneling into perspective. this is an illusion

top layers show zoomed out blocks and bottom layers zoomed in blocks. but the genesis had no zooming functions. every layer is the same image in a different size.

in OS that IS possible to recreate with topmost layers having lower zindex than bottom ones.
the char runs on a horizontal space on the bottom of the screen and never moves in Y axis, except for jumping.

if you kept watching you may have also noticed curves. curves can't be recreated unless we can control a bg layer's current animation frame. because curves aren't really there. they are another illusion. all layers change "angle" (actually, they show a different image) to one side, and the movement engine just pulls you the other way to give you the feeling you're leaving the road unless you counter that force by pressing the right direction.

hills are made by dislocating the bottom layer (play area) up, and pulling top layers down, and then reverse this.

roadside objects move in an angled trajectory to replicate the cone of vision. they get apart to the sides as they approach the bottom layer, and they also "zoom in" by showing a bigger sprite.

collisions are handled in the bottom 2 layers. 1 for the bikes immediately in front of you, and 1 for the play area.

now take a look at this:

http://www.youtube.com/watch?v=9UfIMMS9O0o

same technique, different game.
now the play area is around the screen, giving you the feeling you're running around the pipe. collisions are only handled on bottom layer.

and again:

http://www.youtube.com/watch?v=Yp5uFmW4 … re=related

same technique, but cleverly animated to look round.

if anyone knows what mode7 is, it's probably the best approach for OS. it removes the hassle of doing all this layer based stuff. maps would be doable in the editor, just with a mode7 switch on the level script. then the side view in the editor would actually be a top view when editing mode7 levels. then the engine converts it so that you see N bricks until horizon level, and bricks closer to the horizon would be zoomed out. this has been made before in rpg maker xp through its scripting language:

http://www.youtube.com/watch?v=txBZT6nQ … re=related

mode 7 was the SNES' jewel on the crown. it's the most convincing polygon-free pseudo3d ever. it supports rotations and there's also mode7 with height maps.
so basically, no matter how many ways we get to fake 3d, mode 7 may be the most friendly of them all in all senses.

Like dynamite headdy?
https://www.youtube.com/watch?v=x01qwb2pwTY

Dead account. YEAH