Chapter 4 (Part 2)
Section 4.15 is Assemblies and Body Parts, another section I’ve run my eyes over several times before without processing anything.
Apparently it’s just saying that you can make two kinds of things and then assign one or more of the first kind be part of or inside all of the second kind, like so:
A silver coin is a kind of thing. A banking room is a kind of room. Five silver coins are in every banking room.
This works for body parts (which I am always loathe to implement, and which are another red flag to me personally when new players ask about them):
A nose is a kind of thing. A nose is part of every person.
This can cause problems:
This works:
Cleopatra is a woman in Alexandria. The player is Cleopatra. A nose is a kind of thing. A nose is part of every person.but if those lines are in reverse order then Cleopatra’s nose is assembled before she becomes the player, with the result that it ends up called “Cleopatra’s nose” rather than “your nose” in play - which is very regal but probably not what we want. To avoid this, settle the player’s identity early on in the source text.
You can also make assemblies of values and relations in general using relation verbs (a later topic):
A colour is a kind of value. The colours are red, green and blue.
Liking relates various people to various colours. The verb to like means the liking relation.
Every person likes a colour.
Although I don’t see any difference between the fancy text above and just plain old:
A person has some text called the favorite-colour.
or even
A colour is a kind of value. The colours are red, green and blue.
A person has a colour called the favourite-colour.
Four examples again!
Example 56 just adds a kind called jacket which always has a container called the pocket that is part of it:
A jacket is a kind of thing. A jacket is always wearable.
A pocket is a kind of container. A pocket is part of every jacket. The carrying capacity of a pocket is always 2.
Example 57 is Model Shop, and gives every device in the game an on/off button, which is honestly an excellent idea (I had so many devices in my game I stopped adding buttons because it was so tedious. So there’s a gold forge, a magnet, and a microscope that can all be switched on with no explanation of how this is achieved). Anyway, here is part of the example:
An on/off button is a kind of thing.
Instead of pushing an on/off button which is part of a switched off device (called the machine):
try switching on the machine.
There are a few more rules like that and then:
One on/off button is part of every device.
Example 58 is U-Stor-It. This adds chests to the game which are containers, but have supporter lids (this is great! I’ve run into trouble with devices that are also containers and supporters, like the above-named Gold forge. I probably won’t change what I already have, though).
A chest is a kind of container. A chest is always openable. A chest is usually fixed in place. A chest is usually closed. The specification of a chest is "Represents a container with a separately implemented lid; the lid is itself a supporter."
A lid is a kind of supporter. A lid is part of every chest. The specification of a lid is "A supporter attached to a chest, which can only support things when the chest is closed."
There are then a bunch of rules for putting stuff in and looking under and so on.
Example 59 relies on some complex shenanigans to disambiguate whose nose to look at. It includes such hits as:
Definition: a thing is selfish if it is part of the player and the player can see an other person.
and
Does the player mean doing something when the noun is a selfish nose or the second noun is a selfish nose: it is very unlikely.
and
Rule for writing a paragraph about Rudolph:
say "The reindeer are already harnessed and waiting impatiently. The brilliance of [Rudolph]'s nose casts an eerie red glow over [the list of unmentioned animals in the location]."
if that sounds exciting (the last part is cool to me).
Section 4.16 is Names made in assembly.
It explains how things that are part of every person or thing are named:
For example:
A nose is a kind of thing. A nose is part of every person. Antony and Cleopatra are people.might result in the creation of “Antony’s nose”, part of Antony, and “Cleopatra’s nose”, part of Cleopatra. In this way, Inform names the noses after their owners. It will always do this unless there are multiple indistinguishable things being created, as in the “five silver coins are in every banking room” example: those will all just be called “silver coin”.
A small pitfall of this is that if we write:
Marcus Tullius Cicero is a person.then although “Marcus Tullius Cicero’s nose” and “Cicero’s nose” are both valid names for the consular nose, “Marcus’s nose” is not.
I suspect the last part is because it thinks the first few words are adjectives, since ‘the nose of a small ent’ would not logically be called ‘small’s nose’. But IDK the reasoning.
There is then a highly technical explanation of the naming conventions which I invite the reader to peruse themselves. It’s only likely to come up if you’re making a highly systematized game where many objects have many identical parts.
Section 4.17 is the finale, which is pretty self-explanatory and short:
That concludes our tour through the design of the initial state of a simulated world. We have seen how to create rooms and to stock them with containers, supporters, devices, doors, men and women. The player of such a simulation can explore, move things around, open and close certain doors and containers, lock or unlock them provided a suitable key is found, switch machines on or off, and so on.
But that is about all. There is as yet no element of surprise, no aim or sense of progress to be earned, and no narrative thread. We have painted the backcloth, and laid out the properties, but the actors have yet to take the stage.
For my own postscript, I’d like to mention why people asking about implementing toilets (for example) is a red flag.
Specifically, if they want a toilet to work the way that you’d expect it to.
It’s because if the toilet does nothing special (doesn’t trigger events or have any secrets, etc.), then you’re spending a lot of your time and a lot of the player’s time on something that doesn’t advance the plot, solve puzzles, or offer anything of interest. If you were asking how to make a cool toilet, that is different, but a standard toilet that does nothing surprising shows that you believe a good author is one who makes a simulationist world that does exactly what is expected, while I contend that what makes a good game is doing what is not expected. Ryan Veeder likes to deeply implement unimportant or non-plot-necessary things, but it’s always really weird things, like the ice cream store in Taco Fiction. That’s cool.