# Non-square Isometric tiled maps

I'm beginning to make a tile-based 4x game, but I ran into a conceptual issue: My inspiration for this game are the Civilization games, particularly Civ 2, and I noticed something I was interested in mimicking, but I was wondering how it was done.

This is that while the map is isometric, it is not square. I was wondering how it does this. My first thought would be to use an array, but then you have the corners being basically unused space.

To give an example of what I'm talking about:

One idea I have is that there are really two arrays, and whenever a diagonal is made (which would be up, down, left, and right to the player), it moves on one array, and any non-diagonal movement (which to the player is diagonal) moves to the other array.

This is illustrated by this picture (the mountains are one array and the hills are another array):

-
Interesting link; too bad it doesn't say anything about how to represent the data for such a map. – jhocking Jan 7 '13 at 18:40
Of course, the arrays have no defined visual layout. You could easily make "up" go up and to the left if you wanted to. So going "up" would be mountain->hill->mountain->hill. The two arrays is an interesting approach, but could get confusing. If you were able to abstract it away well enough, it would work as well as anything else. What's your actual question? – Byte56 Jan 7 '13 at 18:48
My question would be how to implement a staggered isometric map, and I was offering my idea for criticism/suggestions. – Garan Jan 7 '13 at 18:51
Even though it doesn't directly answer the question it's a good pointer in the right direction. If he wanted to say how it was done in greater detail he'd have likely made a full explanation and not a comment. If one searches for staggered isometric maps there's quite a bit of information. – Tony Jan 7 '13 at 18:52