Difference between revisions of "Manual:Game Mechanics/Rooms"
(Created page with "This might belong better in a builder's tutorial Room Creation Document Name: room.doc Version: 1.1...") |
|||
Line 1: | Line 1: | ||
This might belong better in a builder's tutorial | This might belong better in a builder's tutorial | ||
− | + | == Room Creation == | |
Document Name: room.doc | Document Name: room.doc | ||
Line 10: | Line 10: | ||
Short Description: | Short Description: | ||
− | This document describes special interesting tricks and macros for | + | This document describes special interesting tricks and macros for use with rooms. |
− | use with rooms. | ||
− | |||
1. Secret Doors | 1. Secret Doors | ||
Line 18: | Line 16: | ||
exits open flags, for example: | exits open flags, for example: | ||
− | east to treasure_room keywords { | + | east to treasure_room keywords {"secret door", "door", "wall", "crack"} open {EX_OPEN_CLOSE, EX_HIDDEN} |
− | + | descr "You notice a small crack in the wall!" | |
− | crack in the wall! | ||
− | Notice that it is important to specify the possible | + | Notice that it is important to specify the possible "search |
− | + | keywords" as well as the "door keywords". If you for example omit | |
− | + | "wall" or "crack" then a command of "search wall" will always | |
fail! | fail! | ||
+ | |||
You must specify how difficult it is to find the door with the | You must specify how difficult it is to find the door with the | ||
search skill. The difficulty is specified in % and when it equals | search skill. The difficulty is specified in % and when it equals | ||
Line 39: | Line 37: | ||
find it. And as above it is a good idea to make direction | find it. And as above it is a good idea to make direction | ||
descriptions and also apply extra descriptions for keywords like | descriptions and also apply extra descriptions for keywords like | ||
− | + | "wall", "crack", etc. | |
2. Rooms in rooms | 2. Rooms in rooms | ||
− | A room can be placed inside another room with the | + | A room can be placed inside another room with the "in" keyword |
(see VMC.txt document). | (see VMC.txt document). | ||
Line 56: | Line 54: | ||
however be situations in which it is reasonable to give an amount | however be situations in which it is reasonable to give an amount | ||
of damage to characters. For this purpose we have made the | of damage to characters. For this purpose we have made the | ||
− | SFUN_DEATH_ROOM [ | + | SFUN_DEATH_ROOM ["<damage number>"] function. The function will |
damage players at every specified interval with the damage amount | damage players at every specified interval with the damage amount | ||
specified, for example: | specified, for example: | ||
− | special SFUN_DEATH_ROOM | + | special SFUN_DEATH_ROOM "100" time PULSE_SEC*10 [OBSOLETE] |
will give 10.0 damage points to players inside the room. If the | will give 10.0 damage points to players inside the room. If the | ||
Line 73: | Line 71: | ||
specified by the: | specified by the: | ||
− | flags {UNIT_FL_SACRED} | + | flags {UNIT_FL_SACRED} |
− | 6. | + | 6. "Buffer rooms" |
In the case that you have two dangerous monsters in two adjacent | In the case that you have two dangerous monsters in two adjacent | ||
rooms, it is often a good idea to insert a buffer room to avoid | rooms, it is often a good idea to insert a buffer room to avoid |
Revision as of 08:06, 27 May 2020
This might belong better in a builder's tutorial
Room Creation
Document Name: room.doc Version: 1.10 Author: Michael Seifert (seifert@diku.dk) Questions to: seifert@diku.dk Document intended for: World Creators
Short Description: This document describes special interesting tricks and macros for use with rooms.
1. Secret Doors To make a secret door, you must set the EX_HIDDEN flag on the exits open flags, for example:
east to treasure_room keywords {"secret door", "door", "wall", "crack"} open {EX_OPEN_CLOSE, EX_HIDDEN} descr "You notice a small crack in the wall!"
Notice that it is important to specify the possible "search keywords" as well as the "door keywords". If you for example omit "wall" or "crack" then a command of "search wall" will always fail!
You must specify how difficult it is to find the door with the search skill. The difficulty is specified in % and when it equals the players skill level, he has a 50% chance of spotting the door. Roughly the difficulty percentage should equal the intended player level. Combined with the above example, lets say you intend a level 35 to be the average searcher, you would type:
SECRET_DOOR_DIFFICULTY(EAST, 35)
I can recommend that you make room descriptions hinting to the presence of the door since it will otherwise be near impossible to find it. And as above it is a good idea to make direction descriptions and also apply extra descriptions for keywords like "wall", "crack", etc.
2. Rooms in rooms A room can be placed inside another room with the "in" keyword (see VMC.txt document).
3. Force move The special function SFUN_FORCE_MOVE can be used to make persons automatically move to another room at specified time intervals. It is perfect for situations like a teleporting closet (a room in a room with a force move), a river that makes you drift along with the stream (and perhaps down a waterfall), etc.
4. Death rooms We do discourage the use of rooms with certain-death. There may however be situations in which it is reasonable to give an amount of damage to characters. For this purpose we have made the SFUN_DEATH_ROOM ["<damage number>"] function. The function will damage players at every specified interval with the damage amount specified, for example:
special SFUN_DEATH_ROOM "100" time PULSE_SEC*10 [OBSOLETE]
will give 10.0 damage points to players inside the room. If the character has no means of escaping he is almost certainly doomed (unless he possesses means of teleporting). Make damage rooms reasonable, escapable and avoidable. Nothing discourages exploration of a zone more than a certain death damage room.
5. Sacred rooms Remember that it can often be a good idea to insert a sacred room in your zone, especially in beginner areas. A sacred room is specified by the:
flags {UNIT_FL_SACRED}
6. "Buffer rooms" In the case that you have two dangerous monsters in two adjacent rooms, it is often a good idea to insert a buffer room to avoid players fleeing from one monster into the certain death of the other monster. This of course depends completely on the situation. A good example of such a design is the tiamat zone where when players fight one dragon the have 50% risk of fleeing into the arms of another dragon.