PDA

View Full Version : Diagonal upward flight

ffone
2011-01-12, 03:34 AM
Flying creatures with 'good' maneuverability can fly up at any angle, but fly up at half speed. What about diagonal upward movement? If I count each 5' of ascent of a creature's diagonal movement at x2, then I get a situation where it's slower to go diagonally than forward-then-up.

Ex:

If I fly diagonally up and forward two squares, how many 5' increments of movement is that? It'd be 15' with perfect maneuverability (just like diagonals on 2D horizontal walking movement), it'd presumably cost 30' if I moved up and then forward (since the up is at half speed and so costs 20'). So it probably costs 20' or 25', with the first diagonal counting 10' (instead of the 5' you usually get, since diagonal movement costs rounds down-up-down-up) and the second costing 15' (if you double the cost of the up piece) or 10'.

And what would a 'body diagonal' (changing your X Y and Z coordinates by one square at once) cost?

Curmudgeon
2011-01-12, 04:21 AM
Just move your figure across the 3-D grid and double count any part that's got vertical movement; that's the way the rules work. If "up and forward two squares" means up 10' (doubled is 20') then across 10' that's 30' total. If it means a steep 45 degree ascent then it's 5' for the first diagonal (doubled is 10') then 10' for the next diagonal (doubled is 20') for the same 30' total. Such a steep climb is going to cost you reduced movement. I don't see a situation "where it's slower to go diagonally than forward-then-up"; it's always going to cost the same movement, or less if you move an odd number of diagonals.

On a shallow ascent most of your flight will be horizontal, and have the normal (not double counted) movement cost.

With 3-D diagonals you'll have even less movement cost, because D&D only has diagonal and not-diagonal counting.

ffone
2011-01-12, 02:33 PM
Just move your figure across the 3-D grid and double count any part that's got vertical movement; that's the way the rules work. If "up and forward two squares" means up 10' (doubled is 20') then across 10' that's 30' total. If it means a steep 45 degree ascent then it's 5' for the first diagonal (doubled is 10') then 10' for the next diagonal (doubled is 20') for the same 30' total..

This (while I won't say it's not RAW) leads to the very bizarre result that for any distance you wish to go up at 45, it's the same to go forward X then up X as to go diagonally the whole way.

This seems odd b/c of 1. the usual Pythagorean reasons that apply in 2D 2. it's not how real world flying creatures move.

The thing is that, in normal movement, when you go diagonal and it costs you 10', you are paying 5' for each orthogonal direction (it would'n't have cost you 5' to just go one way or the other) - so by doubling this to 20' every time you move diagonally up, you are actually doubling some of the horizontal cost as well.

In fact in that case you would *save* movement by zigzagging instead of going diagonally! Rather than go diagonally up for a cost of 20', you could go forward for 5' and then up for 10'. (This still wouldn't get you 20' and 20' for less than 30' if you weren't allowed to do that first diagonal for 10').

What I was thinking of doing (which seems equally RAW since AFAICT how you do the 'up speed half' isn't spelled out) is:

1. calculate movement without the half upspeed. For example, if you have a fly speed of 60', you could go forward 40' and up 40' (w/o the half speed) as in a normal horizontal diagonal.

2. Now halve your vertical distance. (As if for every 10' up you went, you got moved down 5'). So instead of 40' forward and 40' up you can go 40' forward and 20' up. Or, instead of 25' forward and 50' up (normally costing 35' + 25'), you can go 25' forward and 25' up.

I believe this works out to saying that your first upward diagonal costs 10', your second costs 15', and then it alternates. Going forward 10' and up 20' normally costs 25', so here you can go forward and up 10' for a cost of 25'.

Curmudgeon
2011-01-12, 03:23 PM
In fact in that case you would *save* movement by zigzagging instead of going diagonally! Rather than go diagonally up for a cost of 20', you could go forward for 5' and then up for 10'.
I don't see how you get this. The first diagonal always costs normal movement, so it's 5' doubled to be 10' movement cost, not 20'. The diagonal choice is shorter for an odd number of diagonals.

nedz
2011-01-12, 03:29 PM
Assuming [3.5]
Mathematically
2D Diagonal = sqrt(5x5+5x5) = 7.07
(2 squares would be 14.14 hence the (1,2) square rule)

3D Diagonal (No gravity) = sqrt(5x5+5x5+5x5) = 8.66
3D Diagonal (Up) = sqrt(5x5+5x5+10x10) = 12.25
3D Diagonal (Down) = sqrt(5x5+5x5+2.5x2.5) = 7.5

The rules are silent on how you actually interpret this.
I'd suggest
3D Diagonal (No gravity) (2 Squares would be 17.32) Probably (1,2)
3D Diagonal (Up) (2 Squares would be 24.5) so (2,3)
3D Diagonal (Down) Pretty much the same as 2D (1,2)
But its up to the DM really.

ffone
2011-01-13, 04:55 AM
I don't see how you get this. The first diagonal always costs normal movement, so it's 5' doubled to be 10' movement cost, not 20'. The diagonal choice is shorter for an odd number of diagonals.

I was referring to the second diagonal (normally 10', so if you double it it's 20').

You'd said to double the cost of squares that involve going upward; so instead of the 5', 10', 5', 10',.... costs of horizontal diagonals, it'd become 10', 20', 10', 20',...

But since the character could always go 5' forward and 5' up for a cost of 5'+10', this means that the even-numbered diagonals (under the above proposal) would actually be slower than zigzagging.

So IMO you might as well charge 15' for the even-numbered diagonals instead. Which comports with my other interpretation of the half-speed up rule: if they want to move diagonally to a destination square which is forward X squares and up Y squares from the original, figure out the 'normal' cost of going forward X and up 2Y.

Curmudgeon
2011-01-13, 06:52 AM
But since the character could always go 5' forward and 5' up for a cost of 5'+10', this means that the even-numbered diagonals (under the above proposal) would actually be slower than zigzagging.
The diagonals cost less (odd numbers) and more (even numbers) but the same as non-diagonal (zig-zag) movement on average. So you could use an odd number of diagonals, or an odd number plus one zig-zag movement, and have a slightly shorter total distance than any other course.

ffone
2011-01-14, 08:39 PM
The diagonals cost less (odd numbers) and more (even numbers) but the same as non-diagonal (zig-zag) movement on average. So you could use an odd number of diagonals, or an odd number plus one zig-zag movement, and have a slightly shorter total distance than any other course.

Yeah, you can save one square. After that zigagging is the same movement cost as moving all the way forward, and then up.

And doesn't that just seem silly? It's a longer Euclidean distance than a diagonal, and no creature in nature flies like that (not only b/c of the Euclidean distance but b/c direct vertical ascent is very difficult).

And as for which way is RAW (which I have lots of respect for your insights on), do the rules really say how you implement 'half speed up' for diagonals? "Doubling the cost of every square where you go up" is one way, but "calculating the movement cost of going twice as far up and using that" also seems consistent. And it corresponds to a third interpretation:

When a normal diagonal costs 10', 5' of that is from moving one way and 5' from the other (since moving only one or the other would still be 5'). So double the 5' of the 'up' component.

Whereas when a diagonal is 20', you could've gone up 2 squares for 20'...so you have a situation where 'forward' is doubled like 'up.'

ericgrau
2011-01-14, 09:02 PM
Time to do some math including the x2:
Diagonal forward and up (1^2+2^2)^0.5: 2-2-2-3-2-2-2-3-2-2-2-3. Though if you fudge it as always 2 squares it wouldn't make a huge difference. Only 5' different on a fly spell. Horizontal diagonal rules round more than that.
Diagonal forward and down (1^2+0.5^2)^0.5: 1 square. Technically every 9th square counts as 2, but again oh well it's 5 feet.
Diagonal forward, up and to the side (1^2+1^2+2^2)^0.5: 2-3-2-3-2-3-2-3
Diagonal forward, down, and to the side (1^2+1^2+0.5^2)^0.5:1-2-1-2-1-2-1-2

And now for a handy summary table for you to copy paste:
EDIT, added perfect maneuverability, too lazy to show math again

3D Diagonal Movement
{table]Direction|Movement Cost
Forward + Down|1
Forward + Up|2
Horizontal Diagonal + Down|1-2-1-2...
Horizontal Diagonal + Up|2-3-2-3...
Forward + Up (Perfect)|1-2-1-2...
Horizontal Diagonal + Up (Perfect) |1-2-2-1-2-2...
[/table]

Curmudgeon
2011-01-14, 09:15 PM
Yeah, you can save one square. After that zigagging is the same movement cost as moving all the way forward, and then up.
This whole discussion is only relevant to good maneuverability. Perfect doesn't have the double upward movement cost, and average or poorer maneuverability doesn't allow straight up flight, so no zigzagging across and up. It does seem like you're trying to twist the rules to gain an advantage for a particular purpose, rather than just gain a better understanding of how the game works. That's consistent with most ways of gaining flight (races, grafts, class features, and feats) giving average maneuverability, which Improved Flight boosts to good.

When a normal diagonal costs 10', 5' of that is from moving one way and 5' from the other You're making a non-RAW assumption here, because the rules don't say that.
Measuring Distance

Diagonals: 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. It's just 2 squares cost, without any subcomponents ─ by RAW.

Kuma Kode
2011-01-14, 09:46 PM
Hexes? I hear they don't have diagonals......

The math in this thread scares me. :smalleek:

ericgrau
2011-01-14, 10:15 PM
The geometry on 3D hexes is even more scary.

ffone
2011-01-15, 04:57 AM
This whole discussion is only relevant to good maneuverability. Perfect doesn't have the double upward movement cost, and average or poorer maneuverability doesn't allow straight up flight, so no zigzagging across and up. It does seem like you're trying to twist the rules to gain an advantage for a particular purpose, rather than just gain a better understanding of how the game works.

I'm claiming "how the game works" is genuinely ambiguous in this case. All I see in SRD is a table with an entry with row "up speed", column "good", and cell "half', but not what that means. It might mean to double the cost of every square of movement which includes upward movement, or that the cost of movement which goes up should be that for 'normal' movement which would go twice as far up.

The case applies to all the ratings except perfect, since the others have up speed half and a max up angle of 45 or more (so they can go diagonally.) And in my experience the good rating is fairly common, b/c of the Fly spell.

One other thing I don't like about the 10'-20'-10'-20' suggestion is the case of a character who mixes upward (XZ or YZ) diagonals with horizontal (XY) diagonals. If you have one alternation of cheap/expensive/cheap/expensive, you could game it by going up on the cheap ones (if the direction you want to fly is encouraging both types of diagonals anyway). And keeping two separate counts is annoying (and doesn't seem very RAW supported).

ffone
2011-01-15, 05:01 AM
Hexes? I hear they don't have diagonals......

The math in this thread scares me. :smalleek:

Hexes don't tessellate in 3D. This is not a good thread to plug for hexes!

nedz
2011-01-15, 10:15 AM
Hexes? I hear they don't have diagonals......

The math in this thread scares me. :smalleek:
Hexes don't tessellate in 3D. This is not a good thread to plug for hexes!
Sure they do :smallsmile:
The way to visualise this is as follows:
Inscribe circles in your 2D hexes.
Visualise them as spheres.
Now lay another layer of spheres on top: you will find that they fit nicely in to the 'holes'.
Convert these spheres into hexes.
So you have alternating layers of hexes, with each layer offset horizontally by half a hex, in both x and y.
Your 3D hex battlemap is going to get very complicated, very fast though.:smallbiggrin:

ericgrau
2011-01-15, 01:00 PM
The next layer doesn't fit in the holes. Go ahead, draw it. Use grid paper, a circular object to draw around or any other way to be careful that all the circles are the same size.

nedz
2011-01-15, 03:10 PM
The next layer doesn't fit in the holes. Go ahead, draw it. Use grid paper, a circular object to draw around or any other way to be careful that all the circles are the same size.
Just go and buy yourself a box of marbles:smallsmile:

huttj509
2011-01-15, 04:33 PM
There's 2 ways to do hexagonal 3d:

Hexagonal cylinders: take a hex grid, and give each hexagon a height of 1 unit. Stack another layer on top, directly, repeat. This would be rather straightforward to use.

Dodecahedroids?: Each "hex" has 12 neighbors. the 2d 6, 3 in the layer above, and 3 in the layer below. To get an idea of this look at http://en.wikipedia.org/wiki/File:Close_packing_box.svg

Picture each layer of spheres as a filled layer of hexagons, then put faces of the shape between the neighbors above and below. I'm not sure what this shape would be called, but it would not be a regular geometric solid that I can think of.

Of course, you could also base it on the face centered cubic stacking method, this would be a similar shape, but 'twisted' on the bottom.

The reason for the different stacking is that when you put down the first layer, there's 6 dimples above your central marble, but you can only fit marbles in 3 of them. This leaves 2 directions to go for the third layer. Directly above the first (ABA stacking method, gives the hexagonal close packed shape on the left of the linked image), or above the set of unused dimples from when you put down the second layer, then 4th layer over 1st (ABC stacking method, gives the FCC shape).

However, due to the irregular 3d shapes you end up with, this becomes insanely difficult to visualize and use for movement, so ignore this post and go back to cubes.

ericgrau
2011-01-15, 04:35 PM
^ What he said.

Just go and buy yourself a box of marbles:smallsmile:

Also doesn't work IIRC, but it would be an easier way to illustrate why if you try it. I think you can only fit marbles in 3 of the holes like what hutt said and any more would hit those marbles. And if you don't add more you have half marble gaps.

This is also why I don't like hexes in 2D. It works fine for overcoming only one problem, diagonals, and adds a billion more extra confusing problems the moment you try to do anything else. Heck even drawing them is a pain.

ffone
2011-01-15, 05:06 PM
Sure they do :smallsmile:
The way to visualise this is as follows:
Inscribe circles in your 2D hexes.
Visualise them as spheres.
Now lay another layer of spheres on top: you will find that they fit nicely in to the 'holes'.
Convert these spheres into hexes.
So you have alternating layers of hexes, with each layer offset horizontally by half a hex, in both x and y.
Your 3D hex battlemap is going to get very complicated, very fast though.:smallbiggrin:

So, if someone insisted on 3D hexes, that'd be the way to do it. But as others said, they don't tessellate perfectly, leaving little gaps.

For most DnD purposes that may be okay (characters must be in one 'sphere'
and you just don't put any objects of significant size in the gaps). But it will still get very confusing. Cubes are nice b/c you can say the XYZ coordinates of something, and even w/o drawing maps from various angles, easily calculate 3D distances. With hexes it gets a bit more annoying.

Also you get more jagged surfaces. Cartesian coordinates are nice b/c most RL construction is roughly rectilinear. People love to joke about diagonal jagged walls in DnD, but you rarely actually need diagonal walls, and even when you do, just 'anti-alias' them and declare squares along the diagonal wall don't have cover from each other.

nedz
2011-01-15, 09:54 PM
The offset hex lattice does work, though there are two chiralities and visualising the 'diagonals' is not easy; in fact there are two modes for these.

The Ailsa Craig model of hex columns always felt like a cop out to me, sort of half hex, half rectilinear.

But no: you should stick to squares cubes, not that RAW supports these terribly well.