Ambrosia Garden Archive
    • looking for a smart way to do "doors & hidden rooms"


      Hi,

      I've been looking into Coldstone and I'm really impressed so far! I've a question though (I haven't found the answer in the FAQ or on the board):

      Being a former AD&D; Dungeon Master, I'm trying to create a dungeon.

      I'd like to create doors that could either be opened or (some of them) trashed. I further would like the contents of the room or corridor behind the door to be hidden from the player. What is the correct way to accomplish such a behaviour?

      For now, I created an NPC (!) as the door, because that way, the monsters on the other side of the door can't get out and attack the player too soon and spoil the fun (as the NPC is blocking their way too). 🙂

      Is there a smarter and more flexible way? And what about the hidden room (or a part of a corridor or the like? Should they be created using layers/stamps? And if so, how on Earth do I do that? I've tried it for a few hours without success. 😞

      Besides, I found a great FREE piece of software for creating 3D stuff: It's called 3DCanvas, and available from download.com.com. (PC only - sorry.) Simple yet powerful, IMHO. I noticed there were several discussions regarding this subject on the board.

      Thanks for your suggestions!

      /Petter, Sweden

    • Welcome to the boards, Petter! If you want the Player to go through the door, you can create an animation. Sometimes I use the item feature where the animation is offset. Initially, the tiles through the door is blocked through the access feature in the map window so the Player can't go through. The Player steps on a tile (a local event in the map) and the animation runs once (the doors open). As part of the event, clear the tiles (change the access to clear). And because it's offset, the Player can pass through. I do this with a gate. The gate is closed and the access to the tiles to let the Player through the gate is denied. The Player steps on an event tile, the gate opens, the tiles are cleared, and the Player can step through.

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

    • Thanks Debra!

      I'll try this, but my other question remains (and it's also more of a discussion of procedures topic, I guess...):

      What is the best way of not displaying the inside of a room (i.e. it's covered with a black layer or so) that the player hasn't visited yet?

      Thanks again

      /Petter

    • Quote

      Originally posted by Petter:
      Thanks Debra!
      I'll try this, but my other question remains (and it's also more of a discussion of procedures topic, I guess...):
      What is the best way of not displaying the inside of a room (i.e. it's covered with a black layer or so) that the player hasn't visited yet?
      Thanks again
      /Petter

      Hello Petter, and welcome. Yes - it is a matter of preference. Mine is harder, but the result is far better than just a tile shows the room (and opens the door and access way - though you could do this and make it turn out right).
      You must have a global for each section of every room. As you open the door, set global_door_room01 = 1. This means the area next to the door can be seen. But the rest of the room is still dark (yes black cover is the best- you only have to remove the cover, not place the entire room) As you move to each area within the room, add 1 to the appropiate global. (Use events on the floor to open each section of the room) Monsters are best placed with the removal of the cover. That way you don't have to fight a room full of monsters that can see you before you actually get in the room. Oh, you can have a closed door =0, open door=1 destroyed door=>2. Did I answer everything? I hope so. 🙂
      This method is much harder than other methods, but the effect is GREAT!

      ------------------
      -Albadar-
      - - - - - - - - - -
      Just trying...

    • Three ways to do that:

      (1) Make sure that the roof of the room is placed by a stamp control, and then via an event, when the Player enters, the roof comes off. Then the roof is replaced when the Player exits the room. Someone from this board thought this one up.

      (2) Make the room at a corner of your map, but make sure that the Player cannot see the room when he roams the map (exterior of the room) via the access function. Then via an event, change map position.

      (3) Make the room a different map. (I'm doing this one for inns and taverns.) Then the Player will teleport to the room map and back.

      (edit) (4) And then there's Albadar's method!!!!! 😄 What creativity!!

      I'm assuming that you are making maps that are at a 30 degree downward view. The inside of rooms, however, don't necessarily need to be like that. You can change your Player icon to the small white rectangle; I think it's in the Pictures/Miscellaneous folder. Do that, and the Player becomes the computer's mouse cursor. It will seem as if the Player is pointing and clicking where he wants to go. Just remember that the little rectangle is actually "walking" to where the Player is clicking, so it's important that your access tiles are good for that, and he doesn't walk over an event to get to a different event. Then you can change the Player icon back when he re-enters the last map. There's the "save location, (something else) location" event that I think works well, but I haven't tried that yet. Plan to, though.

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

      (This message has been edited by Debra (edited 12-01-2003).)

    • Quote

      Originally posted by Debra:
      **There's the "save location, (something else) location" event that I think works well, but I haven't tried that yet. Plan to, though.

      **

      Restore Location. 😉 Using Save Location, I believe (not perfectly sure...) you can save all NPC positions/health/mana status, all item positions, all stamp/animation positions/status, and the player position on a map. That way you can preserve the entire map without any work with globals. A Restore Location brings it all back. One of ColdStones good features. 🙂

      ------------------
      CI-I@()s
      (url="http://"http://www.world-of-cha0s.hostrocket.com")The Homepage of Cha0s(/url)

    • Although I COULD try it out, but too lazy to at the moment (it's too late at night; I'm tired, etc.etc.), will the Player icon also be restored? Dost thou knowest offhandest?

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

    • Hrmmm... I'd have to say... no (as a guess)... The Save Location action seems to be centered on preserving the map (and anything about the player dependent on this, i.e. position) less than the player. For instance, though the NPCs on the map are remembered, the player's health/mana are not.

      I'm not really sure about all of this, as I have very little experience with the stuff. One thing I did learn: Save Location data is not saved in a save game file. humph (That could be so useful... You could have games that can REALLY save. That way you won't have to re-kill every enemy when you reloaded the map...).

      ------------------
      CI-I@()s
      (url="http://"http://www.world-of-cha0s.hostrocket.com")The Homepage of Cha0s(/url)

    • With globals, you don't have to rekill everything every time you load the map.

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

    • I'm not sure but I don't think that Save/Restore Location work any more. I have tried dragging them into an event with no success. Also, the manual says that you need an actual Save/Restore Location for the events to work. Unfortunately you can't make this sort of Location.
      I may be wrong though it wouldn't surprise me it is true.

      ------------------
      Pilky
      (url="http://"http://www.mcubed.cjb.net")M cubed homepage(/url)
      (url="http://"http://www.coldstonerc.cjb.net")Coldstone Resource Centre(/url)
      Cheesiest film line of all time "Flash I love you but we only have 14 hours to save the earth" from Flash Gorden

    • Yes Debra, you COULD use globals, but would you like to make a global for every monster on a big map? 😛 (Assuming, 20-30 monsters and only 5 big maps, that's 100-150 globals!). If it was imperative that monsters didn't respawn, then yes, this is the only way to do it. However, if you're entering an old mansion in the middle of a field full of enemies, it would be useful to not have to kill the field of enemies twice. Save/Restore location makes it easy. 🙂

      As to what you said Pilky, I don't know if it's working now or not. As far I know, you don't need to make locations with any specific names, it just stores the data automatically. One thing that I just learned (by checking the manual) is that saved locations actually stack up and Restore Location restores the last saved location. Thus you can save more than one map.

      ------------------
      CI-I@()s
      (url="http://"http://www.world-of-cha0s.hostrocket.com")The Homepage of Cha0s(/url)

    • Quote

      Originally posted by CI-Ia0s:
      Yes Debra, you COULD use globals, but would you like to make a global for every monster on a big map?

      Yep.

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

    • Quote

      Originally posted by Debra:
      Yep.

      I do this on purpose. I have found that I can control the frequency and strength by setting the globals for each and every monster group in the whole game. (which is many many BIG maps) This also makes the user aware that they are not in control of the monsters they fight, and hence are not allowed to fight only low level monsters until their character is a level 15. This causes the story to flow better in my opinion. You have some control over the actions of the character playing your game.
      Bottom line. Use globals, lots of them and get used to it. Your game will be a much higher quality game if you do.

      ------------------
      -Albadar-
      - - - - - - - - - -
      Just trying...

    • Quote

      Originally posted by Albadar:
      **Use globals, lots of them and get used to it. Your game will be a much higher quality game if you do.

      **

      I do this as well. I have a timer and stats recorded this way, and a couple of other things and I'm already over a hundred (and I haven't even really begun my game...oh boy). The more complex it is, usually the better. I have a question though: If you do have a ton of events, things that are 'on' or 'off', does this affect game speed? Does it slow down at all? I hope not.... :frown:

      ------------------
      -The ZeroWarrior

    • Is there a way to use keys and stuff to "lock" doors and stuff like that?

      ------------------
      I wonder what this button
      does? I'll just press it and
      see what happens.

    • Quote

      Originally posted by atgdog:
      **Is there a way to use keys and stuff to "lock" doors and stuff like that?
      **

      Certainly. Map tile in front of door calls "Checkdoor" Event.

      "Checkdoor" Event: Conditional = Is &&gbDoor; = 0? If true, call "Lockdoor" Event. If false, call "Unlockdoor" Event.

      "Lockdoor" Event: Conditional = Is key in inventory? If no, end event. If yes, Dialogue = "Do you want to lock this door?" Answer 1 = "No." -> link to end event. Answer 2 = "Yes" proceed to Change Map Cells under door to blocked access. Set &&gbDoor; = 1.

      "Unlockdoor" Event: Conditional = Is key in inventory? If no, end event. If yes, Dialogue = "Do you want to unlock this door?" Answer 1 = "No." -> link to end event. Answer 2 = "Yes" proceed to Change Map Cells under door to clear access. Set &&gbDoor; = 0.

      ------------------
      My Doctor said I was having too much wine, women, and song - so I gave up singing because 2 out of 3 is not so bad.
      The (url="http://"http://www.evula.org/rduck/")Kingdom of Garendall(/url) sectional map is easily printed from gif format pages.
      (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/damsels.sit?path=pog/addons&file;=damselsV1.1.sit")Damsels in Distress(/url) - A plugin for PoG. (url="http://"http://www.evula.org/rduck/RD-DEL.jpg")RD-DEL(/url)