"band-aid" tweaks to item generation

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

    "band-aid" tweaks to item generation

    In light of Magnate's overhaul of ego generation not making it into 3.4, I'm going to go ahead with my band-aid tweaks. Specifically, there are three tweaks.

    1) Remove the line that makes items that fail the special artifact roll into forced-great items.

    This has been both playtested by me and stats-tested. It tends to reduce artifact creation by about 10% (which is just about 1 standard deviation) and it has no significant effects on ego generation. I've already sent a pull-request for this, and it should be in soon.

    2) Remove the DROP_GOOD flag from most non-unique monsters.

    This has been playtested by me, but not yet stats-tested. I plan to do that this weekend. The concern for this is actually an increase in specific uber items like _banishment and _magi (actually those are the only ones I care about limiting). DROP_GOOD should actually be interpreted as 'drop_weapons/armor/dungeonbooks' If you have suggestions for what monsters should retain DROP_GOOD, please post them here.

    3) Change the level dependent good/great values.

    Currently these are:
    Code:
    	/* Chance of being `good` and `great` */
    	int good_chance = (lev + 2) * 3;
    	int great_chance = MIN(lev / 4 + lev, 50);
    If randint(100) < good_chance the item is good
    If it's good and randint(100) < great_chance then the item is great

    good means it has magical bonuses. great means it is an ego. I'm not sure how to change these formulas yet, but suggestions are appreciated.

    I'm not planning on doing any changes to the edit files, but if anyone has concrete suggestions on how those can be tweaked for 3.4, I'll be happy to try them out and run simulations on them.
  • Antoine
    Ironband/Quickband Maintainer
    • Nov 2007
    • 1010

    #2
    What about also making some 'uber' arts (Bladeturner, 1 Ring etc) more rare?

    And is there a case for an across-the-board increase of X% in artifact rarities?

    [EDIT:] How about increasing the rarity and/or depth of the 'of Speed' footwear ego?

    A.
    Last edited by Antoine; October 20, 2011, 04:09.
    Ironband - http://angband.oook.cz/ironband/

    Comment

    • fizzix
      Prophet
      • Aug 2009
      • 3025

      #3
      Originally posted by Antoine
      What about also making some 'uber' arts (Bladeturner, 1 Ring etc) more rare?

      And is there a case for an across-the-board increase of X% in artifact rarities?

      [EDIT:] How about increasing the rarity and/or depth of the 'of Speed' footwear ego?

      A.
      All these changes need an adjustment of the scale. The code work is not too bad, but you need to adjust every single item in ego_item, object, and artifact and, honestly, it's hard for me to summon the desire to do that. Honestly, most of my rebalancing efforts are going to be devoted to magnate's affixes branch, and I'm going to limit by V rebalancing to simple band-aid solutions like the ones outlined above.

      If someone else wants to take up the edit file part, I can probably look at the code. (The edit file part would be changing all lines that read like A:5:40-127 to A:50:40-127)

      Right now BoS has a rarity of 2, so we can cut that to 1. However, a lot of the artifacts already have rarity of 1 though...

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #4
        Originally posted by fizzix
        All these changes need an adjustment of the scale. The code work is not too bad, but you need to adjust every single item in ego_item, object, and artifact and, honestly, it's hard for me to summon the desire to do that. Honestly, most of my rebalancing efforts are going to be devoted to magnate's affixes branch, and I'm going to limit by V rebalancing to simple band-aid solutions like the ones outlined above.

        If someone else wants to take up the edit file part, I can probably look at the code. (The edit file part would be changing all lines that read like A:5:40-127 to A:50:40-127)

        Right now BoS has a rarity of 2, so we can cut that to 1. However, a lot of the artifacts already have rarity of 1 though...
        During the affixes work I did recalibrate artifact rarities so that the scale is 10x more granular. I also removed the normal/special artifact distinction and implemented multiple A: lines so that artifacts can have different rarities at different depths. It should be possible to cherry-pick the relevant commits for V if that's desired - but it will have a major impact on game balance (even without any of the other affix changes) so it wouldn't be sensible for 3.4 by the same token that affixes aren't.
        "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

          #5
          Originally posted by Magnate
          During the affixes work I did recalibrate artifact rarities so that the scale is 10x more granular. I also removed the normal/special artifact distinction and implemented multiple A: lines so that artifacts can have different rarities at different depths. It should be possible to cherry-pick the relevant commits for V if that's desired - but it will have a major impact on game balance (even without any of the other affix changes) so it wouldn't be sensible for 3.4 by the same token that affixes aren't.
          If everything is only scaled by 10, shouldn't it be exactly the same, or am I missing something? Certainly if you include the extra A lines, I could see some balancing issues creeping in.

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #6
            Originally posted by fizzix
            If everything is only scaled by 10, shouldn't it be exactly the same, or am I missing something? Certainly if you include the extra A lines, I could see some balancing issues creeping in.
            The current (3.3.x) system expects the "commonness" (called alloc_prob in the code) of an object/artifact/ego type to be between 1 and 100. For artifacts, each artifact is tested separately using a "rarity roll", which is 1-100 tested against that commonness - so its commonness is a percent chance of being included in the allocation table.

            I modified artifact.txt to use a scale between 1 and 1000 (the highest commonness in 3.3.x is Elvagil at 50, which is now 500). This means that something with a commonness of 1 is now 10x rarer, relative to other artifacts, than it was before. But I also dispensed with the "rarity roll", because calling make_artifact() now means you actually want to create an artifact, rather than just roll for one, and this is what would really change the balance. If someone wanted to incorporate my changes but minimise the effect on balance, they could put the rarity roll back into make_artifact(), but using 1-1000 instead of 1-100. This effectively doubles the relative rarity differentials (because it affects both entering the allocation table and being picked), which is why I removed it. But it would probably mean a smaller overall impact on balance.
            "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

              #7
              Ok, step 2 has been tested and has a pull request. DROP_GOOD has been removed for all non-unique monsters giving another ~10% reduction in artifact generation. All together artifacts should be about 15-20% less common now. Apparently this has been merged before I was even able to finish this comment.

              As I guessed, this caused a roughly factor 2 increase in many high end goods like staves of magi/healing/banishment. I corrected the probs in object.txt for this. Also, dungeon books became significantly more rare. I fixed the probs for them as well, to bring them back to the same prob as they were before, although the sources may be different now.

              I'm going to hold off on step 3, as I think this might be enough to make a difference in object generation for 3.4, and we'll see how it plays.

              One thing to check is whether or not Uniques are dropping dungeon books too often now, or any other wonky effects.

              edit: I should add that consumables overall will be more common deep in the dungeon. So if things are popping up too often, we can tweak them some more. The most egregious problems have been taken care of though.

              Comment

              • Derakon
                Prophet
                • Dec 2009
                • 9022

                #8
                You should also make certain that the following consumables have about the same rarity:

                * ?Banish
                * ?MassBanish
                * ?Destruction
                * !*Healing*
                * !Life

                Any others that I missed?

                Comment

                • fizzix
                  Prophet
                  • Aug 2009
                  • 3025

                  #9
                  Originally posted by Derakon
                  You should also make certain that the following consumables have about the same rarity:

                  * ?Banish
                  * ?MassBanish
                  * ?Destruction
                  * !*Healing*
                  * !Life

                  Any others that I missed?
                  Staves are the bigger problem because they're fairly deep to begin with (dlevel 70). So it used to be that you only had a handful of monsters, on a handful of levels that could drop them. Once you remove DROP_GOOD from a bunch of deep monsters, you have more opportunities to get staff drops. For similar reasons, this is why dungeon books becamse much harder to get.

                  Also, stats calculations are a bit inflated because they assume you're killing all the monsters in graveyards and demon pits. Actual gameplay is a bit harder to simulate, so it'll take a couple playthroughs and feedback to see if these items need to be toned down also.

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    #10
                    Originally posted by fizzix
                    Staves are the bigger problem because they're fairly deep to begin with (dlevel 70). So it used to be that you only had a handful of monsters, on a handful of levels that could drop them. Once you remove DROP_GOOD from a bunch of deep monsters, you have more opportunities to get staff drops. For similar reasons, this is why dungeon books becamse much harder to get.
                    Actually dungeon books were always included in the "good" object table - but the staves weren't. I solved this in v4 by implementing OF_GOOD, so that certain base items which aren't armour or weapons can be included in "good" drops. Since v4 shouldn't have anything like the same numbers of artifacts dropping, and more variety in egos (therefore deflating the power creep for a change), it shouldn't be necessary to remove DROP_GOOD from nonuniques in v4. But we'll see.
                    "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
                      Actually dungeon books were always included in the "good" object table - but the staves weren't. I solved this in v4 by implementing OF_GOOD, so that certain base items which aren't armour or weapons can be included in "good" drops. Since v4 shouldn't have anything like the same numbers of artifacts dropping, and more variety in egos (therefore deflating the power creep for a change), it shouldn't be necessary to remove DROP_GOOD from nonuniques in v4. But we'll see.
                      Yes I'm aware OF_GOOD has been changed in v4, there's obviously no need for these band-aid fixes there.

                      The reason dungeon books were changed in probability is that DROP_GOOD monsters had few items to choose from and picked dungeon books often. Pretty much this was the only way to get the ninth book. The probability of picking up a 9th book after clearing all levels dropped from 93% to 75% after the DROP_GOOD changes, which is a little on the rare side for my liking. I tweaked it back up to 93%.

                      Comment

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