In board games, grids are used to simplify distance measurements and movements. In a two-dimensional plane there can be only three type of regular tassellation: triangular, square and hexagonal tiling. Triangular grids are rarely used in board games, due to their limited possibilities (each cell is connected only to other three adjacent cells), leaving only square and hex grid as viable solutions.
There are endless discussions on the internet about the superiority of one solution over the other. In this two-part article I will try to shed light on the pros and cons of each (hoping that this will help me in choosing which one to use for my wargame!). In the first part I will discuss the mathematical aspects, while the second part will deal with more practical issues.
Distance measurement is an activity that is performed frequently during a game, for example in range attacks or determining area effects. The measure of a distance on a grid involves a loss of accuracy due to quantization error, introduced by the subdivision of the board into a finite number of cells. to determine which solution is the best, it is worth calculating for each grid type the mean percentage error, i.e. the average percentage error between real and “counted” distance (counted distance is the minimum number of steps that connect two cells on the grid). I will calculate this error considering a circle of radius 5 and, for square grids, trying different metrics.
Within a radius of 5 there are 91 hex cells and the average error is 8.48%.
Below are the formulas to calculate the real and the “counted” distance of two hex cells. These formula can be used to find the maximum percentage error, which is 15.47% regardless of the distance (it occurs when a=b).
In contrast, no error is achieved when a or b are equal to zero, i.e. when we are measuring distance along one of the six main axis.
Square grid (horizontal and vertical axes)
Within a radius of 5 there are 61 cells and the average error is 21.6%. Maximum percentage error is 41.42% when a=b, i.e. for measurements along diagonals. There is no error when measurements are taken along the main axes (a or b = 0).
Square grid (horizontal, vertical and diagonal axes)
Maximum percentage error is 29.29% when a=0, i.e. for measurements along diagonals. There is no error when measurements are taken along the main axes (b = 0).
Square grid (alternating diagonal weights)
When measuring distance, the first diagonal counts as 1 square, the second counts as 2 squares, the third counts as 1, the fourth as 2, and so on. Within a radius of 5 there are 89 cells and the average error is 5.81%.
Maximum error is 29.29% for range 1 diagonals. The error along the diagonals decrease very fast with the range.
Some powers, like dragon fire breath, have cone-shaped effects. Hexagonal grids are better for 60° and 120° cones, while square grids are better for 90° cones.
Best accuracy in measurements is obtained with a square grid using the alternating diagonal weights method. However, since the hexagonal grid provides an error only slightly higher but with a much simpler distance measurement, none of the two grid system can be considered a clear winner.
Hexagonal grids have better accuracy on small ranges, while square grids have better accuracy on long ranges. The reason is that the distance between the center of each hex and the center of all six adjacent hexes is constant. By comparison, in a square grid, the distance from the center of each square to the center of the four diagonal adjacent squares it shares a corner with is greater than the distance to the center of the four adjacent squares it shares an edge with. This difference, using the alternating diagonal weights method, has effects that tend to cancel as the range increases, while in hex grids the maximum error remains constant.
One advantage of hexes is that neighboring cells always share edges. The disadvantage is that hexes have adjacent cells in only six directions instead of eight, as in a square grid.
In the next article i will deal with more practical issue of using square and hex grids.