9.4. Money

| Chapter 9: Props: Food, Clothing, Money, Toys, Books, Electronics |

| 9.4. Money

Money could be anything which the two people in a bargain both agree is valuable. Here, the player and an ogre agree on a copper coin as money:

> The player carries a copper coin. The ogre carries a rock cake. The cake is edible.

> Instead of giving the coin to the ogre:
> now the ogre carries the coin;
> now the player carries the cake;
> say "The ogre grunts and hands you a rock cake."

Now Inform does provide an action, "buying", and a command for it, BUY, but they ordinarily respond simply "Nothing is on sale." This is no longer true, so we should make BUY CAKE work. The difficulty here is that a command like BUY CAKE does not specify what should be handed over in exchange. Here we just check that the player has the coin, but in principle we could check for any of a range of monetary tokens - coins, notes, cheque book, debit card, and so on.

> Instead of buying the cake:
> if the player has the coin, try giving the coin to the ogre;
> otherwise say "You have no money."

In more advanced economies, where shopping replaces barter, the seller will stock a wide range of differently priced goods. For a tabulated catalogue of wares, see Introduction to Juggling: to allow the player to negotiate prices, see Money for Nothing. In both of those examples, the player's current financial worth is simulated only as a current total amount of money carried - say, $2.50. This is typical, because in most situations what matters is how much money is in the pocket, not how it is made up. Money behaves more like a liquid than a set of items: hence terms like "liquidity", "cash flow" or Frozen Assets - the name of the simplest example demonstrating this. If we really need a comprehensive simulation down to pieces of currency - where it makes a difference carrying four quarters rather than a dollar bill, because the quarters can be fed into a vending machine - see Nickel and Dimed.

Fabrication takes the problem in a different direction, making calculations about the cost of a new garment based on the price of the pattern, the quantity of fabric required, and the value of the fabric type chosen -- showing off what we can do with unit multiplication in Inform.

Widget Enterprises explores the challenge of pricing widgets for maximum profit, given certain necessary costs and customers with varying willingness to pay.

See Actions on Multiple Objects for an implementation of giving that allows the player to offer multiple objects at once, where their combined value determines whether they are accepted

253
| Example Frozen Assets A treatment of money which keeps track of how much the player has on him, and a BUY command which lets him go shopping. |
WI

272
| Example Introduction to Juggling Assortment of equipment defined with price and description, in a table. |
WI

> Suppose we have a whole catalog-full of equipment that the player might want to purchase and use. We'll start by defining our purchasing rules: "Introduction to Juggling" We allow things to have prices, and the player's price to indicate how much money the player has: Section 1 - Mail-ordering defined Price is a kind of value. $100.99 specifies a price. The player has a price. The price of the player is $60.00. Because we're allowing the player to order things that he can't currently see, we need to borrow a special kind of grammar from the Understanding chapter. All our orderable items in this example are toys, so "any toy" means any object of the toy kind, whether or not it is in view at the moment: Understand "buy [any toy]" as ordering. Understand the command "order" as something new. Understand the command "order" as "buy". Ordering is an action applying to one visible thing. Check ordering: if the cost of the noun is greater than the price of the player, say "You only have [price of the player], while [the noun] would cost [cost of the noun]." instead. Carry out ordering: move the noun to the player; decrease the price of the player by the cost of the noun. Report ordering: say "You order [a noun], which is delivered instantly." We should also handle the situation where the player orders another of something he has already bought and which is right in front of him: Instead of buying something: say "You already have [a noun]." So much for the general rules for this scenario. Now we move on to particulars: the actual items the player is allowed to order. Each item will have a description, a price, and a difficulty representing how skilled the player must be in order to make use of that item. Since we are going to use price and difficulty in the table that defines our juggling equipment, we need to mention these kinds of value before the line that says how toys are defined. Section 2 - The Scenario Difficulty is a kind of value. The difficulties are easy, moderate, hard. The player has a difficulty. The difficulty of the player is easy. The plural of toy is toys. A toy is a kind of thing. Some toys are defined by the Table of Juggling Equipment. Table of Juggling Equipment
> toy | cost | restriction | description | difficulty | outcome
> an economy bounce ball set | $10.00 | "comes in set of three" | "A fairly ordinary rubber ball, solid color." | moderate | "You create of the balls a cascade of moving color."
> an acrylic contact ball | $14.00 | "should be bought with ball polish" | "A large clear ball, not for throwing but for using in various hand tricks." | hard | "You rotate the ball between your fingers and pass it over the backs of your hands."
> a UV-reactive contact ball | $55.00 | "appears to glow in dark rooms" | "Similar to the ordinary acrylic contact ball, but UV-reactive." | hard | "The ball glows as it passes between your fingers and over the backs of your hands, rolls up to your wrist, snaps through the air-- all apparently of its own accord."
> a ball polish set | $10.00 | "useful only with acrylic contact balls" | "Three bottles of polish and a rag for keeping acrylic contact balls scratch-free." | hard | "You juggle the polish bottles with difficulty, since they are full of sloshing liquid."
> a teaching beanbag set | $8.00 | "set of three" | "Soft, easily-juggled bag." | easy | "You juggle the beanbags with basic competence."
> a stage ball set | $13.50 | "comes in set of three" | "Not much different in appearance from the economy bounce ball, but larger so as to be visible from a stage." | moderate | "You create of the balls a cascade of moving color, visible from quite a distance."
> a fireball set | $33.00 | "will not be sold to minors" | "A ball has wicking and a fuel-source inside so that it will burn while being juggled." | hard | "You juggle the fireballs rapidly, careful never to hold any of them a moment longer than necessary."
Notice that we are allowed to define "description" and other already-known properties in the table as well. Backstage is a room. "A muffled black room with felt on the floors and walls. A glowing sign over the stage door says SHOW IN PROGRESS." The Juggling Equipment Catalog is a thing in Backstage. Instead of examining the Catalog: say "You read through the offerings, including: [paragraph break]"; repeat through Table of Juggling Equipment: say "[bold type][toy entry][roman type]: [description entry] [cost entry], [restriction entry]. [paragraph break]". When play begins: now right hand status line is "Budget: [price of the player]"; now left hand status line is "[location], feeling [if the difficulty of player is easy]incompetent[end if][if the difficulty of player is moderate]moderately skilled[end if][if the difficulty of player is hard]highly skilled[end if]". And of course this will be no fun unless the player is allowed to use the equipment: Understand "juggle [something]" as juggling. Juggling is an action applying to one thing. Check juggling: if the noun is not a toy listed in the Table of Juggling Equipment, say "You can't juggle [a noun]!" instead; if the difficulty of the noun is greater than the difficulty of the player, say "You're not quite ready to juggle something like [the noun]. Better to start with an easier toy." instead. Carry out juggling: if a random chance of 1 in 3 succeeds: if the difficulty of the player is less than hard and the difficulty of the player is the difficulty of the noun: now the difficulty of the player is the difficulty after the difficulty of the player. Report juggling: say "[outcome of the noun][paragraph break]". Instead of burning the fireball set: say "It will flame by itself when you use it." Test me with "read catalog / buy economy / buy beanbag / juggle economy / juggle beanbag / juggle beanbag / juggle beanbag / juggle beanbag / juggle beanbag / juggle beanbag / juggle economy / juggle economy / juggle economy / buy fireball set / juggle fireball".

254
| Example Money for Nothing An OFFER price FOR command, allowing the player to bargain with a flexible seller. |
WI

251
| Example Nickel and Dimed A more intricate system of money, this time keeping track of the individual denominations of coins and bills, specifying what gets spent at each transaction, and calculating appropriate change. |
WI

258
| Example Fabrication A system of assembling clothing from a pattern and materials; both the pattern and the different fabrics have associated prices. |
WI

252
| Example Widget Enterprises Allowing the player to set a price for a widget on sale, then determining the resulting sales based on consumer demand, and the resulting profit and loss. |
WI

Previous | Contents | Next