Subject: | Support for u/d/l/r |
As it is now, the current form supports NEWS directions. However, not
all games work in a typical top-down view. For example, with Terraria,
the view is a 2D side-scroller with up, down, left, and right.
Currently, I am just using the n/s directions for up/down, but that
implies that the cardinal directions have no differences between each
other. Left/right could safely be mapped to w/e, but u/d is a lot
different. U/d means fall damage, gravity effects, etc. A maze with a
long corridor going l/r is one thing, while one going u/d is actually a pit.
The user should be able to override the default directions with whatever
combination of "n/e/w/s/l/r/u/d" is appropriate for the map needing
developing. I could see the following combinations:
NEWS - Default and currently implemented
LRUD - LR mapped to WE, and UD as a new set of directions
NEWSUD - A new 3D-compatible mode. The maps could create both NEWS
corridor and pits, as well as rooms with depth. This may be as simple
as just adding a third dimension to the map and letting it loose, but I
would recommend adding this last. (Minecraft could benefit from this,
as well as any FPS.)
With LR being mapped to WE, it should be treated as such except for the
different letters. (In fact, after it's mapped, the Generator tools and
such can completely ignore LR.) UD should NOT be mapped to NS, but
instead have the following characteristics:
* The sparseness, same_way_percent, same_node_percent, and
remove_deadend_percent options should have their own ud_* versions with
the defaults turned down low (IOW, to create less long pits). That way,
the user can control whether s/he wants mazes that generally kill people
or mazes without any pits.
* There would need to be an option with the doors to control whether
trapdoors or platforms are possible, and whether they have an open/close
state. If not, it needs to not add UD doors.
* Objects may or may not be affected by gravity. If they are, it should
be considered an illegal point (or maybe just a "corrected" one) to
place an object in the middle of a pit. I think most of the other MQ
functions are compatible, as long as they can recognize the UD $dir.
Again, once the LRUD mode is complete, adding the NEWSUD one would
likely be as simple as adding an optional third dimension everywhere.
The Generators should be able to automatically create 3D Perfect mazes.
The PNG exporter would require a "perspective" option, but if it was
able to draw LRUD maps, that would be a simple matter of either drawing
something in NEWS mode or LRUD mode.
Stairs could also be another options for NEWSUD maps, in which no pits
are created (or maybe they still can be), and would work for "roguelike"
games.