Virtual Space modification

Posted by Alkarindil on Thu 27 Jan 2011 04:55 PM — 3 posts, 16,635 views.

Brazil #0
I was reading this:

http://www.realmsofdespair.com/smaug/herne/smaug/olc-ideas.html#VIRTSPACE

Did you know about anyone who actually tried to do this? Even in other MUD Systems? Do you think it is possible?
USA #1
It would probably be easier to have such a system from the start than to tack it onto some existing area system. I don't think doing something like that would be too complicated as long as the ability to move around was extremely intuitive. Trying to do three dimensions might be a bit much for ease of navigation, but two dimensions would make map generation for users much easier.

Granted existing rooms are virtual space themselves. The idea here seems to break a room down into smaller chunks that can be navigated without leaving said room, and perhaps to have the game handle it instead of the builder. If you reframe the idea, you get areas that subdivide into rooms. If you want a large room that breaks down you could just make an area for the room, build it how you wish, and then tie it into another area. This requires no additional code, just a slight change in thinking of what areas and rooms are. You could add some code to make areas like this a little easier to make. It could, for instance, generate a 10x10 square area, link it together automatically, and give each room the same provided room description. That would probably be the easiest approach.

If you opt for the more complicated approach of building virtual space into rooms then you must consider a whole slew of consequences. For example, in these expanded rooms you would not only need to know if someone was in the room, but also the piece of the room they are in. You would have to modify a lot of code that checks room scope, as that code would now have to check room and virtual space scope.

EDIT: The article also states a reason to do this might be to save vnums. That argument is outdated and irrelevant; with some slight code changes you can have 4 billion vnums, and I don't know of any game that is in danger of using more then that :P
Amended on Thu 27 Jan 2011 09:08 PM by Nick Cash
#2
Overall, I do not think that it would be that hard of a thing to implement. On the rooms that become "expanded" simply add some sort of room_extend flag, this would be checked by a small piece of code in the area file. Rooms would then be given extra flags (room_location). I guess the hard part would be configuring the code to perform checks for the player, who may or may not be aware of different room_location flags.