#3D-esque / pseudo-3D scrolling 2D backgrounds?

2 messages · Page 1 of 1 (latest)

oblique hazel
#

I want to make a Touhou-like shmup game using Godot, but the first problem I encounter is that how on Earth should I make 3D-esque scrolling backgrounds, similar to those seen in many Touhou games (and fangames)?

I know if I want to make a "true" scrolling background with "depth" similar to what seen in many of such games, I have to learn 3D modelling, which is time-consuming and not fun (while yes, I can model 3D characters, but only to certain extents).

So I want to aim for "fake 3D" (or pseudo-3D) 2D backgrounds, similar to what seen inside gameplay videos like these: https://www.youtube.com/watch?v=e-emDyw3K4s
https://www.youtube.com/watch?v=KbHVDCuouCo

I know we can use layered parallaxes for these, but how can I do certain types of such pseudo-3D scrolling backgrounds using parallaxes (like the endless runway-like background in the second video)?

You know, I am dead set on making backgrounds like those, because as far as I know, static 2D shmup backgrounds (like ones seen in this video: https://www.youtube.com/watch?v=ZItVwgLZh6s) got negative reputation of making games that feature them look "unprofessional". I don't want that to happen to my game.

How can I actually achieve this, in the most straightforward and beginner-friendly way as possible?

Thanks in advance!

速攻が特に大切 道中の物悲し気なフレーズ大好き、ボスさんはだいぶ難しいお(^_^)

▶ Play video

Turn on captions for some extra text comments during the video.

I can't believe it took me this long to get to one of the best Touhou fangames.
Resurrection of Heaven's Liquor is one of those games that needs no introduction, it was one of the very first fangames of its kind, exploding onto the scene back in 2008 and it changed everything.
It ...

▶ Play video
astral monolith
#

so the examples of fake-3D you showed pretty much just look like 2D that's warped to look like it's moving in 3D to me... in which case I'd have 2 ideas:

you could make a shader that does a 3D rotation on the background (basically calculating what would this look like if it were rotated). So the background is still just a 2D image, but the rotation gives a warping effect making it look just that bit more 3D...

or if you're fine with a bit less performance you could just render the background to a plane or sprite in a 3D scene, point a camera to that plane at an angle, render that camera's output to a texture and then put that texture as background in your 2D game.