03 August 2011

Diagonal movement on a square grid

In games, how do you handle diagonal movement on a square grid?

One of the easiest methods is to simply not allow diagonal movement. In the image below, the circle in the lower left indicates a figure to be moved. Red shows which squares it could move to with one move. Orange, two; yellow, three; green, four; blue, five; & violet, six.

(I only drew the northeast quadrant, but the other four quadrants would look the same.)

Another easy option is to simply allow a diagonal movement to cost the same as orthogonal movement. Which looks like this:

Neither of those are very satisfactory, though.

The d20 system (WotC 3e D&D) has the cost of diagonal movement alternate between 1 and 2. Thus it averages out to 1.5, which is close enough to the real distance of a diagonal move. (The square root of 2.) It ends up looking like this:

This year at the North Texas RPG Con, I picked up another way to handle it from Jeff Dee. Diagonals cost the same as orthogonals but cannot be consecutive. You have to have at least one orthogonal move between two diagonal moves. At first, I thought this was equivalent to the d20 system rule, but it is a bit less accurate. As shown here:

I also recently picked up a rule for estimating the distance to a flying target, though I forget where I found it. Considering the horizontal and vertical distances, add half the shorter to the longer. e.g. A flying monkey is 40' away and 20' up. So, use (20 / 2) + 40 = 50' as the range.


Aaron E. Steele said...

I treat every diagonal as a move of 1.5. If you have a .5 left over, you can move vertical or horizontal with the last .5 move, but not diagonal.

KenHR said...

When I use grids, diagonals are 1.5. Keeps everything simple, and it's close enough to the "real" cost for rock'n'roll.