Pseudo 3D Examples

I Made a pseudo 3D examples, maybe someone will be useful!
Simple Pseudo3D Example: See | Download link
Raycasting Example: Link
Pseudo 3D with camera rotation Example: Link

13 Likes

Чтобы он добавил в программу? Хм, почему бы и нет, хотя может я реализовал это слишком заморочено :grinning: так как нужно редактировать каждую копию спрайта))

1 Like

Box 3D это вроде был настоящий трёхмерный объект, а тут только имитация)) на самом деле все плоское, просто спрайты уменьшаются и увеличиваются в реальном времени. Кстати за добавление Box 3D в Gdevelop 5 можно проголосовать тут и еще за псевдо 3д перспективу - тут

1 Like

After seeing the project file I realized life is beautiful

8 Likes

Interesting! Going deeper into this could be used to develop some classic rpg game like ‘Eye of the Beholder’

1 Like

I think it is possible. But this is a basic example, it does not have a camera rotation function.

My progress of pseudo 3D in gdevelop 5. I added the camera rotation feature. This is based on a different formula (cos, sin).

Download Example

14 Likes

It looks really nice! Advancing from “Eye of the Beholder” to “Wolfenstein 3D” :grin:

4 Likes

Love seeing people managing to make stuff that GD isn’t built to do (or at least not yet).
Shows how diverse its capabilities are and opens the door for more possibilities.
Thank you for sharing this with us.
:smiley: :+1: :sparkles:

5 Likes

I tried to raycasting, it turned out to be possible, but in practice it’s difficult to apply, maybe someone will need :slightly_smiling_face:

Download

7 Likes

I forgot to mark the center of the sprite, because of this, the final image has shifted up :blush:


Here’s how it should be:

Download link updated

6 Likes

Much better!
Have you see the cube of arthuro on Discord, and his project ?
@arthuro555 and you should collaborate you make really good things in 3D :clap: :wink:

1 Like

̶N̶o̶,̶ ̶i̶ ̶d̶i̶d̶n̶’̶t̶ ̶s̶e̶e̶,̶ ̶d̶o̶ ̶y̶o̶u̶ ̶h̶a̶v̶e̶ ̶a̶ ̶l̶i̶n̶k̶?̶
I Found it :slightly_smiling_face: But I don’t know anything about java script :sweat:
I only have some experience in constructors (Clickteam Fusion 2.5, Gdevelop 4 and 5)
Updated )) I found an example! it is amazing!

1 Like

I think we are both doing veeery different things anyway. He is doing raycasting (wich is if I remember correctly make walls just many lines wich length depends on the length of a ray to the wall in the 2D view, technique used for doom) and I am doing… I don’t really know how it is called but basically it relies on matrix multiplications with data structures and using the shape painter to render them.

Anyways if someone is interrested the project is on the discord and the demo is available here: Game Jolt - Games for the love of it

2 Likes

Wow! This is a really serious work! Not my pseudo 3d “toys” :grin:

I would not call your technique a simple toy. Both are just very different techniques for very different usages but serve the same purpose: bringing 3D in a 2D Renderer. I respect you more for doing it through the event sheet, I’ve got too lazy for that (because of the difficulty of implementation of arrays through structures)

3 Likes

Next step…Beat Unreal engine 4 …impressive work, is that cow made with program or is it imported?

2 Likes

The cow is downloaded from the internet. You can use many obj files but I only support 2 instructions out of ≈ 8 of the obj file format, so only basic models work. You can make one in blender and should be able to import it if you export it with the right options.

1 Like

Can I know the method of importing the obj and can I have the file?

1 Like

The project is downloadable in the javascript channel of GDevelop’s discord.

To load a 3d model, scroll down the first JS event and at the end uncomment the loading method you need, comment the cube loading and save the project before starting the preview.

Make sure to modify the Z position in the second JS event to make the object far enough to not clip into the camera.

1 Like