The three dimensional virtual rooms adds the depth factor to what was simply a flat world. Oceans with different descriptions at different depths can be made. Towers rising above cities are easily created. The daemon for the virtual rooms reads in the additional data and calculates the z-coordinate in for the different levels in your area created by the virtual rooms. This means two more exits to the four were added. Up and Down exits are now in the virtual server. The exits and terrain data files must contain enough data for the longest direction in the virtual area cubed. Terribly written since I'm practically brain dead right now and couldn't think of an easier way to say it. Let me give an example. If you wish to make a tower that is three rooms by four rooms on each floor and is five rooms high, you must write the data files with entries for 125 rooms even though you will only be using 60 of them. This is because the daemon expects the data file to hold the size cubed of data for the rooms. A better method would be to tell the daemon at the beginning of the file what the dimensions of the area are, but for now I've taken the lazy route. This doesn't mean you have to make a room for each space in the data. The exits will limit users from ever entering those rooms that you did not wish to have in the area. This creates an illusion of an area that is not cubical. This is all logic, but I'm having fun typing it anyway. :) The exits data file is simple to create. Let me detail a 3x3x3 area. Mobydick coded a way of setting up flags in the exits file so that the server would remove (actually add exits) the exits you didn't want. I simply added two flags for up and down to the end of what he made. The old version had north = 8, south = 4, east = 2, and west = 1. I added down = 32 and up = 16. Each entry has the flags added together of the directions you do not wish in the room as exits. Ie: if you did not wish south, up, and down you add south + up + down...which gives you 52. The server would add all the directions except those to the room that the data entry was created for. So, if I wanted to create a 3x3x3 cube with exits removed for only the directions leading out of the cube it would look like this in the data file. 41 40 42 33 32 34 37 36 38 9 8 10 1 0 2 5 4 6 25 24 26 17 16 18 21 20 22 The top three lines represent the lowest floor. The top left integer is coordinate 0,0,0 where each number is x y z respectively. The integer represents the directions removed for that room which are north, west, and down. The next three lines are the next floor, and so on. The terrain file is not as complicated. It holds the same amount of data, but the integers in the file simply represent the data number in the description file. Thus, if you wished room 0,0,0 to have description number 6 the data file's first entry would be 6. Everything else is the same as the other virtual room setup. Please mail me about anything concerning errors in these documents or the virtual rooms themselves. It's a small hobby, although I can't give much time to it and most of the things I've done are simply small mindless hacks done when I got a little inspiration. My terminology is shabby and I like to see results right away without thinking about easier or faster ways to code something. Hanse@Nightmare January 4th, 1993