Page 1 of 5
Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 10:10 am
by Marty
I came across some projects here that use Love2D to simulate 3D (fake 3D). In the late 80s and early 90s there was a good reason to fake 3D, because real 3D was impossible and very costly to that time. But I'm curious why would anybody fake 3D in a 2D engine instead of simply picking a 3D engine in the first place, nowadays.
Once I want to create great 3D content, Love2D cannot be an option in my opinion, but it's perfect for 2D.
Did you do some fake 3D in Love2D? If so, please tell me why, I'm super curious about the reasons behind it.
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 11:14 am
by Tjakka5
Sometimes just as a proof of concept, sometimes for fun, sometimes for the particular style you'll get with that approach.
Some examples would be raycasting:
https://love2d.org/forums/viewtopic.php?f=5&t=35876
Or using this "Layered Sprites" technique:
https://gfycat.com/ConsciousZanyArmedcrab
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 12:49 pm
by Marty
Oh Raycasting kinda reminds me on the old Woflenstein 3D game, it used the same approach.
The last link (GIF) looks so incredible, but I doubt this could not be done with all the look and feel with a 3D engine?
Is the "Layered Sprite" technique hard to accomplish? Are there tutorials?
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 2:33 pm
by Tjakka5
Here's a little tutorial on how it is achieved:
http://www.like100bears.com/writing/2d- ... ker-studio
And a developer talking about it:
https://www.youtube.com/watch?v=iAJ-tyi ... amp;t=2410
I've made a library for this effect:
https://love2d.org/forums/viewtopic.php?t=83158
Though I have to mention it is currently non maintained, since I'm waiting for Love 0.11.0 to get proper depth buffers. The current one fails in a lot of situations.
Oh, and about achieving it in a normal 3d engine.
This effect in a way draws voxels, but has the "staggering" effect, since they are just flat sprites.
And objects also don't get smaller when they are far away from the camera.
It may be possible in a normal 3d engine, but it may be quite difficult.
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 6:35 pm
by Marty
Wow nice, thanks, I'll keep an eye on your project. Maybe I will go with it in the future.
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 8:35 pm
by Jeeper
Why do games that have pixel art graphics, when computers now days can handle very high resolutions? Artistic choice
I used the multi-layering technique to create these 3 Ludum dare entries:
https://ldjam.com/events/ludum-dare/40/city-mayhem
https://ldjam.com/events/ludum-dare/39/a5tro-spaced-out
https://ldjam.com/events/ludum-dare/38/arr-world-1
Specially City Mayhem uses this in a different way to make the game more comical and humorous by having a more warped and trippy feel to the 3d.
Re: Why faking 3D nowadays?
Posted: Mon Dec 11, 2017 11:24 pm
by zorg
The short answer is either for challenge or for fun; the long one is that despite things like CryEngine, Unreal, Unity existing, Löve also uses OpenGL, i.e. it's hardware accelerated; The only "setback" is a lack of integrated editor and some systems you'd take for granted with the aforementioned engines, in any other way, you could code any 3D (or higher dimensional) game in löve if you know what you are doing.
Re: Why faking 3D nowadays?
Posted: Tue Dec 12, 2017 2:36 am
by SPlice
I have been doing a lot with love2d that is 3d for my space game. I like love 2d because it does not include a IDE or anything like that, It may not be ideal for 3d but I enjoy figuring out cool ways to do 3d with shaders and math. This is something I have been working on using love 2d
http://diversionsw.com/v1.webm
Re: Why faking 3D nowadays?
Posted: Tue Dec 12, 2017 9:56 am
by Marty
zorg wrote: ↑Mon Dec 11, 2017 11:24 pm
The short answer is either for challenge or for fun; the long one is that despite things like CryEngine, Unreal, Unity existing, Löve also uses OpenGL, i.e. it's hardware accelerated; The only "setback" is a lack of integrated editor and some systems you'd take for granted with the aforementioned engines, in any other way, you could code any 3D (or higher dimensional) game in löve if you know what you are doing.
You are right, at the very end 3D is just rendered 2D. With proper math, everything is possible. I could imagine a project called Love3D that is a layer on top of Love2D that allows to program 3D games with Love2D similar to other engines like Urho3D. I think the lack of proper tools is just a question of third party software. I mean, we can already use TMX files for tiled 2D games, if I'm not mistaken. As long as Love2D is popular, there will be tools written for it, there won't?
Impressive, I love the look and feed of Spaced-Out and I really appreciate that you are sharing it.
SPlice wrote: ↑Tue Dec 12, 2017 2:36 am
I have been doing a lot with love2d that is 3d for my space game. I like love 2d because it does not include a IDE or anything like that, It may not be ideal for 3d but I enjoy figuring out cool ways to do 3d with shaders and math. This is something I have been working on using love 2d
http://diversionsw.com/v1.webm
Wow, just wow. It looks like you just made this in Unity or UE. Seeing what is really possible with Love2D would let me overthink if I should really leave Love2D when going for 3D. I thought I would leave Love2D once I try 3D with Unity, specially because it's faster and easier with Unity, but who knows, maybe you've released Love3D until that time
, maybe there will be nice tools written by anybody from this community to build 3D maps with it such in a way like Unity. Sure it will never reach that quality level (look how many paid people work on Unity), but specially for smaller game development it would be a worthy replacement.
I'm excited to see what Love2D and this community will hatch for our future. It's great.
Re: Why faking 3D nowadays?
Posted: Tue Dec 12, 2017 2:50 pm
by Ostego160
Greetings!
I LOVE 2.5D (layered sprites). However, I am an extreme amateur at programming and my only projects include fake 3D. In addition to my signature, I have made a series of color, shape, and physics libraries designed around 2.5D that can me seen here:
Isometric Physics Model
Isometric Color/Shape Tool
And as you can imagine, in most of these cases the payoff was not really worth the effort that's being put on the system vs pure 3D (pending optimization). In all these cases, I found it an AWESOME way to learn programming, especially the mind-bending math, which is my favorite.
So if anything, I think the educational value is tremendous.