Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue May 25, 2004 1:42 am 
 Post subject: Making optional maps
 
Offline
Moderator
Moderator
Principality
User avatar

Age: 35
Joined: Sat May 25, 2002 2:39 pm
Posts: 2738
Location: La Garenne Colombes (near Paris)
Gender: Male
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.

:arrow: 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 :twisted: ... It's up to you.


:arrow: 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.



:arrow: 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.



:arrow: 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).

_________________
DT1 Tools - DS1 Editor - MPQ list file - Extracting D2 Animation tutorial
"Sorry I can't give you offsets or anything, my dlls are always very mutant compared to what's in the release" - Isolde, aka Peter Hu, 30 Jun 2002


Last edited by Paul Siramy on Tue May 25, 2004 1:49 am, edited 2 times in total.

Top
 Profile E-mail  
 
PostPosted: Thu May 27, 2004 12:29 am 
 Post subject: Re: Making optional maps
 
Offline
Angel
User avatar

Joined: Wed Jan 28, 2004 2:47 am
Posts: 630
Location: In the darkest corners of your mind
Gender: None specified
Hi Paul

I had a similar idea to this but it was for dungeon/caves to have multiple rotating exits but only one true exit/entrance to the next level.
To be a bit clearer ...... the exits would change order obviously with each new game.
Anyhoo, I never got round to making it............yet!!!!

_________________
Custom health-mana bubbles. Custom loading video's. Custom Hireling graphics.
'Do what thou wilt shall be the whole of the Law'


Top
 Profile  
 
PostPosted: Thu May 27, 2004 7:43 pm 
 Post subject: Re: Making optional maps
 
Offline
Moderator
Moderator
Principality
User avatar

Age: 35
Joined: Sat May 25, 2002 2:39 pm
Posts: 2738
Location: La Garenne Colombes (near Paris)
Gender: Male
You take 1 ds1, and just swap Vis tiles in other ds1 variants, it's enough to work... try to use all kind of warps for all stairs tough (my suggestions : use only trap door warps in this room).

The problem is as always : you can't reroll the maps, so in single player mode the Warps don't change, until he play into another difficulty, or in tcp/ip game... or he delete his *.ma* files (savegame).

_________________
DT1 Tools - DS1 Editor - MPQ list file - Extracting D2 Animation tutorial
"Sorry I can't give you offsets or anything, my dlls are always very mutant compared to what's in the release" - Isolde, aka Peter Hu, 30 Jun 2002


Last edited by Paul Siramy on Thu May 27, 2004 7:48 pm, edited 1 time in total.

Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Black Rock template by onyx (based on BlackSoul for phpBB2)
 

Powered by MKPortal ©2003-2008 mkportal.it