[DGD] player economies: npc clients
Noah Gibbs
noah_gibbs at yahoo.com
Mon Jul 9 18:33:17 CEST 2012
> I guess what I'm having trouble understanding here is why having
> consumers (NPC or otherwise) effectively set prices based on their
> personal budgets qualifies as an actual problem.
I said that you had to worry about the difficulties in "just" implementing perfect economists.
You said you hadn't even considered NPC *vendors*, only NPC consumers, and so you didn't have to set consumer maximum price (derived from consumer utility).
I said you were already setting price, and gave this (and the semi-elastic demand examples) as ways in which consumers always set price and you can't actually get around that. You can do it stupidly, but you can't not do it.
Yes?
You are claiming that demand is 100% inelastic and set by humans, so you never have to be intelligent about setting consumer utility -- you believe consumer utility is effectively infinite here. I am giving a number of reasons why, with intelligent agents in place of the NPCs, you would be wrong.
You could implement NPCs that way, but then they won't behave like intelligent agents (i.e. humans) in interesting situations (e.g. cartels, shortages) which players will have a very, very strong impetus to create because you are handing them a highly-exploitable situation.
________________________________
From: Shentino <shentino at gmail.com>
To: All about DGD and Hydra <dgd at dworkin.nl>
Sent: Monday, July 9, 2012 9:09 AM
Subject: Re: [DGD] player economies: npc clients
On Mon, Jul 9, 2012 at 8:40 AM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>> This is an intentional side effect. If someone is trying to gouge the
>> market by charging through the nose, they *should* lose business to
>> cheaper outlets.
>
> You misunderstand me. I am saying you cannot stop consumers from setting price, therefore only handling vendors doesn't excuse you from having to reason about economic utility. Your customers are *already* setting price.
I guess what I'm having trouble understanding here is why having
consumers (NPC or otherwise) effectively set prices based on their
personal budgets qualifies as an actual problem.
>> Meanwhile, the broke starving NPCs that can't stay fed
>> could trigger other logic that causes the NPCs to get another job...or
>> go on strike for a raise.
>>
>> This is where creativity comes in, yes.
>
> Yes. The creativity to come up with these scenarios and then the creativity to use them at the right times and in the right ways is exactly where phrases like "Strong AI" and "Turing Test" come in. Yes, those require creativity, which the computer cannot usefully supply.
>
> You can come up with checks to kinda-sorta handle this in some cases, but reasoning on this order is basically too hard for human programmers to figure out at this point. We have no algorithms that do this correctly, which is why Strong AI is currently effectively impossible.
I kinda concede this (for now) and assume that if anything unusual
happens, then a flag goes up requesting manual intervention.
>> Then again, players could always gang up to form a cartel...or one
>> player could use his brawn to muscle everyone else out of the
>> market...
>
> Yes. These are the kinds of things I mean when I say "exploitable". The cartel in particular is pitting humans (full intelligence) against your NPCs (not Turing-Testable, no Strong AI) in a way the computer simply cannot win. This is where your inability to implement Strong AI is going to sabotage your system.
>
> If you feel this isn't sabotage and forming a cartel is simply effective gameplay, you are now running much less of an RPG and much less of a "form a cartel and exploit the stupid NPCs" game. Plan for that fact.
>
> Incidentally, here are various choices that prevent real-world food vendors from enjoying 100% inelastic demand, and thus prevent them from ever forming a 100% effective cartel:
>
> - farming
> - foraging
> - theft
>
> - fasting/starvation
> - leave for somewhere with more/better food
> - switch to cheaper/worse food, if available (example: orcs eat vegetables or organic trash)
> - preparing existing food in a more nutritious way (example: cook corn or carrots to make more sugar bioavailable)
> - preparing semi-food to be more human-usable (animal feed, animal connective tissue, other animal matter)
>
> - eating various non-food (certain kinds of Haitian clay, rats and other vermin, bugs)
>
> The list is far from exhaustive.
>
> Now with that and your examples above (go on strike, etc) you could model a wide range of behaviors... Which will not be intelligently and effectively used, because doing that is a Strong-AI-level problem. You could instead make the NPCs use them sometimes, in predictable but not terribly effective ways, and then the NPCs become objects of gameplay rather than effective agents acting intelligently.
>
> The computer doesn't really do "effective agents acting intelligently." By definition, that's where Strong AI comes in. We can fake it in very constrained circumstances (e.g. Chess), but those circumstances require unrealistically rigid rules. Otherwise we're not smart enough to (program a computer to) solve them.
>
> You can instead make your NPCs "predictable agents acting predictably." The computer *does* do that perfectly acceptably. It doesn't make for realism, but it makes for much better gameplay than if they were unpredictable. That is, if you're planning on making the players exploiting the NPCs be the primary game, do it that way.
>
>
> ________________________________
> From: Shentino <shentino at gmail.com>
> To: All about DGD and Hydra <dgd at dworkin.nl>
> Sent: Sunday, July 8, 2012 10:05 AM
> Subject: Re: [DGD] player economies: npc clients
>
> On Sun, Jul 8, 2012 at 9:45 AM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>> Also, you can't stop NPC customers from setting prices. You can only decide how foolish they are at it.
>>
>> For instance, if no shop within range will sell what an NPC wants at a price he can afford, he won't buy because he doesn't have the money. Now there is an upper limit on price, set by the consumer instead of the vendor.
>
> This is an intentional side effect. If someone is trying to gouge the
> market by charging through the nose, they *should* lose business to
> cheaper outlets.
>
> If more affluent players/NPCs can still afford things, then the loss
> of business from the cheapskate NPCs may or may not cause prices to go
> back down. Meanwhile, the broke starving NPCs that can't stay fed
> could trigger other logic that causes the NPCs to get another job...or
> go on strike for a raise.
>
> This is where creativity comes in, yes.
>
> But prices being too high for the NPCs to afford to buy stuff is
> hardly an accident or oversight in this case. Someone hiring an army
> that needs to go shopping for food *should* be attentive to how much
> their army gets paid. Or, if it's a game function, then that job
> falls on a wizard.
>
>> If there is ever any circumstance where an NPC won't buy but *could* have afforded it, boom, you also have a consumer setting price.
>
>> "I'll only make one side be NPCs" makes the problem easier, but will still be very unrealistic. Your NPCs are still trying to pass the Turing Test here in interacting with the players, and the players will be looking to exploit them with unrealistic circumstances.
>>
>> Both the most unrealistic and the most exploitable part of what you're currently describing is that a given NPC will never simply refuse to buy if they have the money.
>
> Honestly, I figured that having the NPC shop around and buy the
> cheapest would let the pressures of competition prevent exploits. Why
> would bob try to charge through the nose for venison jerky if alice
> could simply undercut him by charging a farthing less per pound?
>
> Then again, players could always gang up to form a cartel...or one
> player could use his brawn to muscle everyone else out of the
> market...
>
> Which would actually be very Eve-like and thus acceptable (though
> there may be IC consequences)
>
> Cartels/monopolies (if that is what you are referring to) would be
> considered legal gameplay (at least according to OOC rules). Is this
> what you were referring to as an exploit?
>
> Naturally of course, using multiple characters or sharing your account
> would be an OOC rules violation that would incur the wrath of an
> admin.
>
>> However, to determine their maximum willingness to pay, you must be willing to have them set price, which is the really hard part.
>
> I'm curious now, what's more involved than simply shopping around for
> whoever sells the cheapest?
>
> There's also a concept called elasticity of demand. For essential
> goods like food, there's a good chance than an NPC who fails to
> acquire the good he will die.
>
>> "How much is this worth to you, maximum?" is definitely a hard-AI-type problem.
>
> It would probably depend on how badly the NPC needed it. If the only
> choices are pay or starve, then it will probably be worth up to
> whatever makes the NPC broke.
>
> Weapons though are probably less essential.
>
>>
>> ________________________________
>> From: Shentino <shentino at gmail.com>
>> To: All about DGD and Hydra <dgd at dworkin.nl>
>> Sent: Sunday, July 8, 2012 9:17 AM
>> Subject: Re: [DGD] player economies: npc clients
>>
>> On Sun, Jul 8, 2012 at 9:13 AM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>>> You're going to wind up needing more preferences than "orcs eat meat, elves eat veggies" if you want emergent complexity beyond "stock up on cheap kebabs and sell them at one gold more than cost for an additional X gold per day from orc purchases".
>>>
>>> That doesn't kill your system, it just makes it boring.
>>>
>>> But yes, it's basically theoretically sound. Any problems I point out can be coded around with enough work. It may be a *lot* of work, depending on the effect you want.
>>>
>>> The only thing that actually requires strong AI (for which we have no known theoretical basis, and for which we have no effective algorithms) is if you want NPCs, in the absence of player input, to set prices intelligently in the face of changing circumstances.
>>
>> Hmm, never considered NPC vendors here, only NPC customers.
>>
>> At any rate if I wanted to include NPCs on both sides of a market I'd
>> probably have them react according to the laws of supply and demand.
>> Basically, make the NPCs perfect economists.
>>
>>> That is, if you want your orcs to see that times are troubled economically and stock up on food (or pay more for food), it won't work. And by "won't work", I specifically mean "won't pass the Turing Test." The NPCs can pay what players set (players pass Turing Test, AIs follow) or they can guess at sub-Turing quality (sometimes overpay hugely, sometimes think they're being cheated when they're not). Your orcs can try to do that, but the results will be rigid and stupid, just like a chatbot can function but won't fool a human.
>>>
>>>
>>> ________________________________
>>> From: Shentino <shentino at gmail.com>
>>> To: All about DGD and Hydra <dgd at dworkin.nl>
>>> Sent: Saturday, July 7, 2012 9:12 PM
>>> Subject: Re: [DGD] player economies: npc clients
>>>
>>> Can you think of anything else that could go wrong that I haven't thought of?
>>>
>>> So far it appears to be theoretically sound but I want to be thorough.
>>>
>>> On Sat, Jul 7, 2012 at 8:56 PM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>>>> Yeah, these things are all fixable. "BGP with roads instead of wires" is a great image, but please don't assume it's trivial to do :-)
>>>>
>>>>
>>>> ________________________________
>>>> From: Shentino <shentino at gmail.com>
>>>> To: All about DGD and Hydra <dgd at dworkin.nl>
>>>> Sent: Saturday, July 7, 2012 5:47 PM
>>>> Subject: Re: [DGD] player economies: npc clients
>>>>
>>>> On Sat, Jul 7, 2012 at 5:06 PM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>>>>> Some ways it can go wrong, off the top of my head:
>>>>>
>>>>> - the buyers can look in a wide area, resulting in everybody winding up in the same place
>>>>
>>>> I'd probably restrict geographic seeking to consider transit
>>>> time/energy to get there as part of the cost of purchase. But thank
>>>> you for reminding me as I had forgotten about this.
>>>>
>>>>> - the buyers can spend enough money that it's not useful for players to stock a variety of goods -- just most efficient "calories" since that's how buyers react
>>>>
>>>> I'm assuming here of course that carnivorous orcs and vegetarian elves
>>>> (for example) will have different diets.
>>>>
>>>> Races can be very picky...
>>>>
>>>>> - the buyers can look in a very narrow area so players want to jack up prices and herd them into specific areas to fleece them
>>>>> - "seek store" could require a lot of CPU time or other resources, hitting your server
>>>> hard at meal times
>>>>
>>>> My guess here is that members of the same group can explore and build
>>>> a cache of routing information that is simply looked up on demand as
>>>> needed. Think BGP or OSPF with roads instead of wires.
>>>>
>>>>> - "seek store" could require very little CPU time or resources, meaning buyers get stuck and starve to death frequently
>>>>
>>>> Perhaps, but I'm guessing that changes in geography or routing
>>>> information are expensive to actually cause on account of having to
>>>> engage in costly and time consuming building or road construction.
>>>>
>>>>> ________________________________
>>>>> From: Shentino <shentino at gmail.com>
>>>>> To: All about DGD and Hydra <dgd at dworkin.nl>
>>>>> Sent: Saturday, July 7, 2012 12:12 PM
>>>>> Subject: Re: [DGD] player economies: npc clients
>>>>>
>>>>> On Fri, Jul 6, 2012 at 2:52 PM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
>>>>>> It's a neat idea, but hard to get right. Basically you could do this, but expect to set aside a fair bit of time to make it happen.
>>>>>
>>>>> Besides implementation effort, what could go wrong?
>>>>>
>>>>> I'd pretty much have them "seek store" whenever their stomachs start
>>>>> rumbling or whatever, and they'd use a map of the town for routing
>>>>> information to actually get to one, and then
>>>>>
>>>>> Throw in a bit of casual window shopping and soon the soldier's HQ can
>>>>> maintain a price list of what goods can be acquired the most cheaply,
>>>>> and boom, capitalism rewards the efficient.
>>>>>
>>>>> I'm probably oversimplifying but I would like to know some of the ways
>>>>> this scheme could go wrong.
>>>>>
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>> From: Shentino <shentino at gmail.com>
>>>>>> To: All about Dworkin's Game Driver <dgd at dworkin.nl>
>>>>>> Sent: Friday, July 6, 2012 2:24 PM
>>>>>> Subject: [DGD] player economies: npc clients
>>>>>>
>>>>>> I was just thinking if it would be feasible for NPCs to be
>>>>>> participants in the market instead of just springing out of nowhere.
>>>>>>
>>>>>> Suppose that we have an orcish warder.
>>>>>>
>>>>>> Instead of having him magically be not hungry, what if he got to go
>>>>>> around town and buy his meat rations from the cheapest store he could
>>>>>> find, one of which might well be player run?
>>>>>>
>>>>>> I just thought of this and figured that NPC demand may help bootstrap
>>>>>> a player driven economy. Especially in the early days when you have a
>>>>>> barren wasteland without many players.
>>>>>>
>>>>>> And of course, the NPCs would shop around for the best deals.
>>>>>> ___________________________________________
>>>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>>>>> ___________________________________________
>>>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>>>> ___________________________________________
>>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>>>> ___________________________________________
>>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>>> ___________________________________________
>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>>> ___________________________________________
>>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>> ___________________________________________
>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>>> ___________________________________________
>>> https://mail.dworkin.nl/mailman/listinfo/dgd
>> ___________________________________________
>> https://mail.dworkin.nl/mailman/listinfo/dgd
>> ___________________________________________
>> https://mail.dworkin.nl/mailman/listinfo/dgd
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
___________________________________________
https://mail.dworkin.nl/mailman/listinfo/dgd
More information about the DGD
mailing list