In recent years board games based on area movement have been the vogue. Areas have certain advantages - they:
- can be irregular in size and shape (indeed, they are so almost by definition. Otherwise it's just a grid).
- minimise the number of discrete locations to keep track of.
- simplify movement, by making the size and shape of each area variable with the terrain (or other conditions) it contains.
The Grid Having decided to use a grid to regulate map movement, the question that next presents itself is: what should be the shape of the tessellation? Board wargames traditionally use hexagons (hexes), whereas most computer-based games use squares. Sometimes this is a simple grid, like a chessboard, but often it is disguised by being rotated and flattened. In theory, there are three regular figures that can tessellate, the third being an equilateral triangle. For our purposes that turns out to be equivalent to hexagons, so I will not discuss triangles further. |
Squares
Squares have something of an advantage on computers in that it is easy to calculate the grid references of neighbouring squares in any given direction. Also, the edge of a row or column of squares is a straight line. running either North-South or East-West (on a straight grid). Movement can be either only diagonal, only straight, or both. Only diagonal can't work in a non-abstract game, since a unit on any given square can only ever reach half the squares on the board. Consider the bishops in chess - one moves on white squares, one on black, but they can never change. Two practical choices remain, then. I have written earlier that regulating the map by means of a grid involves some distortion. The time has come to consider just how much distortion is introduced by our grid, so that we can keep it within acceptable bounds.
If a unit can move only along the axis of grid rows, each move to a neighbouring square covers one unit of distance in one unit of time. Very good, if the intended destination lies along one of the cardinal compass points. If it is in some other direction there will be a greater or lesser degree of distortion. Assuming that a unit takes one unit of time to move from one location to a neighbouring location, it should in that time cover one unit of ground (we are not yet considering the effects of different terrain). If it covers a greater or lesser distance in that time, movement is distorted along that direction. This distortion is something we want to minimise, so we must first measure how great it is.
The maximum distortion occurs when movement is not through a face of the square grid cell, but through a corner, like the red path at left (the green path goes straight through a face). If diagonal movement is permitted, a unit has a choice of eight locations to move to. If it chooses to move to one of the four diagonally adjacent squares, the distance covered one unit of time is the square root of two (1.414). A unit moving non-diagonally covers only one unit of distance in the same time. The one moving diagonally is therefore about 41% faster. Or to put it another way, the one moving EW or NS about 29% slower.
If diagonal movement is not permitted, the unit has only four neighbouring squares to move to. A unit wishing to follow the red path must fist go east, A-B, along the green path, then north, B-C. In the same time, one going due east also travels two squares A-B-D. But how much ground has each covered? The one moving east, A-B-D, has covered two units of distance. The one heading North-East has covered 1.414 units (root 2). Movement North-East, "through" (actually around) the corner is about 29% slower, or moving straight East through the face is about 41% faster. It turns out, then (not very surprisingly) that whether you allow diagonal movement or not, one set of directions has a speed advantage of 41% over the other set. The size of the distortion is not affected, just which directions are (dis)advantaged. Can we do better than this?
Hexagons
A hexagonal grid is simpler in that there is no choice to make about whether or not to permit diagonal movement. There are six possible directions of movement, all through a face of the hexagon. The question remains, though, of how much distortion there is in heading for a destination that is off one of the six facial axes. Again, the distortion is maximised by going straight through a vertex, so is similar to the second case above. This time, we will compare moving two places straight East (through the faces) with moving 30 degrees north of east. Each move passes through two hexes, so takes the same amount of time, but how much ground is covered by each?
If the distance between the centres of two neighbouring hexes is one unit, the distance from a centre to a face is .5. The distance from the centre to a vertex (which is the same as the distance between vertices - the length of a face) is one third of the square root of three (1.732/3 =0.577).
Our two units each move through two hexes, taking two units of time. The one moving directly east, along an axis of the grid, of course covers two units of distance. The one moving 30 degrees north covers the equivalent length of a line that passes from the centre to a vertex of the first hex, from one vertex to the next of the middle hex, and from that vertex to the centre of the third hex. Each of these distances is (square root of 3)/3, so the total distance is simply the square root of three (1.732).
We now have three scenarios in which to compare the advantage of the faster moving unit over the slower.
Faster | Slower | Advantage | Penalty | ||
Square (face movement only) | 2 | 1.414 | 41.4% | 29.3% | |
Square (face + diagonal) | 1.414 | 1 | 41.4% | 29.3% | > |
Hex | 2 | 1.732 | 15.5% | 13.4% |
The hex map has the clear advantage. It does introduce a distortion to movement, but the maximum distortion is 15.5%, as against over 40% for the square grid. That's acceptable. 15%, then, becomes my maximum tolerated deviation from spec. in other measurements. I trust I can do a good deal better than that.