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, 18 September 2012 - 10:18 PM.