Jump to content
  • Advertisement
Sign in to follow this  

Unity Best way to handle a hex grid world with multiple levels

This topic is 2279 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So here's what I'm trying to do. I'm building a turn base strategy game in Unity3D, and I recently got a flat 2D hex grid working. Now I want to expand the functionality of the world by adding multiple floors or levels on top of the lowest ground level. As for now, the other floors will just be to represent objects like bridges over hilly terrain. Nothing horrendously complicated. The way I was starting to implement this is just by adding some more values such as a boolean hasMultipleLevels and a list of tiles onto the particular x,y position on the grid. Another way I was thinking of was by just making a 3D array and having a null value for the spaces that won't have a hex tile. Which would be easier to work with in terms of ease of use and tools for easier grid building in the long run? Is there another way of doing this?

Edit: One reason why I'm leaning toward the first method is that the bottom floor is going to act like terrain with varying height. If I just do a 3D array, won't it be difficult to establish where the top layer of the floor will be?

Edit2: I also want the game to feel like a board game. So I'm not doing a logical board that is overlayed onto custom art (like final fantasy tactics). Each hex tile will have it's own art to represent different objects (think heroscape.) Edited by TheAsterite

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!