feature request: don't change dungeon memory out of LoS

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    feature request: don't change dungeon memory out of LoS

    This is something that's always bugged me.

    Let's say you detect a whole bunch of objects in a vault. Let's also say there's an elemental in the vault. As you are approaching, you will see the elemental crush all the objects in its path. You'll see this because the space with the object will go black when the elemental steps on it. Really there is no reason for the player to know that those objects were destroyed without casting another dobj.

    Similarly, if a monster has eat_wall, and you've mapped a section, you can see that section get destroyed as the monster comes towards you. Again there's no reason to know this.
  • Pete Mack
    Prophet
    • Apr 2007
    • 6883

    #2
    @fizzix--
    that's a simple request, but it's a complicated solution. There's only one instance of the dungeon map, and there's no functionality for redrawing objects after they have been deleted.

    Also, it's a long tradition to watch Morgoth (and Maeglin) come tearing through the dungeon from the other side of the screen.

    Comment

    • will_asher
      DaJAngband Maintainer
      • Apr 2007
      • 1124

      #3
      Originally posted by fizzix
      This is something that's always bugged me.

      Let's say you detect a whole bunch of objects in a vault. Let's also say there's an elemental in the vault. As you are approaching, you will see the elemental crush all the objects in its path. You'll see this because the space with the object will go black when the elemental steps on it. Really there is no reason for the player to know that those objects were destroyed without casting another dobj.

      Similarly, if a monster has eat_wall, and you've mapped a section, you can see that section get destroyed as the monster comes towards you. Again there's no reason to know this.
      This is something I want to do for DaJAngband. Haven't really looked at how to do it yet, but I'll see if I can figure it out.
      (I know I said I'd be completely gone this month, but I may resurface once a week or something like that. I'm ahead of scedule with my wordcount.)
      Will_Asher
      aka LibraryAdventurer

      My old variant DaJAngband:
      http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

      Comment

      • fizzix
        Prophet
        • Aug 2009
        • 3025

        #4
        yeah, I was poking around a little at the code, but I guess I didn't fully realize how these things were handled.

        I guess the only way to do it is to set a whole bunch of new object and terrain mimics. So the elemental destroys the object, but an object mimic takes its place. Of course, using -dobj or actually looking at the square removes all mimics.

        The same would be true for terrain. Both for eat wall monsters and doors, which I forgot to mention. So you can hear a door open, but you may not know which one.

        Comment

        • ramela
          Apprentice
          • Jan 2008
          • 55

          #5
          So, how hard in terms of difficulty and amount of effort would it be to change teh system so that we maintain two dungeon maps, one for the true state of the dungeon and one for the players perceptions?

          Comment

          • Bandobras
            Knight
            • Apr 2007
            • 726

            #6
            I really like the simplicity of the Angband game-play invariant: your don't see a lot on the screen, but whatever you see is true.

            Mimics are a borderline case, but you really _see_ a potion --- that it's an alive potion is a different thing.

            I also like the other invariant, but it's lower priority in my book: whenever anything on the screen changes out of LOS, it's in response to you explicit detection command.

            It's not true and I'd feel better if I was warned about that ("you hear objects/walls destroyed NE of you", but it's not as critical as the first invariant for me.

            Comment

            • nobody
              Apprentice
              • Jul 2007
              • 80

              #7
              yeah, i don't like the idea that something on the screen could be a lie, unless i'm hallucinating

              Comment

              • EpicMan
                Swordsman
                • Dec 2009
                • 455

                #8
                What I have done for a Roguelike I am writing is add a display glyph property to a map cell (which is an object in my game, but you could use a struct r a 2d char array as well).

                The display glyph is initially a black space but is updated when the player sees it, so if an item or wall is drawn on the ground, you move our of LOS and it is destroyed or picked up the map doesn't show the change unless and until you can see that square.

                I don't like that I can see doors opened or walls destroyed when my character couldn't know that. At best, I might should get a 'you hear a door creak' or 'you hear boring' message.

                Comment

                • buzzkill
                  Prophet
                  • May 2008
                  • 2939

                  #9
                  Originally posted by EpicMan
                  I don't like that I can see doors opened or walls destroyed when my character couldn't know that. At best, I might should get a 'you hear a door creak' or 'you hear boring' message.
                  Originally posted by nobody
                  i don't like the idea that something on the screen could be a lie...
                  I understand both POV's but have to side with EpicMan and others who generally agree. Think of it this way. It's a map you're looking at (a magically generated map, not a magical all-knowing map). If you detected objects, then assume that you plotted the location of the objects on the map at the time you detected them. If the map changes or items are destroyed, there is no way you should know about it. Detection and mapping are one time use, not sustained duration effects. If you want perfect knowledge, you can always use multiple detections/mappings.

                  I don't object to a message being given such as "You hear an item being smashed" or "you hear a door burst open", but updating the map out of LoS just seems silly. Maybe even introduce *mapping* and *object detection* which could have a sustained duration. IMO *enlightenment*, being a potion, should work this way (perfect knowledge for it's duration, which I don't believe it has currently, a duration).
                  Last edited by buzzkill; July 13, 2010, 13:39.
                  www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                  My banding life on Buzzkill's ladder.

                  Comment

                  • Frood
                    Rookie
                    • Dec 2007
                    • 24

                    #10
                    It really seems like the current behavior comes from what is easy to implement rather than what makes sense. I like the idea of only knowing what is going on in your immediate vicinity.

                    Somewhat related, could hidden monsters such as mimics and trappers not show up on the monster list? I always play with the monster list and I think it makes it too easy avoid them. I would like it if you could only tell the difference when next to them or when the do something. Maybe by having a chance of detecting their true nature with perception or something.

                    Comment

                    • buzzkill
                      Prophet
                      • May 2008
                      • 2939

                      #11
                      Originally posted by Frood
                      Somewhat related, could hidden monsters such as mimics and trappers not show up on the monster list? I always play with the monster list and I think it makes it too easy avoid them. I would like it if you could only tell the difference when next to them or when the do something. Maybe by having a chance of detecting their true nature with perception or something.
                      DaJ does this. Mimics are indistinguishable from ordinary items until you get LoS and look at them. I don't (normally) use the monster list but I believe they are disguised/hidden in there as well. They do appear when you detect treasure! I, very recently, sought out a ring not knowing it was a mimic, thinking it was just another tasty unknown flavor.
                      www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                      My banding life on Buzzkill's ladder.

                      Comment

                      Working...
                      😀
                      😂
                      🥰
                      😘
                      🤢
                      😎
                      😞
                      😡
                      👍
                      👎