So, I've been working on this idea for a game that is essentially a space battle, after playing around with various ideas of three-dimensional boards I've finally settled on using a 2d hex grid and having each ship stacked on blocks to designate altitude. The only problem I've found is the actual movement. Each ship will have a movement stat of a number from 1 to 6. To move from the center of one hex to the center of an adjacent hex is one movement point, however what about when moving up? In my mind, if a ship wants to change its altitude it shouldn't have to go to the center of a hex and then straight up - this is space! So, after filling many pages with math and really beating the Pythagorean theorem into my head, I've found that moving up and horizontally the total of one movement point will place your ship on the edge of a hex and approximately 7/8 of a movement unit above the board. I've also found that moving to some sides of other hexes in a purely horizontal direction will be a distance of one movement unit. I think I can designate which sides are available through color coding. Anyway, all of this is mostly just to set up my question. Would it be too difficult to say that the rules of movement are thus.

1) A ship can move directly up thus staying on the same horizontal coordinate and simply being one unit higher.

2) A ship can move from the center of a hex to the center of any adjacent hex.

3) A ship can move from the center of a hex to the edge of that same hex and one unit up or down.

4) A ship can move from the edge of one hex to the center of that same hex and one unit up or down.

5) A ship can move from the edge of a hex, staying at the same altitude, to same colored edges on hexes adjacent to the edge.

Or is this just too much? Is there anyway to really explain how this idea will work?