Problems with item generation in vaults on dlvl 99?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • flechette
    Scout
    • Sep 2008
    • 40

    Problems with item generation in vaults on dlvl 99?

    Killed Sauron, and am just scumming around for consumables for the last fight when I came across a Greater Vault (N:48:Huge - Modified). Every piece of equipment generated on the floor of the vault (except one artifact dagger!) was generated with no enchantments at all. Haven't seen this with any other vaults I've come across, so I'd thought I'd mention it, and see if there's something wrong here. This is on dlvl 99, first time I've been on this level. Backing up my character now if you want me to post a save of this.
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #2
    Originally posted by flechette
    Killed Sauron, and am just scumming around for consumables for the last fight when I came across a Greater Vault (N:48:Huge - Modified). Every piece of equipment generated on the floor of the vault (except one artifact dagger!) was generated with no enchantments at all. Haven't seen this with any other vaults I've come across, so I'd thought I'd mention it, and see if there's something wrong here. This is on dlvl 99, first time I've been on this level. Backing up my character now if you want me to post a save of this.
    Please do post the save. When I'm testing, I do occasionally see items at dl98 or 99 generated with no affixes, but only a few percent of the time. For an entire vault to be full of them indicates that there's a bizarre bug somewhere.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • fizzix
      Prophet
      • Aug 2009
      • 3025

      #3
      Originally posted by Magnate
      Please do post the save. When I'm testing, I do occasionally see items at dl98 or 99 generated with no affixes, but only a few percent of the time. For an entire vault to be full of them indicates that there's a bizarre bug somewhere.
      Magnate, I'm guessing it has to do with the objects having a natural level deeper than 99. Actually, many are probably deeper than 127!

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #4
        Originally posted by fizzix
        Magnate, I'm guessing it has to do with the objects having a natural level deeper than 99. Actually, many are probably deeper than 127!
        Of course. Most affixes have max depths of 100, which means that "good" items generated above dl90 will not be able to acquire any of them. Doh. I wondered why there was that funny dip at the end of the stats graph.

        Thanks. I'll change the maxima and see if that solves the problem.

        Come to think of it, the alloc_max check ought to be against p_ptr->depth, not against the item generation level.

        Opened as #1581. I knew the endgame of v4 would be hard, but not that hard ...
        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

        Comment

        • flechette
          Scout
          • Sep 2008
          • 40

          #5
          Here's the google docs link to the character: Click here and download. The vault has a mix of consumables, non-enchanted items, and a few more artifacts that I hadn't found by the time I copied the save.

          While playing later on, I noticed that a scroll of *Aquirement* generated 2 non-enchanted items and some healing potions. Another thing about this weirdness is that item drops from monsters don't seem to be nearly as bad off, in that most all of them still produce items with affixes. The one affix I see the most when playing is 'of extra attacks' with no other prefix or suffix.

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #6
            Yeah, if the problem is that items with a level deeper than 100 don't get affixes, then monster drops by definition won't be a problem as they all have level <= 100 (with Morgoth being the only one that drops items with level = 100). Well, until you beat the game and go to deeper levels anyway (item level is the average of monster level and dungeon level for monsters that aren't out of depth).

            Items on the floor before level 100 can get boosts from being in vaults, though, which pushes their level into the "problem zone".

            Comment

            • fizzix
              Prophet
              • Aug 2009
              • 3025

              #7
              Originally posted by Derakon
              Items on the floor before level 100 can get boosts from being in vaults, though, which pushes their level into the "problem zone".
              To be fair, these items should probably be more powerful than the standard dlevel 100 item. I would highly recommend extending maxima out to 127, and not cutting off at 100.

              Magnate, I don't understand what you mean by using p_ptr->depth instead of the object generation level. I would think the object generation level is the way to go. It just needs to be able to handle >100.

              Comment

              • Magnate
                Angband Devteam member
                • May 2007
                • 5110

                #8
                Originally posted by fizzix
                To be fair, these items should probably be more powerful than the standard dlevel 100 item. I would highly recommend extending maxima out to 127, and not cutting off at 100.

                Magnate, I don't understand what you mean by using p_ptr->depth instead of the object generation level. I would think the object generation level is the way to go. It just needs to be able to handle >100.
                I think the min_depth and max_depth are different concepts. The min_depth is a threshold for allowing the item/affix/whatever to appear - but we want it to appear OOD sometimes, so we deliberately allow the level parameter to inflate (by "good" or "great" drops, or just randomness). The max_depth is an anti-TMJ measure, and when we're past that depth, we don't want to see that thing. So it makes sense to check against actual depth, not against the item generation level.

                I pushed a fix this morning, so let's see how it plays. It's available in the usual place: http://buildbot.rephial.org/v4-build...er/builds.html.
                "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                Comment

                • flechette
                  Scout
                  • Sep 2008
                  • 40

                  #9
                  Played around on dlvl 127 for a few hours with the new build (19c1109), and was running into the same problem as before. Most all equipment was either unenchanted, or had very few enchants at all.

                  Out of curiousity, I went and changed all instances of 'to 100' in both ego_item.txt and ego_theme.txt to 'to 127'. This might introduce TMJ, but I was instantly seeing swathes of new items I hadn't seen before.

                  I will say though that there needs to be some sort of easy-to-understand visual clue indicating either how many affixes are on an item, or how 'powerful' an item is. There is a whole new level of tediousness added when I have to double check every item (especially weapons and helms) to make sure that the <+2, +1> isn't just strength and light, but might be attack speed and constitution, or that a crown of darkness doesn't also have rConf, rStun, and ESP all thrown in as well.

                  Not griping, I love the changes! It was nice beating Morgy down with mostly strong Ego items.

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    #10
                    Originally posted by flechette
                    Played around on dlvl 127 for a few hours with the new build (19c1109), and was running into the same problem as before. Most all equipment was either unenchanted, or had very few enchants at all.

                    Out of curiousity, I went and changed all instances of 'to 100' in both ego_item.txt and ego_theme.txt to 'to 127'. This might introduce TMJ, but I was instantly seeing swathes of new items I hadn't seen before.

                    I will say though that there needs to be some sort of easy-to-understand visual clue indicating either how many affixes are on an item, or how 'powerful' an item is. There is a whole new level of tediousness added when I have to double check every item (especially weapons and helms) to make sure that the <+2, +1> isn't just strength and light, but might be attack speed and constitution, or that a crown of darkness doesn't also have rConf, rStun, and ESP all thrown in as well.

                    Not griping, I love the changes! It was nice beating Morgy down with mostly strong Ego items.
                    Thanks for the feedback. I don't think it's important to support play at depths beyond level 100 - but you are right that simply changing all the 100s to 127 will do it.

                    There is still no clear way forward on item naming, though I am hopeful that Nomad might code up his naming matrix idea quite soon. In the meantime I think it might be best just to put a (*) at the end of an item name if it has more affixes than shown in its name. That at least tells you that you don't need to 'I'nspect the item unless it has a (*).
                    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                    Comment

                    • fizzix
                      Prophet
                      • Aug 2009
                      • 3025

                      #11
                      Originally posted by Magnate
                      I think the min_depth and max_depth are different concepts. The min_depth is a threshold for allowing the item/affix/whatever to appear - but we want it to appear OOD sometimes, so we deliberately allow the level parameter to inflate (by "good" or "great" drops, or just randomness). The max_depth is an anti-TMJ measure, and when we're past that depth, we don't want to see that thing. So it makes sense to check against actual depth, not against the item generation level.
                      I disagree. An orc on dlevel 40 should still be able to drop !toughness as opposed to not being able to drop any stat potions at all. Or maybe I'm misunderstanding?

                      Comment

                      • Magnate
                        Angband Devteam member
                        • May 2007
                        • 5110

                        #12
                        Originally posted by fizzix
                        I disagree. An orc on dlevel 40 should still be able to drop !toughness as opposed to not being able to drop any stat potions at all. Or maybe I'm misunderstanding?
                        [... goes off to look up alloc_max of !toughness] ... well, I don't think you're misunderstanding, but you complicated the issue by choosing a monster drop rather than a floor item as an example. Monster drops are generated at the MAX(mlev, average of mlev and dlev), and that means that the averaging actually works the opposite way to the level inflation from "good" or "great" drops.

                        So I think my position is that while I don't mind alloc_max for base items obeying the modified generation level, I think it's more helpful for alloc_max to be absolute for affixes, themes and artifacts.

                        But I accept that that's inconsistent. So maybe it's not a good position after all.
                        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                        Comment

                        • Nomad
                          Knight
                          • Sep 2010
                          • 958

                          #13
                          Originally posted by Magnate
                          There is still no clear way forward on item naming, though I am hopeful that Nomad might code up his naming matrix idea quite soon. In the meantime I think it might be best just to put a (*) at the end of an item name if it has more affixes than shown in its name. That at least tells you that you don't need to 'I'nspect the item unless it has a (*).
                          Point me where I should be looking for whatever code that currently handles naming egos without themes, and I will certainly take a stab at it. I think I've figured out what I'm doing with handling the parsing of edit files now, which should help. I'm hoping to try and tackle #576 as well.

                          Incidentally, I should probably mention at some point that I'm actually a 'she'.

                          Comment

                          • Therem Harth
                            Knight
                            • Jan 2008
                            • 926

                            #14
                            Thus proving the futility of trying to guess gender/sex from writing style. (Because James Tiptree Jr. didn't quite kill that idea.)

                            Comment

                            • Magnate
                              Angband Devteam member
                              • May 2007
                              • 5110

                              #15
                              Originally posted by Therem Harth
                              Thus proving the futility of trying to guess gender/sex from writing style.
                              I confess that I didn't even do that - just a shameful assumption based on no thought whatsoever.

                              @Nomad - my apologies! I am deeply embarrassed. The naming code is obj_affix_names, which is the first function in src/object/obj-desc.c - that's the place to hook in your naming matrix lookup function (or whatever) - basically just set o_ptr->prefix and o_ptr->suffix to whatever you think best. If the object has a theme, it will override prefix or suffix automatically.

                              ... and fixing #576 would be great too!
                              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                              Comment

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