This will show how to make some Areas appears randomly, depending of the game session. This take advantage of the possibility to randomize the presets maps.

So, let's start easily : how to make 1 room have *sometimes* a passage to elsewhere? We just need 2 variations of this room, 1 with only the entrance, and the other with the same entrance but with another warp. In levels.txt we connect all Vis properly, and even if the room that is spawned is the version that 'lacks' the additional Vis, this won't cause any problem, not even an assertion : an error appears only if a DS1 contain a Vis which is not defined in Levels.txt, but the reverse is allowed, you can use all 8 Vis of an area in Levels.txt, whatever the Vis that will be really present in the DS1.
Room version 1 :
Area 1
+-----||--------------+
| Entrance |
| (Vis 1) |
| |
| |
| |
| |
+---------------------+
Room version 2 :
Area 1
+-----||--------------+
| Entrance |
| (Vis 1) |
| |
| Optional |
| Passage --- Aera 2
| (Vis 2) ---
+---------------------+
In LvlPrest.txt, you set these columns like this :
* Files = 2
* File1 = your ds1 version 1
* File2 = your ds1 version 2
In Levels.txt you set these columns like this :
>>> Your room <<<
* Vis1 = Area 1 ID
* Vis2 = Area 2 ID
>>> Area 1 <<<
* Vis1 = your room ID
>>> Area 2 <<<
* Vis2 = your room ID
Note : tough it's not necessary to use the same Vis to link 2 areas together, I strongly recomand it ! It's to avoid problems if you connect 2 Areas together with at least 2 Vis (check the last example). That way you are sure that the Vis 1 of an area will not spawn you to the Vis 2 of the other area but to the Vis 1.
So, what the game will do ? Start a new game, and go to that room. If you're lucky, this will be the version which have the additional passage, else a dead-end room. If you're playing in Single Player, the room won't change once you find it (as all the entire areas). To have a new bunch of maps, and maybe a new variation of the room, you have to play in another difficulty, or use the tcp/ip modes and choose to host a game.
If you want to make this passage appear even less often, you can set LvlPrest.txt this way :
* Files = 6
* File1 = your ds1 version 1
* File2 = your ds1 version 1
* File3 = your ds1 version 1
* File4 = your ds1 version 1
* File5 = your ds1 version 1
* File6 = your ds1 version 2
This way the room with the passage will appear only 1/6 of the times.
Depending of your choice, the 'optional' area can be only 1 room with treasure, or with a npc that is not in town, or the start of a whole new dungeon, or a shortcut to another place, or a room that *sometimes* has a passage in it

... It's up to you.

Now, let's make a 3rd version of the room, that leads to another area :
Room version 3 :
Area 1
+-----||--------------+
| Entrance |
| (Vis 1) |
| |
| Optional |
| Passage --- Aera 3
| (Vis 3) ---
+---------------------+
The only thing that change is the Vis 3 we have used instead of the Vis 2. Now let's edit LvlPrest.txt :
* Files = 3
* File1 = your ds1 version 1
* File2 = your ds1 version 2
* File3 = your ds1 version 3
And now let's link this new aera into Levels.txt ;
>>> Your room <<<
* Vis1 = Area 1 ID
* Vis2 = Area 2 ID
* Vis3 = Area 3 ID
>>> Area 1 <<<
* Vis1 = your room ID
>>> Area 2 <<<
* Vis2 = your room ID
>>> Area 3 <<<
* Vis3 = your room ID
We simply used the Vis 3. So now, what will happen ?
* in one game the room will be a dead-end
* in another game there will be a passage to the Area 2
* in another game there will be a passage to the Area 3
So you have make 2 'optionals' Areas, which exclude themselves.

Now, let's make a 4th version of the room, that leads to both the 2 new other areas :
Room version 4 :
Area 1
+-----||--------------+
| Entrance (Vis 2) --- Aera 2
| (Vis 1) ---
| |
| |
| --- Aera 3
| (Vis 3) ---
+---------------------+
We have place both a Vis 2 and a Vis 3 in the room. Let's edit LvlPrest.txt :
* Files = 4
* File1 = your ds1 version 1
* File2 = your ds1 version 2
* File3 = your ds1 version 3
* File4 = your ds1 version 4
Since we already have the Vis 2 and Vis 3 set in Levels.txt, no editting is required in Levels.txt.
What will happen ?
* in one game the room will be a dead-end
* in another game there will be a passage to the Area 2
* in another game there will be a passage to the Area 3
* in another game there will be a passage to the Area 2 AND to the Area 3
So you have make 2 'optionals' Area, and if you're very lucky (1/4 of the times), you'll have access to both Areas.

The possibilties are huge, and I won't be able to cover them all, so I'll stop with this last example.
http://paul.siramy.free.fr/_divers2/vis_trick.gif (35.5 KB)
You can test this example, except that I didn't place a wall into the room to separate it into 2 halfs:
http://paul.siramy.free.fr/_divers2/test_tricky_vis.zip (35.4 KB)
(use the -direct -txt mode to play, and start in act 1).