This is only a little idea for an addon.
In many muds you can get in trouble by wildernes or very big maps.
The maps in muds are mostly based on asccii and reading them or interpretating them can be very tricky.
So, maybe some kind of map-recorder could be very very helpful.
For example you start the maprecorder and the programm start to recognice by collecting every place you visited by coordinates. You start at x0y0 and every room you travel after that x0y0 will be recorded in some kind of map-log you can access later or even use for a speedwalk.
Hope you understood my sometimes weird explanations.
#1 Updated by Vincent Le Goff almost 2 years ago
This is what an auto-mapper would do for sighted users. Basically they turn it on and start walking and the mapper draws the map in a graphical user interface. An auto-mapper is quite hard to set, however, and a tiny mistake can lead to huge problems in the map. Furthermore, not all auto-mappers are able to identify directions (say, if you have a "door" exit, which way does it lead? the auto-mapper can't usually guess). I'm not dismissing the idea, and I will maintain this feature open, but it requires additional thinking and planning.
On a side-note, you mentioned that some MUDs offered ASCII maps that were hard to read for us. This might actually be another issue and that would indeed deserve some thinking, as this problem commonly arises. I, for my part, am using a Braille display, so I can read ASCII maps without too much trouble.
#2 Updated by Francisco Del Roio almost 2 years ago
We can use a model similar to tintin++ for the mapper and let the world scripts do the correct mapping thing.
I say the tintin++ model because it is a very flexible mapper with custom directions and so on.
For locating places we can use a pathfinder module.
#3 Updated by Vincent Le Goff 9 months ago
- Status changed from Open to In Progress
- Assignee set to Vincent Le Goff
It has been some time, and I have begun playing on a MUD where the map indeed matters a lot. Talking with someone who created a solution for blind users to understand ASCII maps, I've turned the idea over in my head. The thing that he coded was specifically coded for one game, though the idea could be used in other games. That said, I'm still not sure how portable this solution is.
One possibility would be a rote ASCII reading. Here is an example from the Two Towers:
> map +-------------------------+ |.~.........+..........^^^| |.~.....*...+............^| |.~.........+...%%%%'.....| |..~........+...%*%'''....| |..~.........+.^*%%''''...| |..~.....*...+.^*..'''....| |~~~...+++++++***..''''...| |.+=+++......!+.+++.'''...| |+*~*%%%..^^^..+.*.+++++++| |..*~%%%%%%^^^.+..........| |....~%%%%~*^^.+..........| |....~%%%~%%^^^.+.........| |.....~%~%%%%^^^+^........| |......~%%%%%%^^+^^^^.....| +-------------------------+
I can read it with a Braille display. Without one it would be tricky. So a solution would be to manually handle it: you select the map and press a key combination. CocoMUD places you in the center of the map, says (on the exclamation point in this example) and then you can use the arrow keys to scroll character by character on the map. Admittedly, this wouldn't be much of an improvement, but I guess it would be much easier.
The more complicated solution is to "convert" this ASCII output into a valid textual representation. Like:
One road starts north of you and leads to the west southwest. Another road goes from northeast to south. There are plains south and southwest from you and a forest beyond it.
As said before, someone has done it and though his system is not perfect, it works and works well. The problem here is that map output will vary depending on the game. Some ASCII maps aren't "one room is one character". So what should be done? Perhaps have a SharpScript function that's used to match a character with a feature. In the output above, for instance, you would configure the mapper to associate
! with your position,
. with a plain,
% with a forest,
* with an interest point and so on. This way the mapper would be able to read the map accurately. I would like to do it through a SharpScript function because it would need to be different depending on the game. Options are still open to debate.
Please register to edit this issue