Gold and no_selling

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PowerDiver
    Prophet
    • Mar 2008
    • 2820

    #31
    BTW - when I did no selling I had the money drop multiplier scale, x2 on DL1, x3 on DL2, and x4 beyond that to encourage people to go down at least a few levels. Are you doing anything like that?

    Comment

    • ewert
      Knight
      • Jul 2009
      • 702

      #32
      This is so deja vu from what I had.

      The "infinite variance" formula, which supposedly retains same "mean" (no idea, maybe it does, since a long-int amount of gold can drop or whatever), is the main culprit. First there is an average defined per dlvl. Then spread. But the average is destroyed (lowered markedly) by the "infinite variance" part, as it drops to what was it 0.4/1.4 approx on half of the drops. It needs to pass three 50% checks to get back to average. So 87.5% of chosen "averages" are instead at or well below average, 50% being only around 28.5% of the chosen supposed "average".

      Sure, in theory you could get a gigaziga amount of gold from one single drop. But that is just plain stupid game mechanics in a game design / game balance sense. The equivalent of winning in lottery.

      I once won a semijackpot. Townperson dropped over 5k with initial no-selling changes that still retained this stupid "infinite variance" snippet. I actually first thought I had made a mess. Then I finally actually READ the "infinite variance" code, it boggled my mind ...

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #33
        Originally posted by ewert
        This is so deja vu from what I had.

        The "infinite variance" formula, which supposedly retains same "mean" (no idea, maybe it does, since a long-int amount of gold can drop or whatever), is the main culprit. First there is an average defined per dlvl. Then spread. But the average is destroyed (lowered markedly) by the "infinite variance" part, as it drops to what was it 0.4/1.4 approx on half of the drops. It needs to pass three 50% checks to get back to average. So 87.5% of chosen "averages" are instead at or well below average, 50% being only around 28.5% of the chosen supposed "average".

        Sure, in theory you could get a gigaziga amount of gold from one single drop. But that is just plain stupid game mechanics in a game design / game balance sense. The equivalent of winning in lottery.

        I once won a semijackpot. Townperson dropped over 5k with initial no-selling changes that still retained this stupid "infinite variance" snippet. I actually first thought I had made a mess. Then I finally actually READ the "infinite variance" code, it boggled my mind ...
        mean == average.

        This is interesting. The infinite variance stuff was put in by Pete Mack, who doesn't usually make elementary mistakes. I think what you're saying is that 87.5% of drops are below average, but the remaining 12.5% are so much higher that they keep the mean unaffected. So indeed it is a bit like wandering around waiting until you "hit the jackpot".

        It was originally put in to make gold drops more interesting, but perhaps it has had the opposite effect.

        On the main agenda: Buzzkill 1, Eddie 0. no_selling can never be "simply a different way to play", as the shopping aspect has such fundamental impacts on the game. Given that every player with selling on has a different threshold to which s/he will prioritise stuff to sell over other uses of slots, it is impossible to balance no_selling with that. So a lot of people will find no_selling a challenge game - nowhere near as tough as ironman, but a lot more limited in the amount of buying they can do. That's why it's an option.

        Now, if DaJ and Eddie both had a x4 mult (from dl3 onwards) of 3.0.9 gold drops, then the only datum I need is: by what factor were 3.0.9's gold drops reduced in 3.1.0? Can anyone tell me this to save me an hour's faffing about with git?
        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

        Comment

        • ewert
          Knight
          • Jul 2009
          • 702

          #34
          Originally posted by Magnate
          mean == average.
          Gah yeah mixed with median in my mind, sorry, as said elsewhere talking mathglish gets funky sometimes for me. =P
          This is interesting. The infinite variance stuff was put in by Pete Mack, who doesn't usually make elementary mistakes. I think what you're saying is that 87.5% of drops are below average, but the remaining 12.5% are so much higher that they keep the mean unaffected. So indeed it is a bit like wandering around waiting until you "hit the jackpot".
          Yep. Of the remaining 12.5% some are so insanely big that a 0.00000000001% chance of gigazillion gold does give same average, but does not make a meaningful gaming environment ...

          It was originally put in to make gold drops more interesting, but perhaps it has had the opposite effect.
          Gaming design and open-ended formulas for numbers are like water and oil ... they don't mix well. =P

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #35
            Originally posted by Magnate
            Now, if DaJ and Eddie both had a x4 mult (from dl3 onwards) of 3.0.9 gold drops, then the only datum I need is: by what factor were 3.0.9's gold drops reduced in 3.1.0? Can anyone tell me this to save me an hour's faffing about with git?
            I don't have hard numbers for you, but I'd guess by a factor of 2.5 or so. Used to be townspeople would drop gold in the 15-30 range; now they drop in the 6-12 range.

            Comment

            • d_m
              Angband Devteam member
              • Aug 2008
              • 1517

              #36
              Just to clarify, there are three things we can talk about with the probability distribution of gold drops:

              range: the range of possible gold drops (currently 1 - MAX_INT)

              mean: the average gold drop (currently considered too low)

              variance or standard deviation: relates to the expected deviation from the mean

              So what I think we're arguing about is "infinite range" not "infinite variance" (I'm not sure what infinite variance would mean). I think the correct solution is actually to alter the mean (and optionally the variance) to get things to a level we want.

              I don't see anything wrong with an algorithm with infinite range as long as it works.

              EDIT: Doing a bit of research, some distributions don't have a variance, so maybe that is what infinite variance means. I haven't looked at the actual method used yet, but I do know of distributions which have infinite range but have a mean and a variance (the exponential distribution, for instance). I am not some kind of statistics expert though so people should feel free to correct me if I'm wrong.
              Last edited by d_m; December 21, 2010, 17:03.
              linux->xterm->screen->pmacs

              Comment

              • ewert
                Knight
                • Jul 2009
                • 702

                #37
                Originally posted by d_m
                Just to clarify, there are three things we can talk about with the probability distribution of gold drops:

                range: the range of possible gold drops (currently 1 - MAX_INT)

                mean: the average gold drop (currently considered too low)

                variance or standard deviation: relates to the expected deviation from the mean

                So what I think we're arguing about is "infinite range" not "infinite variance" (I'm not sure what infinite variance would mean). I think the correct solution is actually to alter the mean (and optionally the variance) to get things to a level we want.

                I don't see anything wrong with an algorithm with infinite range as long as it works.
                Well the "infinite variance" is from the source code description (increase variance to infinity). With my bad mathglish, I can't really explain properly my objections for this sort of formula, in short it is a lopsided "exponentially growing" (each next step is 50% for 1.414 higher amount), and from my vague recollections of medical statistics, you can't use average values to properly depict the meanings of such a curve. The median being << mean or some such thing, and in this kind of non-gauss-curve-type graph/formula, the median is more proper to look at than mean.

                Anyways, this makes the formula extremely annoying to balance properly with mental work, leading to mostly just trial and error (too big, too small, change, blabla). This is due to having to calculate probability spread of what 1.414^x/0.414 results in for an average game (that one in a billion chance of a gigazillion fudges the average badly). Make it a normal gaussian curve (which I understand the avg+spread values will give, haven't looked at the underlying code but that is what I assume), so you can design it by mean values to what you want properly ...

                Apologies for my sucky mathglish.

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #38
                  Originally posted by ewert
                  Well the "infinite variance" is from the source code description (increase variance to infinity). With my bad mathglish, I can't really explain properly my objections for this sort of formula, in short it is a lopsided "exponentially growing" (each next step is 50% for 1.414 higher amount), and from my vague recollections of medical statistics, you can't use average values to properly depict the meanings of such a curve. The median being << mean or some such thing, and in this kind of non-gauss-curve-type graph/formula, the median is more proper to look at than mean.

                  Anyways, this makes the formula extremely annoying to balance properly with mental work, leading to mostly just trial and error (too big, too small, change, blabla). This is due to having to calculate probability spread of what 1.414^x/0.414 results in for an average game (that one in a billion chance of a gigazillion fudges the average badly). Make it a normal gaussian curve (which I understand the avg+spread values will give, haven't looked at the underlying code but that is what I assume), so you can design it by mean values to what you want properly ...

                  Apologies for my sucky mathglish.
                  Interestingly I find myself in agreement with ewert and not with d_m on this issue. I think infinite range is actually a *bad* thing: one exceptionally lucky early drop and the game will be quite severely unbalanced - though I guess this is no different from Maggot dropping a Holy Avenger. Even without infinite range, I think ewert is right that the median drop is a better measure of the game experience than the mean, since games are generally too short for the mean to be reliable.

                  So I think we have two choices: stick with infinite range and increase the median (which requires also increasing the mean, if my rusty maths is correct) ... or reject infinite range and make the true variance much less so that the median and mean converge.
                  "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

                    #39
                    How about just rolling Nd6, where N is determined by the treasure type? Copper = 5, adamantite = 200, everything else is in-between. Nice and simple, known distribution, easy to balance. I'm not really seeing the value-add in making this particular formula super-complicated.

                    Comment

                    • Magnate
                      Angband Devteam member
                      • May 2007
                      • 5110

                      #40
                      Originally posted by Derakon
                      How about just rolling Nd6, where N is determined by the treasure type? Copper = 5, adamantite = 200, everything else is in-between. Nice and simple, known distribution, easy to balance. I'm not really seeing the value-add in making this particular formula super-complicated.
                      I have to say I find that quite an attractive idea - but d_m has taken up the baton on this one so I'll defer to him.
                      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                      Comment

                      • Colbey
                        Apprentice
                        • Feb 2008
                        • 51

                        #41
                        I think part of the problem is unlimited range plus skew (http://en.wikipedia.org/wiki/Skewness). The problem (anecdotally, I haven't looked at the code) is that the mean and variance are both fine, but that the data has such a positive skew that over a relatively small number of samples you're very likely to be under the mean. It only averages out if you play long enough that you're quite likely to hit one or more "lotteries". Having a median below the mean is a typical indication of skew.

                        Similarly, the average/mean return on actual real-life lotteries can be as high as 60%, but you're very unlikely to reach the mean or even close to it, unless you play thousands of times (or, depending on the lottery, millions).

                        Comment

                        • takkaria
                          Veteran
                          • Apr 2007
                          • 1951

                          #42
                          Now, if DaJ and Eddie both had a x4 mult (from dl3 onwards) of 3.0.9 gold drops, then the only datum I need is: by what factor were 3.0.9's gold drops reduced in 3.1.0? Can anyone tell me this to save me an hour's faffing about with git?
                          http://rephial.org/research/avg_gold_drop.pdf should tell you a lot of what you need to know
                          takkaria whispers something about options. -more-

                          Comment

                          • Magnate
                            Angband Devteam member
                            • May 2007
                            • 5110

                            #43
                            Originally posted by takkaria
                            http://rephial.org/research/avg_gold_drop.pdf should tell you a lot of what you need to know
                            Thank you. What that tells me is that for the first FORTY dungeon levels the drops have hardly changed at all, which is completely contrary to what people are saying. Deeper in the dungeon the new drops are indeed less - but all the discussion about no_selling has been in the first forty levels.

                            So I am keen to see how people feel about no_selling with the new x5 multiplier: according to the graph, this should be *more* generous in the early game than either DaJ's or Eddie's implementations. (And before Eddie jumps down my throat, yes I know armour and weapons are more expensive than in 3.0.9, but consumables aren't, and the original criticism was about when people with no_selling on can buy ?WoR, wands etc.)
                            "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

                              #44
                              How was that data collected? It'd also be good to see a zoom-in on the first 30 levels or so; the Y scale's gotten flattened because of the high upper end. I know for a fact that I never saw single-digit treasure drops in the old days (and I'm pretty certain that getting less than 20 gold from a drop was a rarity), and now I see them all the time early on.

                              Comment

                              • takkaria
                                Veteran
                                • Apr 2007
                                • 1951

                                #45
                                Originally posted by Derakon
                                How about just rolling Nd6, where N is determined by the treasure type? Copper = 5, adamantite = 200, everything else is in-between. Nice and simple, known distribution, easy to balance. I'm not really seeing the value-add in making this particular formula super-complicated.
                                You have to determine the treasure type first in order to make that work. Current approach works out the value and assigns the money type in accordance with that. Without the 'infinite variance' code, the spread is already pretty simple and easy to understand: average is 2*dlev + 20, spread is dlev + 10.
                                takkaria whispers something about options. -more-

                                Comment

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