Ok, having looked over the helpfile now and a few MUSHclient resources, I can say it's definitely possible to put together a basic Geas MUSHclient package for people to use and build their own maps from.
There are a couple of atcp/gmcp handler and mapper plugins already around that look like they'd be pretty straightforward to adapt to Geas.
A question about the exits info though, and the overall type of mapper it would allow... The current atcp2 "exits" package supplies types:
exit-types:
undefined -1
room-type 1-13
road 100
door 101 (closed -101)
hall 102
yard 103
path 104
And "hash" supplies the unique room identifier (if it's appropriate for the room to have one).
That'd give you a basic map builder where it would recognise movement in a single direction between two unique rooms. It'd be able to draw a one-way link between two hashes but we'd have to set up MUSHclient to correctly detect two pieces of info reliably:
1. a recognised 'direction/movement' command entered by the user, followed by
2. a new "hash" supplied by the MUD indicating a successful move to a new room.
The drawback with this appraoch is that you can sometimes confuse the mapper by moving without entering a common direction command (such as fleeing, sneaking, irregular exits etc) or moving too quickly. It also means that to map a road going north-south, for example, you'd have to walk in and out of each exit to each room to make it two-way. Things can get pretty messy, and it's a lot more work to keep things neat and tidy (and be able to share the functionality with new players for instance).
This could be overcome by extending the gmcp package to providing the "hashes" of rooms where we have recognised exits.
Something like this:
room.info { "num": 5922, "name": "At the entrance of the park", "zone": "zoo", "terrain": "city", "details": "",
"exits": { "e": 5920, "s": 5916, "w": 12611 }, "coord": { "id": 0, "x": 37, "y": 19, "cont": 0 } }
In the example above (from Aardwolf GMCP package), the first number "5922" is the current room, and we also know the room east of us is "5920". When we move east, it'd tell us that west of us is now "5922", giving us a reliable set of info to map from and saving us having to backtrack every step.
Of course, sometimes it's not appropriate for us to know the destination of an exit. So the package would need to also indicate where rooms are intentional unknowns or unmappables:
room.info { "num": -1, "name": "Emerald Clan Room", "zone": "emerald", "terrain": "",
"details": "", "exits": {}, "coord": { "id": -1, "x": -1, "y": -1 } }
I guess where I'm going with this is that the two different packages (one with exit hashes, one without) require different types of mapper scripts. I know which one I prefer (the reliable "exit hashses" version). If something like that is on the cards for the future, or if admins are open to the idea of extending that in GMCP, I'd be keen to know before trying to develop a mapper for Geas in MUSH.
I'm pretty interested in doing something with this though so will try to catch Turian online.
Israfel