🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Implementing Vertical Movement System in 2D Isometric Game

Started by
11 comments, last by skinmarquee 10 months ago

Hello everyone!

I'm in the process of developing a 2D game with an isometric view, and I'm interested in creating a vertical movement system similar to the Z-axis in Minecraft. My goal is to allow players to ascend and descend to different heights within the game world, adding an extra dimension of exploration and strategy.

Example:

I've researched how I might achieve this in an isometric environment, but I'd love to gather some insights and advice from the developer community. Could anyone point me in the right direction on how to tackle this technical challenge? What considerations should I keep in mind when implementing a vertical movement system in a 2D isometric game?

I appreciate any help and guidance you can provide. I'm hoping to learn a lot from your experience!

Best regards,

None

Advertisement

Won't a unit on your “up” axis in the game world just translate to some amount of pixels, vertically? What are you looking for, specifically?

@SuperVGA What I'm looking for is to generate a procedural world in a 2D game but for example it has "layers" that is to say that it is not flat, and sorry for my English

None

Poflo said:
I'm interested in creating a vertical movement system similar to the Z-axis in Minecraft.

Z-axis in Minecraft is North/South

Poflo said:
My goal is to allow players to ascend and descend to different heights within the game world, adding an extra dimension of exploration and strategy.

Like this?

or

Anyway, games can be 3D and rendered in 2D isometric.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

fleabay said:
My goal is to allow players to ascend and descend to different heights within the game world, adding an extra dimension of exploration and strategy.

yes exactly this but in a 2d Game

it's posible??

None

I added some to my post…

games can be 3D and rendered in 2D isometric.

But as far as I know, Congo Bongo and QBert was fake 3D (2.5D?) but don't know really.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

fleabay said:
games can be 3D and rendered in 2D isometric.

yeah, but i think can't make the type of game i said in 2D im not sure :'(

None

Have you got some flat isometric rendering working, then adding vertical stuff (translating tiles) isn't so difficult.

Otherwise, if you have some 3d rendering in place, then using an orthographic projection is also useful, to turn it into an isometric view, like flea said, it doesn't have to be strictly 2d.

Poflo said:
yeah, but i think can't make the type of game i said in 2D im not sure :'(

Why not? Add a “height” to each tile that simply paints the surface some “X * height” pixels higher than the floor.

For the vertical gap, the simplest is to always draw some length vertical wall at the front with each tile below its surface (which is not visible if tiles next to each other all have the same height. Minimum vertical size should be X pixels, more if you increase the height difference between adjacent tiles.

An alternative for the vertical wall is to get the needed height in pixels by comparing height of both tiles before and after the vertical wall, and then paint enough wall to close the gap.

If you want roller-coaster tycoon or transport tycoon style, you typically have 15 tile graphics, for all combinations of edges “up” or “down”.

Well you could simple have a z value for the floor indicating depth. I've not done 3D in iso, just iso so maybe there's some problems with rending such a thing in 2D? That would be the biggest problem. Player can also have a z so just follow the ground.

But if you want to have like multiple floors with different depths… that would get more complicated. Might as well go full 3D. Unless you did it in square voxels or something, that would make it easier.

None

This topic is closed to new replies.

Advertisement