I'd like to make a 2d game where you can rotate between topdown (like zelda) and isometric (like diablo). I'm not sure the best way to do this in Godot? Should I start with a 3dNode and restrict the viewing angles to only 8 angles? Or should I start with a 2dNode and find a way to rotate that? I'd also like the game to be multiplayer online with shooting and hitboxes if that matters.

Hi,

I think that depends on your resources and style you want to give your game.

I think making that with 2D nodes will require a lot more work, because you need to create images for all directions and also top-down additionally.

With 3D nodes you just create models and you can render from any direction, so don't need to create as many assets (for me that would be definitely easier, since I draw really slowly before I create something looking good enough).

But I think final decision is up to you. That depends on effect you want to achieve, because of course 3D version will look differently than 2D.

I think making that with 2D nodes will require a lot more work, because you need to create images for all directions and also top-down additionally.

Hi, thanks! I deff want the 2D look and want to draw everything for every angle. I was thinking that I would need to use a 3Dnode regardless because it might be difficult to handle collisions with a 2DNode?

For example, if one person is viewing the game from top down and the other is viewing the game from isometric and they are shooting each other it might cause trouble because I would have to draw collision shapes in isometric and in topdown and make sure they match exactly. But maybe it would work fine. I'm just not sure how 2D and 3D nodes work yet. Or perhaps there are other problems that I would run into if using a 2Dnode?

@itgiawa said: For example, if one person is viewing the game from top down and the other is viewing the game from isometric and they are shooting each other it might cause trouble because I would have to draw collision shapes in isometric and in topdown and make sure they match exactly. But maybe it would work fine. I'm just not sure how 2D and 3D nodes work yet.

Hm, that depends also on multiplayer you want to make. If that will be client-authoritative multiplayer then it should be no problem with that, because each client will calculate logic according to current perspective. If you want create server-authoritative multiplayer then it may be a bit more complex, but hmm then I think you need calculate logic independently from perspective.

@GlyphTheWolf I think you need calculate logic independently from perspective.

Yeah thats why I was thinking using a Node2D is a mistake. Wouldnt a Node3D allow me to calculate logic independently of perspective? Also, if I need to shoot between multiple z levels I have a feeling that would be easier on a Node3D

It is possible to expose multiple perspectives in 2D. See the 2.5D demo for an example of this.

2 years later