Oh wow, now that's beautiful. Looks like I'll have to spend some time learning Lua to get this working! Or will this integrate with my current python plugin that does all the text extraction, for name desc, etc.. (and rips out variable parts of room descriptions, like light levels)?
I read that it had some issues dealing with non-unique areas. Which is essentially my problem. Neverfear though, for I have a foolproof solution, but haven't both the time and coding skills to manage it! (I do make one assumption in this an exit from one room will always take you to the same place)
Ultimately this can be resolved entirely by checking path equivalence. i.e. Here is the setup, your character is running around the mud and you come across a room, we'll call it room A. It looks familiar to another room (B), because it has the same name, description, exits, etc... So, how can we check that room A and room B are the same? Simple. To know of room B's existence in the first place, the mapper has to have seen it. Presumably there are SOME unique rooms SOMEWHERE. So, all the mapper must do now is from room A take the path to a unique room as if it were leaving from room B. Now, all the rooms it generates along the way will either be flagged as possible matches and checked at the same time, or at some point prove that the original suspected match and every subsequent suspected match was in fact unique to the best of the mapper's knowledge.
In short, this would amount to adding a uniqueness tag as a option. And manually specifying unique rooms. OR, what I've done--assume every room is unique unless it has certain characteristics. i.e. in my case the non-unique area is a cave system, so the names are "A * cave" "A * tunnel" and so on. So, unless it has something to that effect in the name, it automatically gets tagged as unique.
In any case, I absolutely love what you've done with it, and I hope to learn Lua as I get the time; if only to implement this! Are there any good sources for newcomers to the language but not to programming? |