Bugs and complaints on current master

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9638

    Bugs and complaints on current master

    I believe I have fixed or listed here the remaining bugs that I know of in current master.

    This thread is for people to
    1. Report new bugs or ones I have missed and
    2. Make other complaints or feature requests.


    Curses and traps are still not fully mature, and there are some other planned changes for 4.1, so jump in and opine on any of that, or anything else, too.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.
  • Ingwe Ingweron
    Veteran
    • Jan 2009
    • 2129

    #2
    Yep, you've got everything that's on my list. Still trying to get you a "drops in walls" savefile.

    Oh, and reiterating a feature request to bring back the trap detection line, at least as a game-play option. (I note, "FAAngband does this...")

    Currently, my only complaint is not liking the new treatment of secret doors not being detectable except by walk-by. I think it makes tactical approaches to pits difficult, wastes time unnecessarily feeling around for doors, and unfairly benefits experienced players who already have a good idea of where secret doors are most likely to be.

    Looking forward to, hopefully, seeing new terrain in the dungeon; like lava pits, water rooms, webs, hidden tree groves (ala FAAngband.) And to those who say trees don't grow underground, maybe its a shaft room with access to sunlight, or a giant mushroom forest like in Jules Verne's "Journey to the Center of the Earth".

    Maybe some of those one-time "special" levels from FAAngband too. "Drums in the deep...!!!" And "neutral" aligned "p", so that I can have a sop to my conscience about killing every single thing.

    Thanks, Nick. Such a great job!
    Last edited by Ingwe Ingweron; October 22, 2016, 08:22.
    “We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
    ― Tom Stoppard, Rosencrantz and Guildenstern are Dead

    Comment

    • Ingwe Ingweron
      Veteran
      • Jan 2009
      • 2129

      #3
      Thought of one more thing I've reported, but it was rather arcane and non-important. The initial allocation of stats on point based creation - could this be made user-editable? New races and classes can now be made relatively easily by tweaking the edit files, but the stat allocation can turn out oddly for such new race or class.

      On an even more arcane note about initial allocation of stats, this time impacting standard roller mode. I think it would be nice to see the rolled stats before choosing the class. This would make even the birth process a more interesting exercise, make the standard roller viable as a real option, and add spice to the game. The point-based system may be recommended, but I'm tired of always starting a new @ with identical stats as the previous. Come to think of it, it would also be an interesting option to have race rolled randomly. We are born with whatever race we are, but we can choose our profession based on our innate talents.
      “We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
      ― Tom Stoppard, Rosencrantz and Guildenstern are Dead

      Comment

      • Nick
        Vanilla maintainer
        • Apr 2007
        • 9638

        #4
        Originally posted by Ingwe Ingweron
        Yep, you've got everything that's on my list. Still trying to get you a "drops in walls" savefile.
        Don't worry. My main task for a little is going to be dungeon generation, starting with some tidying up of how terrain behaves, which should fix objects falling in the wrong places.

        Originally posted by Ingwe Ingweron
        Oh, and reiterating a feature request to bring back the trap detection line, at least as a game-play option. (I note, "FAAngband does this...")

        Currently, my only complaint is not liking the new treatment of secret doors not being detectable except by walk-by. I think it makes tactical approaches to pits difficult, wastes time unnecessarily feeling around for doors, and unfairly benefits experienced players who already have a good idea of where secret doors are most likely to be.
        My chief reason for not wanting to bring the trap-detect line back is that it was a massive hack to terrain handling which I was really glad to remove. What I would rather do is consider the purpose it was serving for you (and presumably other people), and introduce a feature that serves that purpose directly. FAangband only still has it because it's currently abandonware

        There is still some thinking to do about the best way to handle detection of traps, doors and stairs. My baseline is I don't want it to be something that everyone has to do routinely, but I'm open to suggestions. One possibility is bringing back some sort of perception stat which improves detection at a distance, but in a fixed way (like infravision) rather than a random check.

        Originally posted by Ingwe Ingweron
        Looking forward to, hopefully, seeing new terrain in the dungeon; like lava pits, water rooms, webs, hidden tree groves (ala FAAngband.) And to those who say trees don't grow underground, maybe its a shaft room with access to sunlight, or a giant mushroom forest like in Jules Verne's "Journey to the Center of the Earth".

        Maybe some of those one-time "special" levels from FAAngband too. "Drums in the deep...!!!" And "neutral" aligned "p", so that I can have a sop to my conscience about killing every single thing.
        All these things are possible; some are more likely than others
        One for the Dark Lord on his dark throne
        In the Land of Mordor where the Shadows lie.

        Comment

        • PowerDiver
          Prophet
          • Mar 2008
          • 2820

          #5
          Originally posted by Nick
          There is still some thinking to do about the best way to handle detection of traps, doors and stairs.
          I haven't played any *bands for about a year, but I used to play my homebrew based on 3.0 often enough before that. One of the very few things I missed from 3.1+ was the trap detection marker. Then I had an inspiration. What is a dungeon level? I'd discussed that many times over the years, with never a decent answer, and suddenly I knew. A dungeon level can be defined to be the area that shows up for detection spells. I.e. any detection should apply to the entire level. No more green lines. [I don't remember the history, but for some period of time detections covered what was in a resizable window, which with appropriate font size and terminal size could cover everything so this is not precisely unprecedented.]

          This is a pretty radical change, one that makes the game noticeably easier. Occasionally I felt guilty when dObj gave me massive information, but I never felt guilty for longer than a second or two. It is insanely annoying trying to keep track of what areas have been covered by which detections.

          Eliminating detection spells entirely is a possibility, though I think priests should get some. If you keep any detection spells in the game, you owe it to yourself to playtest with full level detections.

          Comment

          • t4nk
            Swordsman
            • May 2016
            • 336

            #6
            There is still disconnected stairs bug. And I think use after free too? At least address sanitizer was complaining about it relatively recently (last week or so, I think).

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9638

              #7
              Originally posted by t4nk
              There is still disconnected stairs bug. And I think use after free too? At least address sanitizer was complaining about it relatively recently (last week or so, I think).
              Excellent, thanks for those.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9638

                #8
                Originally posted by PowerDiver
                Eliminating detection spells entirely is a possibility, though I think priests should get some. If you keep any detection spells in the game, you owe it to yourself to playtest with full level detections.
                That's an interesting thought. I'm currently having trouble with this issue because I can see a number of ways forward, and I have some sympathies with all of them. My only real definite is that routine trap detection is a bad thing. I guess some ideas will get tried out, and we'll see what seems to work best.
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • Pete Mack
                  Prophet
                  • Apr 2007
                  • 6883

                  #9
                  Please do a sanitize build and play it for a while with more than a toy character. Use archery, and use verbose mode. I have seen crashes from the object code and from the trap code when an earthquake trap destroyed either itself or an out-of-view object.

                  Comment

                  • Nick
                    Vanilla maintainer
                    • Apr 2007
                    • 9638

                    #10
                    Originally posted by Pete Mack
                    Please do a sanitize build and play it for a while with more than a toy character. Use archery, and use verbose mode. I have seen crashes from the object code and from the trap code when an earthquake trap destroyed either itself or an out-of-view object.
                    If someone tells me how to do a sanitize build I will be happy to do this - bonus points for answers that don't involve completely changing the build system

                    Failing that, I can spam earthquake traps until one of them does the appropriate thing.
                    One for the Dark Lord on his dark throne
                    In the Land of Mordor where the Shadows lie.

                    Comment

                    • Pete Mack
                      Prophet
                      • Apr 2007
                      • 6883

                      #11
                      An ordinary debug build will expose the bugs. It just won't label them for you. I believe CLANG is fully compatible with gcc make files.

                      Comment

                      • t4nk
                        Swordsman
                        • May 2016
                        • 336

                        #12
                        Originally posted by Nick
                        If someone tells me how to do a sanitize build I will be happy to do this - bonus points for answers that don't involve completely changing the build system

                        Failing that, I can spam earthquake traps until one of them does the appropriate thing.
                        I recall you use Linux? I think "./configure CLFAGS=-fsanitize=address LDFLAGS=-fsanitize=address [OTHER_OPTIONS]..." should work (if your compiler supports those, which I guess it does).
                        Although, I still don't know how Angband's build system works and just use makefiles
                        edit: (OTHER_OPTIONS are standard Angband's options, like --disable-curses, etc).

                        Comment

                        • AnonymousHero
                          Veteran
                          • Jun 2007
                          • 1393

                          #13
                          For ASAN/UBSAN/etc. IIRC what you need to do is to avoid use of "ld" for the linking step (just use "cc" or "clang" instead) and to get the -fsanitize flags into the compiler flags.

                          The "ld" thing is needed because ASAN/etc. need to link with libraries which won't be included if you use "ld".

                          Comment

                          • AnonymousHero
                            Veteran
                            • Jun 2007
                            • 1393

                            #14
                            Originally posted by Pete Mack
                            An ordinary debug build will expose the bugs. It just won't label them for you. I believe CLANG is fully compatible with gcc make files.
                            This is incorrect. ASAN and UBSAN will find a huge number of bugs[1] that debug builds don't. (In fact, debug builds usually won't actually expose any more bugs, per se, although they might just by virtue of having a lower level of optimization.)

                            You pay for it with lower performance (usually anything from 1.5x-3x, sometimes even worse), but it shouldn't be a big deal. It's certainly nothing like as bad as valgrind.

                            [1] Assuming that there are in fact any bugs to be found.

                            Comment

                            • Pete Mack
                              Prophet
                              • Apr 2007
                              • 6883

                              #15
                              Debug builds set all values to 0xeeeeeeee in freed memory, and detects duplicate frees. It is a big win compared to, say, O2 for finding memory errors

                              Comment

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