Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

Really amazing. I'm so curious about how you present 2d game in 3d space. There must be some brilliant technique behind the scene. Just rotating the interactable 2d objects(they are apprently more than just textures) is already beyond my imagination. 

(1 edit) (+2)

Thanks!! I did it using render textures ("Viewports" in Godot, the engine I used) . I laid out the faces of a cube in a 2D scene with 2D physics, and designed everything there, with a Viewport rendering the whole span of all six faces to a texture. I then used this to texture a cube, being very careful to match the UVs of the texture to the correct faces. The camera following the player was a challenge, as I had to project the player's position in the 2D space onto a position in 3D space that matched where they were visually, and figure out which direction it should be oriented such that the camera's "down" direction matched the player's - whichever direction that is at the given time. As the player moves from face to face, they're warped around to the correct locations and their orientation is changed appropriately (warp zones are seen in blue below! Each has their own transformation matrix representing the effects on the player's orientation when it's passed)
It was a fun challenge for sure! Level design was mind-bending given that everything was laid out flat, but I think I managed to come up with some neat designs in the end :3
Here's a preview of what Level 6, "Circuit," looks like in editor with this technique.

(+1)

That's so cool! Thanks a lot for sharing the interesting technique <3