Monster power - calling for views

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    Monster power - calling for views

    Hi all,

    If you dislike the concept of giving monsters a "power" rating, I'd be most grateful if you could express your views about that in a different thread.

    If you are interested in the concept, I have finally committed the work Nullfame did about six months ago to improve the power calculation. The results are in a spreadsheet here. There are four tabs, sorting the same data four ways:

    absolute overall power rating
    "scaled" power rating (i.e. relative to creature's natural depth)
    melee power rating
    spell power rating

    I'd be very interested in people's views and suggestions. If you want to look at the details, look at the function eval_r_power() at line 2388 here.

    My own view is that the absolute power ratings look reasonable, but something is a bit wrong with the scaling (because Ancalagon drops too far down). Similarly the melee ratings look ok at first glance but the spell ratings show that top-end immotiles end up under-rated.

    Many thanks to UnAndrew for his original work on the algorithm, and to Nullfame for his improvements.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    #2
    For those of us who don't have Excel and don't want to deal with installing Open Office right now, I went ahead and made a copy of that file on Google Documents here. Let me know if you want it taken down, Magnate.

    I'm mostly interested in the scaled power rating. Without having looked over the entire file, here's my thoughts:

    * Disenchanter bats may not be very dangerous, but disenchantment makes them nasty in other ways. Ditto nexus quylthulgs. Do we want annoying monsters to rate highly?
    * Crebains are underrated. Shrieking is a powerful ability
    * The various eyes are overrated. Certainly a radiation eye isn't more dangerous for its level than a xorn is for its.
    * Time vortices, storms of unmagic: same deal as disenchanter bats
    * Large brown snakes are surprisingly powerfully rated considering that they're slow and thus a complete non-threat unless you persist in carrying on a fight that you're obviously losing. Slow monsters are generally no threat.
    * The <player> is clearly too low.

    And that's where I had to stop for time. Will try to look at the rest later.

    Comment

    • d_m
      Angband Devteam member
      • Aug 2008
      • 1517

      #3
      I should read more about the strategy before commenting, but it occurs to me that certain abilities probably scale with dlvl. E.g. shrieking on a dlvl 1 monster isn't really a big deal at all, but shrieking on a dlvl 50 monster would be pretty bad (given what can be woken/hasted).
      linux->xterm->screen->pmacs

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        Hm, yeah, if I'm looking at their scaled power level, then that has to do with how dangerous they are when encountered in-depth. Whoops. Forgot that for a moment. I guess crebains are one of the few monsters that gets more dangerous when encountered later rather than earlier.

        Comment

        • Magnate
          Angband Devteam member
          • May 2007
          • 5110

          #5
          Originally posted by Derakon
          For those of us who don't have Excel and don't want to deal with installing Open Office right now, I went ahead and made a copy of that file on Google Documents here. Let me know if you want it taken down, Magnate.
          Not at all - thank you for the assistance. I apologise for presuming that everyone not using Micro$oft has OpenOffice installed. Just out of curiosity, are there other alternatives, or do many people simply never open spreadsheets?
          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #6
            MS Office, Open Office, and Google Docs are the only major contenders, to my knowledge. I don't work with spreadsheets at all often, nor ordinary text documents, so I have little reason to have either of the big *Office suites installed. In the rare event that I need to make a nice-looking document I use LaTeX instead, and Google Docs suffices for reading what other people send me.

            Comment

            • PowerDiver
              Prophet
              • Mar 2008
              • 2820

              #7
              I guess I don't understand what's being measured. I was looking at scaled power. When I try to think of the monsters that cause my @s serious problems when I encounter them in level, I think of sabretooths, umber hulks, gravity and time hounds, ethereal dragons. I also want to include wyverns and colbrans even though they don't belong. Then there are the monsters that kill me without necessarily doing the final blow, crebains and time vortex and the unlucky nexus attack come to mind. Also, the breeders that confuse, hummerhorns and blue icky things. Maybe ghouls because they paralyze at distance, but that's maybe more about playstyle than it should be.

              I suppose Glaurung is very powerful from any spreadsheet point of view, but he never kills me unless I do something incredibly stupid. I'd want to put a hummerhorn above Glaurung.

              Comment

              • andrewdoull
                Unangband maintainer
                • Apr 2007
                • 872

                #8
                There's a 2nd value missing from this from the original algorithm, which is the highest_threat. The highest_threat value is the single instantaneous maximum damage that can be inflicted in one turn by an attack, times a group size multiplier if the monster has friends or multiplies.

                It's also not clear where you're going with this. Are you planning on adopting the Unangband approach of using this to reorder the monster list?

                (FYI - In Unangband, power is used to detemine monster depth, highest_threat determines monster rarity, plus if depth < k * highest_threat, the monster is moved deeper in the dungeon so that depth >= k * highest threat, for some k which I can't remember).

                Andrew
                The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
                In UnAngband, the level dives you.
                ASCII Dreams: http://roguelikedeveloper.blogspot.com
                Unangband: http://unangband.blogspot.com

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #9
                  Originally posted by andrewdoull
                  There's a 2nd value missing from this from the original algorithm, which is the highest_threat. The highest_threat value is the single instantaneous maximum damage that can be inflicted in one turn by an attack, times a group size multiplier if the monster has friends or multiplies.

                  It's also not clear where you're going with this. Are you planning on adopting the Unangband approach of using this to reorder the monster list?

                  (FYI - In Unangband, power is used to detemine monster depth, highest_threat determines monster rarity, plus if depth < k * highest_threat, the monster is moved deeper in the dungeon so that depth >= k * highest threat, for some k which I can't remember).

                  Andrew
                  Hi Andrew,

                  I don't think highest_threat has been removed from the code - I'll check this evening. If it's still there, it's probably a good idea to add it to the spreadsheet.

                  Does UnAngband include non-damage spells in the calculation of highest_threat (e.g. hold, summon, confuse etc.)? If so, are they assigned arbitrary damage-equivalent values (which is the case in V) or are they calculated in some way?

                  I was not intending to make changes to the shipped monster list - V has a run-time argument (arg_rebalance) to use monster power to change rarities and xp values of monsters if people want to use it. I was intending to leave that option available (but perhaps move it from a run-time argument to an in-game birth option).

                  My simple goal is to make the algorithm as good as possible, i.e. so that the results, when viewed by any experienced player who is interested, make intuitive sense.

                  That said, it is important to note that we're measuring the power of individual monsters. A hummerhorn can indeed be more dangerous than Glaurung in certain tactical situations, but not in a one-to-one arena fight. That's all we can achieve with a numerical rating, IMO.

                  My longer-term goal, once we have a power rating that is generally satisfactory (and I'm not yet satisfied with the ratings for the various RSF_ flags), is to use it to inform the rewrite of obj-power.c. It's currently only used for calculating the values of slays and brands, but it could be used to affect the values of a large number of other object flags. (For an extreme example, if every monster in r_info has EMPTY_MIND, then telepathy is worthless.)
                  "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                  Comment

                  • PowerDiver
                    Prophet
                    • Mar 2008
                    • 2820

                    #10
                    Originally posted by Magnate
                    My simple goal is to make the algorithm as good as possible, i.e. so that the results, when viewed by any experienced player who is interested, make intuitive sense.

                    That said, it is important to note that we're measuring the power of individual monsters. A hummerhorn can indeed be more dangerous than Glaurung in certain tactical situations, but not in a one-to-one arena fight. That's all we can achieve with a numerical rating, IMO.
                    Looking at scaled power, some things jump out. Osyluths appear much too high. Perhaps it is because they are easily avoided, but still. Ancalagon and Glaurung are adjacent, and that's off too. Ancalagon is much tougher. I'm not sure you can go linear with resistance flags. There is a big difference between the monster covering all 5 elements vs 4, and between 4 and any smaller number. The bile wyrm looks too high as well, much too close to a hell wyrm. Are you assuming the player double-resists fire but not acid? Otherwise, the halving of acid breaths from armor should cause a bigger difference. Azriel is much tougher than Uriel. I don't know about the numbers, but this forum warns people about Azriel and not about Uriel. Nightwalker is above black reaver, which feels wrong. Perhaps you need to boost the value of KILL_WALL.

                    Vrocks are above dreads. Maybe this sums it up. A pack of vrocks is a bunch of experience and items waiting for pickup. A pack of dreads is much scarier. Wakefulness, passwall, ranged attacks and speed are all significant differences, more than making up for the difference in hp and melee damage. The vrocks are dangerous if you have to step up and melee them sequentially without resting, but you don't have to so you don't do that. I don't know how you encapsulate this within the parameters of arena combat, but it would be nice if you could try to address it somehow.

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #11
                      There's also draining to consider, especially with the recent (and, IMO, good) change to stat drain and restoration. Dreads are now much more dangerous because they can drain your strength, they pass through walls, and they have just enough health that for quite some time you won't be able to kill one in a single round of melee (meaning that even if you do take them on one at a time, they'll still get melee opportunities). In the short term, I'd say STR and DEX drain are the most dangerous, followed by CON, then INT and WIS.

                      As for Uriel vs. Azriel, I suspect the warnings are more because Uriel telegraphs how he's going to hurt you (and it's easier to mitigate the threat), but Azriel doesn't (and nether resistance is harder to find than double-fire resist).

                      Comment

                      • Magnate
                        Angband Devteam member
                        • May 2007
                        • 5110

                        #12
                        Originally posted by PowerDiver
                        Looking at scaled power, some things jump out. Osyluths appear much too high. Perhaps it is because they are easily avoided, but still. Ancalagon and Glaurung are adjacent, and that's off too. Ancalagon is much tougher. I'm not sure you can go linear with resistance flags. There is a big difference between the monster covering all 5 elements vs 4, and between 4 and any smaller number. The bile wyrm looks too high as well, much too close to a hell wyrm. Are you assuming the player double-resists fire but not acid? Otherwise, the halving of acid breaths from armor should cause a bigger difference. Azriel is much tougher than Uriel. I don't know about the numbers, but this forum warns people about Azriel and not about Uriel. Nightwalker is above black reaver, which feels wrong. Perhaps you need to boost the value of KILL_WALL.

                        Vrocks are above dreads. Maybe this sums it up. A pack of vrocks is a bunch of experience and items waiting for pickup. A pack of dreads is much scarier. Wakefulness, passwall, ranged attacks and speed are all significant differences, more than making up for the difference in hp and melee damage. The vrocks are dangerous if you have to step up and melee them sequentially without resting, but you don't have to so you don't do that. I don't know how you encapsulate this within the parameters of arena combat, but it would be nice if you could try to address it somehow.
                        Thank you - these are all excellent points. JFTR, we assume single resist to all elements (but minimum protection from the variable resists).

                        Ancalagon is way above Glaurung in absolute power, so I need to look at the scaling to see why it goes wrong there. It's not immediately obvious.

                        My comment about arena combat was a little misleading, as there are significant modifications for for FRIENDS and ESCORTS, but I think the dread/vrock problem is for other reasons (cold blooded, passwall, str drain etc.). I also think that hp may be overrated.

                        In case anyone is interested, I have just refactored the power calculation in staging - I've updated the spreadsheet linked in the first post. My aim was to deliver identical results to the previous code, but there are some inadvertent changes to spell_dam (the eye druj being the most notable beneficiary).
                        Last edited by Magnate; March 18, 2011, 00:10.
                        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                        Comment

                        • Timo Pietilä
                          Prophet
                          • Apr 2007
                          • 4096

                          #13
                          Originally posted by Magnate
                          Hi all,

                          If you dislike the concept of giving monsters a "power" rating, I'd be most grateful if you could express your views about that in a different thread.

                          If you are interested in the concept, I have finally committed the work Nullfame did about six months ago to improve the power calculation. The results are in a spreadsheet here.
                          Some comments:

                          Gabriel and Draugluin are way too powerful (Draugluin is a joke, belongs somewhere close to Lokkak, maybe even less than that). Tarrasque is too weak. Aether hound is too powerful (too many weak breaths). Kavlax should be somewhere near Dracolich (gravity breath is a killer), both more powerful than Dracolisk. All vampires are jokes and need to be less powerful. Greater Q:s are dangerous, all of them. Time and gravity hounds are most dangerous hounds. Especially time hounds (With double-fire/cold resistance I can be in LoS greater and normal balrogs and several other greater demons, maybe 10-20 of the lesser types at the same time, do that same with 10 time hounds and you are toast). Saruman is too powerful, any Greater Balrog is more dangerous than it is.

                          Others mentioned some I don't repeat here.

                          Comment

                          • andrewdoull
                            Unangband maintainer
                            • Apr 2007
                            • 872

                            #14
                            Originally posted by Magnate
                            Does UnAngband include non-damage spells in the calculation of highest_threat (e.g. hold, summon, confuse etc.)? If so, are they assigned arbitrary damage-equivalent values (which is the case in V) or are they calculated in some way?
                            It does, but almost always prefers 'real damage' to the damage equivalent values, because these are never as high as most damaging attacks.

                            Andrew
                            The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
                            In UnAngband, the level dives you.
                            ASCII Dreams: http://roguelikedeveloper.blogspot.com
                            Unangband: http://unangband.blogspot.com

                            Comment

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