This library contains an abstract datum for creating and managing mazes. The nodes of the maze can be any type of data other than the null value or lists. They don't even have to be the same type of data. Dead ends, origins, funnels, forks and tunnels can be identified. Prim's algorithm is included, but manual connections can be created for other maze types. Connections can be one-way or reciprocating. Path-finding is included.
If you know you're using BYOND's traditional coordinate system, Directional Grid might be more to your liking.