As the followers of I7 have likely noticed, Inform 7 has a new release, 6E59. This still leaves us with a good bit to do — the Linux IDE may be a few days in following, as Philip Chimento is having some issues with his laptop, and extension replacements and updates on things that were not enclosed in the IDE may also take a day or two to follow.
Here is a change log for my own extensions, which will be up when the extensions maintainer has a chance to upload them:
- Approaches, version 3. Cleans up some spacing bugs introduced by changes between builds, and corrects an error or two in the examples.
- Assorted Text Generation, version 3. Adds some functionality, refactors other bits.
- Computers, version 3. Examples updated to be compatible with the new build, and new features added to allow for power cords and batteries if the extension is compiled alongside Power Sources (new, see below).
- Dishes, version 1. A little extension providing some fluid container classes for use with Measured Liquid. It defines several standard sizes of container, as well as a corked bottle with a properly-behaving cork.
- Measured Liquid, version 1. Measured Liquid provides a concept of volume, together with the ability to fill containers, pour measured amounts of liquid, and drink from containers. It handles mixtures as well, if desired. It is compatible with, but does not require, the Metric Units extension by Graham Nelson.
- Modern Conveniences, version 3. Version 3 adds compatibility with Measured Liquid; if Measured Liquid is included, Modern Conveniences will model flowing water from taps.
- Power Sources, version 1. Power Sources provides an implementation of plugs and batteries (including rechargeables), and is designed to be used alongside Computers or as a base for other device implementations. Modeling includes devices that drain batteries at different rates. Power Sources requires Plugs and Sockets by Sean Turner.
- Tailored Room Description, version 10. Upgrades for compatibility.
Of these, Measured Liquid is probably the biggest new item: it takes the Recipe Book examples of liquid and extends them a bit, with features for lightweight mixing. It dovetails with the Metric Unit extensions if we want to use metric; failing that, it defaults to imperial units; and finally, it also allows the author to supply his own units instead. Examples cover poisoning, a little mild chemistry, and the use of NPC bartenders. It is easy to define flavors for potable liquids, which are printed when tasting or drinking.
Measured Liquid also works with Modern Conveniences so that, if both extensions are included, sink taps will provide a flow of running water that can be used to fill cups. Dishes adds some containers, including a bottle with a cork, to the mix.
When these are combined, the following:
Include Dishes by Emily Short. Include Modern Conveniences by Emily Short.
Apartment Kitchen is a kitchen.
When play begins:
let destiny be a random cabinet;
move a random glass to destiny.
There is a glass.
Test me with “open cabinet / take glass / turn on tap / fill glass / drink water / i / empty water into sink / put empty glass on counter / look”.
produces this transcript:
> open cabinet
You open the cabinet, revealing a glass.
> take glass
> turn on tap
You turn on the sink tap.
> fill glass
You fill the glass up from the flowing water.
> drink water
(the glass of water)
You take a sip of water. Refreshing!
You are carrying:
a glass of water
> empty water into sink
(the glass of water into the sink)
You dump out the glass into the sink.
> put empty glass on counter
You put the empty glass on the counter.
On the counter is an empty glass.
Power Sources is also new: it works with Plugs and Sockets, and creates batteries that can be drained and recharged, as well as wall sockets into which things can be plugged. It dovetails with Computers, so if both are included, laptops will become devices that both use and recharge batteries, while desktop computers will depend on being plugged in and will shut down if unplugged.
In general, I’ve been inclined to leave this kind of thing to the recipe book — these extensions elaborate and systematize what has been available all along — but we’ve received a few requests for more simulationist libraries.
I’d like the effort along these lines to be proportional to the actual desire for same, though: so if there are more things like this that you want to see, perhaps mention them over at the new uservoice forum. (I make no guarantees.)