Anyway, point is, Flight in D&D sucks. It's absolutely must-have after a certain point, it completely changes the game once it's available, and it's simply a bitch to deal with. You have to maintain a record of things' altitude, you have to figure out the lengths along diagonals, it's just miserable.
This... ditches all that. Not without cost, mind you! Flight is far, far less "realistic" (or "simulationist") under these rules. There will absolutely be situations where you'll be like "but wait, I'm flying, why can't I just..." and the answer will be "because the rules are an abstraction and we don't want to go into that much detail, because we've been there and it's bad."
Ultimately, it will require a bit of looking-the-other-way-ness. Some players and DMs will probably hate it. But I think it really simplifies things and makes them much more elegant and balanced. If you can look the other way a little bit, you may find that this change really simplifies and improves your game.
A creature is either flying or it is not; the rules do not consider its altitude.
A "flying" creature is one that is out of reach from the ground. A creature that is flying is assumed to be flying high enough to be out of the reach of any ground-based opponents. If an enclosed area has a ceiling not high enough to allow this, it is impossible to be considered flying. Creatures that are not flying may not make melee attacks against flying creatures; creatures that are flying may not make melee attacks against grounded creatures. The flying status of either attacker or defender does not make any difference for ranged attacks.
Each square effectively is two squares: the ground square and the air square. Two creatures, one grounded and one flying, may share a square without penalty. Because they cannot reach each other with melee attacks, neither threatens the other. They do threaten all other squares within their reach that match their flying status: a flying creature with 5' reach threatens any other flying creatures in adjacent squares, while a grounded creature would threaten those around it that are not flying.
All rules regarding hovering, turns, minimum distances moved, and the like, remain in effect for each maneuverability. The sole exception is the rules for moving up and down, which are described below:
A flying creature may, during any movement, switch from flying to not-flying and vice versa. When the creature does so, they reduce their total movement during the action by the listed amount.
|Maneuverability||Penalty, Up||Penalty, Down|
For example, a creature with 20' Flight speed (Poor) could spend a Move action to become Flying (and have no left over movement with which to change squares); after doing so, if it had Skirmish damage (extra damage for moving), it would count as having moved 20', triggering the damage and preventing, for example, a 5' step.
A creature that has Perfect or Good maneuverability may stop flying as a Free Action, as it requires no movement. This must occur on their turn, however. It does not count as a 5' step, and provokes Attacks of Opportunity as normal, unless they combine it with an actual 5' step (i.e. moving down and up to one square over). They are not required to change squares if they spend a 5' step moving from Flying to not.
A flying creature may also ignore ground-based Difficult Terrain and other hazards, provided there is room to fly over them (i.e. flying creatures may ignore walls in an open area, but not floor-to-ceiling walls in a dungeon).
A creature that can fly but is not currently flying (as in, not flying high enough to avoid melee attacks), may still "fly" at low altitudes (provided it maintains minimum velocity, does not turn too sharply, etc., as normal for its maneuverability). If it does so, it may ignore Difficult Terrain and other hazards on the surface of the ground, and use its Flight Speed to determine how far it can move in a round, but is otherwise treated as grounded. Switching between flying at a low altitude and simply walking is a Free Action, which may also be made out of turn if the creature is otherwise entitled to any form of controlled movement.
Reduced Abstraction — Variants
A couple of fairly major limitations of the above system can be solved without throwing out the entire concept of abstracted flight. These increase flight's complexity versus the above, but it is still less complex than normal flight.
Creatures with Different Reach
A creature who is Flying and has greater Reach than an opponent should, logically, be able to fly such that it can attack a grounded foe with melee weapons without that foe being able to counter attack.
To allow this to happen, allow a Flying creature to do exactly that: a Flying creature may position itself such that it can attack grounded enemies, and enemies with less reach than the Flying creature cannot attack with melee in return. This is similar to the "low altitude flight" above, but a bit higher in altitude than normal. Other Flying creatures may attack this creature in melee without exposing themselves to the ground. By the same token, if the other creatures have longer reach than the original, they too may avoid returns.
A creature being attacked from above by something with a reach advantage has a few options. If they are capable of flying, they can close the distance between themselves and the target. The movement penalty for doing so is equal to the difference between the two creature's respective reaches.
If the victim is grounded, it must instead rely on the Jump skill to close the gap and use melee weapons. The creature must make a Jump (which usually involves a Move Action) with a DC sufficient to attain a vertical height equal to the difference in the two creatures' reach. If its Jump check beats the DC for a height 5 ft. more than this difference, and the jumper is jumping straight up (i.e. no more than 5 ft. horizontal distance moved), this movement counts as a 5 ft. step instead of a normal movement, and thus the jumper may make a full-attack against the Flying target before dropping back to the earth. Either way, this jump does not provoke attacks of opportunity unless the horizontal distance moved would.
Creatures of Very Different Size
When there is a creature or creatures that are very much larger than others on the field, the DM may decide to include more than one "air" square. These are effectively the same as the normal abstract flight, simply with more layers: instead of just "Grounded" and "Flying", you might have "Grounded", "Low Altitude", and "High Altitude". Additional layers may be added at the DM's discretion. Moving between these layers is the same as moving from "Grounded" to "Flying" under the usual scheme; simply take the movement speed penalty for every layer a creature moves between.
The very large creatures then take up more than one layer. There should always be a layer above the largest creature, so that flyers can stay out of its reach. The large creature can attack in melee with any target in the same layer as it. Other creatures can only melee attack creatures from their own layer, as normal. This means that a flyer could be flying high enough to avoid melee attacks from the ground, while still entering into melee combat with the very large creature.