[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Multi-hex units



On 19.10.2004 19:11, Patrick Forhan wrote:
In the cool board game Heroscape, multi-hex units move in a way that the
trailing hex simply follows the leading hex.  FWIW, it also allows either hex
to be the leading or trailing at the start of movement.

Graphically it may be a bit tricky, since you would have things turning.  Doing
it smoothly would mean you'd need smooth rotations while things were shifting
hexes.
It's the graphics part specifically that makes me wonder whether it's
such a good idea after all. Getting unit rotations is probably the easiest
part as there are even a number of SDL add-on libs dedicated to stuff like
that. As I see it, a much bigger obstacle is getting the movement shown
correctly. If you have a unit spanning more than one hex it will
automatically seem to march across adjacent hexes when taking a corner.
That's not such a big deal when those hexes are unoccupied and valid for
the unit to move onto. However, when there is another unit or a ship starts
surfing across coastal tiles it will just look very wrong.

To illustrate what I'm talking about, suppose we had square tiles:

|--|--|--|
|  |X |2 |
|--|--|--|
|0 |0 |1 |
|--|--|--|

Here, the two 0's are our twin-hex unit, X is an enemy unit, and
2 is the hex we want to move to (so that the unit occupies 2 and 1
after the move). How do you make that move without going across the
X square? You can't, unless you have a unit that can bend in the
middle (might work e.g. for trains but that's not what I had in mind
when talking about multi-hex units) or you take the "jumping" approach
from Battle Isle (ie. units are only shown when anchored to a hex, not
in between. In the example, this means the "animation" consists of
two frames, the first showing the unit at (0/1), and the second
being the final position at (2/1)).

The effect is not quite as bad for hexes as it is for squares, but
it's definitely there. And both of the solutions above don't look
desirable to me.

Jens