greetings
a bout 3 weeks back , i was finally able to play the 3D re-makes of some sega genesis hits with citra (nintendo 3DS emulator)
needless to say, playing the games with a 3D projector was a real treat.
altho the OpenBOR engine currently has no native way of displaying modules as stereo projections (by duplicating & automatically re-arranging the layers)
even if it could, beatemups have to be optimized & some tricks have to be made in order for a 3D version to look right.
so first thing first,
step 1 --- for making a 3d module you need to double the module's vertical resolution in the video.txt file
example - video 480x480
ColourDepth 16bit
step2 --- any title screen , videos have to be doubled, & the menus press start & option HUDs have to be modified using script so they can only be displayed in the top portion of the game window.
step 3 --- to design a 3D level, the top portion of the screen is the master, design your level boundaries based on the panel graphic, but try & keep the order or layers in the following manner:
while running the games , the layers will look like this:

step 4 --- 3d offset
basically the fglayer that is further has to be "shifted" a bit more to the right, the closest to the left
pictures later
step 5 --- all entities have to have a "right eye version" & they must have a "display value" that will place them one layer on top of the second "fake" panel.
"setlayer {int}
This entity will be displayed as if it were at z position {int}, regardless of it's actual position."
the left eye or master entity has to summon & bind its right eye duplicate, the binding has to be offset so the entity appears on the bottom screen.
when designing the levels, make sure that the "fake" panel layer & any layers behind it, are always on the bottom/inferior to the "Z" value of the the "right eye" entities.
in the example picture's case, "Rentities" are displayed on top of FGlayer 11
step 6 -- a "focus" or "3d depth" script has to be implemented for correct depth perception, basically, if the master entity moves closer to the screen/front fglayer, the right eye entity "shifts" to the right, the further it is from it, it "shifts" to the left.
step 7 -- some kind of mask layers or viewport or canvas limits has to be implemented, other wise some sprites will invade the space of the "second camera" layers
step 10 --- once everything is implemented, players can enjoy the module by setting OpenBOR to the following display settings:

and set their displays or projectors to 3d mode - top bottom
Limitations:
Without an effective way of masking , or cropping the sprites to certain areas, levels are limited to scroll only to left to right.
elevator stages would be difficult to do or will require a lot of work
a bout 3 weeks back , i was finally able to play the 3D re-makes of some sega genesis hits with citra (nintendo 3DS emulator)
needless to say, playing the games with a 3D projector was a real treat.
altho the OpenBOR engine currently has no native way of displaying modules as stereo projections (by duplicating & automatically re-arranging the layers)
even if it could, beatemups have to be optimized & some tricks have to be made in order for a 3D version to look right.
so first thing first,
step 1 --- for making a 3d module you need to double the module's vertical resolution in the video.txt file
example - video 480x480
ColourDepth 16bit
step2 --- any title screen , videos have to be doubled, & the menus press start & option HUDs have to be modified using script so they can only be displayed in the top portion of the game window.
step 3 --- to design a 3D level, the top portion of the screen is the master, design your level boundaries based on the panel graphic, but try & keep the order or layers in the following manner:

while running the games , the layers will look like this:

step 4 --- 3d offset
basically the fglayer that is further has to be "shifted" a bit more to the right, the closest to the left
pictures later
step 5 --- all entities have to have a "right eye version" & they must have a "display value" that will place them one layer on top of the second "fake" panel.
"setlayer {int}
This entity will be displayed as if it were at z position {int}, regardless of it's actual position."
the left eye or master entity has to summon & bind its right eye duplicate, the binding has to be offset so the entity appears on the bottom screen.
when designing the levels, make sure that the "fake" panel layer & any layers behind it, are always on the bottom/inferior to the "Z" value of the the "right eye" entities.
in the example picture's case, "Rentities" are displayed on top of FGlayer 11
step 6 -- a "focus" or "3d depth" script has to be implemented for correct depth perception, basically, if the master entity moves closer to the screen/front fglayer, the right eye entity "shifts" to the right, the further it is from it, it "shifts" to the left.
step 7 -- some kind of mask layers or viewport or canvas limits has to be implemented, other wise some sprites will invade the space of the "second camera" layers
step 10 --- once everything is implemented, players can enjoy the module by setting OpenBOR to the following display settings:

and set their displays or projectors to 3d mode - top bottom
Limitations:
Without an effective way of masking , or cropping the sprites to certain areas, levels are limited to scroll only to left to right.
elevator stages would be difficult to do or will require a lot of work