I'm working on a new codebase for a mud, actually it's still in the design phases, but i've run into my *first* implementation problem.
I plan to have a wilderness in this mud, sort of like in medieiva
, (or, as it has been accused of stealing the diku
code without permission, medtheivia
.) the wilderness, or, as I am calling it, the Geography system, has one major problem due to the design requirements I am putting on it. I want the wilderness to be easily edited, that is, if you change one room on an ansi
map, it should look the same from any point on that ansi map, which means we can't just simulate having a wilderness by making a bunch of rooms
with ansi maps in them. Furthermore, I want the wilderness to be expandable in any direction, I don't want to have to declare how large it is going to be, since I want to expand it in any direction and I don't want it to be required to be a specific shape, such as medievia, in which is a 2500x2500 square grid of 20x20 rooms. ex, it may start as a 4x4 wilderness of lets say 20x20 rooms like thus, where X will represent a 20x20 grouping of rooms:
Now, lets say that my playerbase has increased and I am going to add a whole bunch more zones, but for a little while, I want to only add one 20x20 patch, like this:
The borders of this map will just be inaccessible blackspace. I can't represent it in a grid and just make parts of the grid inaccessible blackspace because then i'll have Northern and Western Creation limits. Of course, if there is a way around that....
This is a problem to address early, however, since I am not yet sure what kind of programming language I plan to code it in. Current possible solutions include just rebanging the Geography every time I want to make it bigger, but this makes the world inconstant.