Relative worth of stuff

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • RogerN
    Swordsman
    • Jul 2008
    • 308

    #16
    I fully agree that pricing is a non-issue and that refining the system further is not worth the effort.

    OTOH, it is fun speculating about the possibility of a "perfect" pricing system (even though one probably doesn't exist) and how it would work. That's probably why the topic generates so much discussion; not because players think the current system is detrimental to gameplay, but because brainstorming new ideas is enjoyable in itself.

    And as long as we're all making up stuff that will never be implemented, here is my (almost completely impractical) approach to generating a near-perfect pricing scheme:

    * Prior to the start of the testing period, randomly generate 1000 items (preferably more if you can get enough testers) to use as a baseline for gathering purchasing habits. These items will be saved to a file.
    * Recruit LOTS of players to play test. The total number of games to be played should be on the order of 10x the number of baseline items, maybe more (ie 10,000 total games played if 1000 baseline items are used).
    * At each visit to the town, stores are *ONLY* stocked with items chosen randomly from the list of baseline items.
    * Each item is priced according to the current scheme, multiplied by a random factor between 0.1 and 10. The goal is to have nearly-random prices which are still within reason. Nobody's going to pay 1,000,000 AU for a sling, after all.
    * Every time a player buys an item, record the price that was paid.
    * At the end of the testing period, the "perfect" price of each baseline item would be set at 90th percentile of the prices paid for that particular item across all games (you want something close to the highest price paid, but ignoring outliers).
    * Statistical analysis could then be used to conclude rough correlations between item abilities and value. Results of the analysis would be used to create the final pricing formula.
    * OR (and I like this idea even better), ignore the previous step completely, and use the "perfect prices" as training data for a neural network. Information about an item (item type, abilities, weight, etc...) would be fed into the neural network as inputs, and the output would be an appropriate price for the item. All standard warnings apply regarding over-training the network.
    Last edited by RogerN; July 28, 2010, 14:07.

    Comment

    • miyazaki
      Adept
      • Jan 2009
      • 227

      #17
      Does the pricing code take into account the number of resists/bonuses on an item?

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #18
        If I recall correctly, there's a knock-on effect where each power added to an item increases its cost more based on how many powers are already on the item. This isn't based on reading the code; just on Magnate's descriptions.

        Comment

        • Magnate
          Angband Devteam member
          • May 2007
          • 5110

          #19
          Originally posted by Derakon
          If I recall correctly, there's a knock-on effect where each power added to an item increases its cost more based on how many powers are already on the item. This isn't based on reading the code; just on Magnate's descriptions.
          There are power boosts (i.e. price boosts) for particular combinations: multiple stats (including stealth and digging but not speed), multiple sustains, multiple low resists, multiple high resists, multiple immunities (max of 3), multiple misc abilities (SI, FA, SDig etc.). In the cases of sustains and low resists, a full set gets a further boost. In very recent nightlies there is also a term for multiple slays/brands, because the original algorithm actually underrates them (because it discounts monsters already affected by previous slays).

          To Timo and others: the reason the power/value algorithm is important is not for pricing - I fully agree with you that prices are not a big deal (and I would support no selling if takk did it, but I'm not brave enough to implement it myself). It's important for the randart generator - it's the key to generating decent, useful, interesting but not overpowered randarts.
          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #20
            Originally posted by Derakon
            Awesome. So when the weapon shop happens to generate a Weapon of Gondolin with ESP, I can get it on the cheap.

            IMO, what we should do is simply tweak the prices and the availability of cash until we can look at a few standout items (caps with telepathy, holy avengers, gondolins, boots of speed) and say "Yes, that costs about the right amount." That's good enough.

            And Tiburon, I don't think Magnate's missing your point so much as saying "Yes, I've already spent a lot of time thinking about this." Just because the current iteration is partially flawed doesn't mean he hasn't taken into consideration a lot of things while making that iteration.
            Thank you both (Derakon and Antoine).

            Tiburon, a lot of what you say is completely valid: I've never claimed that the damage-per-blow approach is unimprovable, nor that the current implementation of it is optimal. Even before my code was committed to 3.1.1 way back in r1248 I already intended to do exactly what you propose (see tickets #1003 and 1005). I've already acknowledged the slot-dependency of value, and I'm happy to agree with your assertion that values of different types of attribute need to be tracked separately (damage output, resists, AC, speed, etc. etc.).

            So really, I honestly don't think I'm missing your point. I was just a bit peeved about the way you made it.
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • Magnate
              Angband Devteam member
              • May 2007
              • 5110

              #21
              Originally posted by Atarlost
              There's no reason not to price stuff based on what dungeon level would have the highest price. Money shouldn't be an issue to deep characters anyways.

              This would require using some different values than the randart generator though.
              Rather than vary power (and therefore price) by dlev I would prefer to use the optimum value of an ability, which is essentially dependent on how obtainable it is as well as how useful it is. This is why low resists are rated lower than high resists, even though they're more important for staying alive. Ultimately I plan to parse object.txt and ego-item.txt to provide a more robust basis for the rarity aspect of the value, just as monster.txt provides the basis for the utility.
              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

              Comment

              • Tiburon Silverflame
                Swordsman
                • Feb 2010
                • 405

                #22
                Derakon: a Gondolin weapon with ESP won't be cheap; the ESP just won't be adding on a massive amount. ESP is almost certainly the most expensive of the miscellaneous-class abilities (putting speed into a category by itself)...in part because it's fairly hard to find, and in part because it's sooo bloody useful.

                Also, it might be more accurate to make a more-refined average damage assessment by using weighting again. We've got, what, Evil, Undead, Demon, Dragon, Giant, Troll, Orc, Animal, and NoneOfTheAbove. On a scale of 1 to 10 of which of these I look at, to determine which weapon I want, I'd say:

                Evil 8
                Undead 9
                Demon 8
                Dragon 10
                Giant 7, if I have to give 1 number...but people do sensibly argue against using melee against the really worrisome giants, so this might be more like a 6 for melee and a 7 for missiles.
                Animal 5 or 6 (hounds come in packs, which ups things for me)
                Troll 4
                Orc 3

                Brands relative values...
                Fire 4
                Cold 4
                Acid 7
                Elec 5

                NoneOfTheAbove 6-7? This depends in large measure on how many slays/brands there are.

                Sooo...get average damage against evil, dragon, troll, giant, ..... Make a weighted sum, and that's the per-blow damage. For extra blows, add 20% to that average, per extra blow.

                This approach makes more sense to me, because it doesn't care about monster count, it tries to capture the notion of which brands we most care about, based on the monster(s) that pose serious threats, within a group.

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #23
                  Derakon - when you explain that that's how the ratings of brands and slays already works, can you point out that I'm not claiming that the monster rating code is perfect either? Thanks.
                  "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

                    #24
                    Heh, righto. Gauging power of anything is a tricky business, and basing the power ratings of one thing on the power ratings of another just adds complexity.

                    Comment

                    • Timo Pietilä
                      Prophet
                      • Apr 2007
                      • 4096

                      #25
                      Originally posted by Tiburon Silverflame
                      Also, it might be more accurate to make a more-refined average damage assessment by using weighting again. We've got, what, Evil, Undead, Demon, Dragon, Giant, Troll, Orc, Animal, and NoneOfTheAbove. On a scale of 1 to 10 of which of these I look at, to determine which weapon I want, I'd say:

                      Evil 8
                      Undead 9
                      Demon 8
                      Dragon 10
                      Giant 7, if I have to give 1 number...but people do sensibly argue against using melee against the really worrisome giants, so this might be more like a 6 for melee and a 7 for missiles.
                      Animal 5 or 6 (hounds come in packs, which ups things for me)
                      .
                      Surprisingly many creatures are "animals". Hounds, canines, felines, hydras, birds, ants, insects, spiders, Dracolisks, Basilisks etc. I got 186 matches from monster.txt with "ANIMAL". That's nearly one third of the lot. I would count that above giants. Giants are too easy to kill with brands and slay evil-weapons anyway.

                      Also evil makes it effective against way larger group of things than dragon, undead or demon: it basically affects all of those and then some, so I would count that above all of those even that it is only x2 slay. Kill-slays are a different thing.

                      Comment

                      • buzzkill
                        Prophet
                        • May 2008
                        • 2939

                        #26
                        @ RogerN. What he said.

                        The price of an IS what you are willing to pay for it. You can come up with as many pricing schemes as you like based on what the item is and what it is comprised of, but you'll never get it right (no disrespect intended). Every randart game, generate a log of items bought and sold and their properties. Have players submit this log and analyze it. When enough information is amassed, produce and patch a set of preliminary prices into Angband and repeat...

                        With the community we have here at oook, it shouldn't take long to amass a large amount of data. Also useful for non-randart pricing.
                        www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                        My banding life on Buzzkill's ladder.

                        Comment

                        • fizzix
                          Prophet
                          • Aug 2009
                          • 3025

                          #27
                          Originally posted by Timo Pietilä
                          Surprisingly many creatures are "animals". Hounds, canines, felines, hydras, birds, ants, insects, spiders, Dracolisks, Basilisks etc. I got 186 matches from monster.txt with "ANIMAL". That's nearly one third of the lot. I would count that above giants. Giants are too easy to kill with brands and slay evil-weapons anyway.

                          Also evil makes it effective against way larger group of things than dragon, undead or demon: it basically affects all of those and then some, so I would count that above all of those even that it is only x2 slay. Kill-slays are a different thing.
                          The problem is while a lot of animals exist they are generally:

                          1. wimpy (most f C B S)
                          2. 'avoid' monsters (no drops, M is biggest culprit here)
                          3. All dangerous uniques have a x3 slay exploitability (huan, carcharoth, tarrasque, lernean hydra etc.)

                          so even though you run into a lot of animals, you either mow them down or don't even fight them. It really is the most useless slay in my opinion. It used to be somewhat reasonable for dealing with hound territory, but with nerfed hounds it's not necessary anymore. Personally I find slay troll and slay giant to be the most useless for melee. Although, slay giant ammo is good for the titans. Slay orc has a small window where it is very powerful in the early game.

                          Comment

                          • Tiburon Silverflame
                            Swordsman
                            • Feb 2010
                            • 405

                            #28
                            Yah, as fizzix said, there are a lot of animals, but you don't deal with them in that way, or you don't worry about it. To be sure, this is also true with undead; there's a boatload of undead you prefer to kill from range, if you do anything with them. The relative ratings are definitely tricky, and it's certain that there is no inarguably correct set. I think we can get a reasonable set, tho.

                            One thing this points out, tho, is that the value of a slay/brand on ammunition or a launcher, may NOT be the same as the value on a melee weapon. Slay Animal arrows are *very* nice, because they take out Q's. Anything we consider worth banishing, rates high on the threat index. And with the quiver code, an important aspect to the value for missiles is that they have built-in 'swappability' at any time, without spending any action or losing anything important. So, in this case, "average value against all monsters" is less important than "maximum value against specific monsters" for slays. For brands, it's probably going to be related to the frequency the brand would apply.

                            Comment

                            • Magnate
                              Angband Devteam member
                              • May 2007
                              • 5110

                              #29
                              In case anyone is interested, here are the latest set of slay multipliers. They're a little out of date, so the exact values might have changed but the ranking won't. They're calculated by working out the damage multiplier against a particular monster multiplied by that monster's power, summed for all monsters and divided by the total power of all monsters. So x3 against tough monsters counts for more than x3 against wimpy monsters. (Obviously the monster rating algorithm isn't perfect either, as I said above.)
                              Code:
                              SLAY_TROLL	1.038
                              SLAY_ORC	1.075
                              SLAY_GIANT	1.127
                              SLAY_DEMON	1.149
                              SLAY_ANIMAL	1.171
                              SLAY_DRAGON	1.240
                              SLAY_UNDEAD	1.276
                              KILL_DEMON	1.299
                              KILL_DRAGON	1.481
                              BRAND_POIS	1.513
                              KILL_UNDEAD	1.552
                              SLAY_EVIL	1.692
                              BRAND_COLD	1.767
                              BRAND_FIRE	1.816
                              BRAND_ELEC	2.126
                              BRAND_ACID	2.186
                              WESTERNESSE	1.240
                              GONDOLIN	1.504
                              HOLY	1.911
                              As has been pointed out, SLAY_ANIMAL isn't worth much, because most animals are weak. SLAY_EVIL, on the other hand, is quite valuable.

                              I like the idea of rating slays differently on launchers - grateful for more views on how that should be differentiated.
                              "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

                                #30
                                Doesn't the cost/power multiplier for slays depend on the size of the dice of the weapon in question? But missile slays multiply your entire damage, not your base damage. So I'd say for slays on ammo, assume a x4 or x5 multiplier and some reasonable + to damage and base the power calculation on that. For slays on launchers, assume a reasonable ammo being used and do likewise.

                                Or were you asking a different question?

                                Comment

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