3.4. Continuous Spaces and The Outdoors

| Chapter 3: Place |

| 3.4. Continuous Spaces and The Outdoors

Inform's division of geography into "rooms" is a good compromise for most purposes. The rooms are cut off from each other by (imaginary or actual) walls, while all of the interior of a given room is regarded as the same place.

Suppose we want to blur the boundaries between rooms, in an environment where there are no walls: out of doors, for instance?

The simplest cases involve making something exceptional visible in more than one place. Carnivale features an exceptionally large landmark seen by day; Eddystone an exceptionally bright one by night. Waterworld allows a very distant object (the Sun) to be seen throughout many rooms, but never approached. View of Green Hills gives the player an explicit command for looking through into an adjacent room.

Three systematic examples then present outdoor landscapes with increasing sophistication. Tiny Garden gives the multiple rooms of an extended lawn descriptions which automatically adapt to say which directions lead into further lawn area. Rock Garden provides a relation, "connected with", between rooms, allowing items in one to be seen from the other: an attempt to interact with a visible item in a different area of the garden triggers an implicit going action first. Stately Gardens provides a much larger outdoor area, where larger landmarks are visible from further away, and room descriptions are highly adaptive.

In an outdoor environment, the distinction between a one-move journey and a multiple-move journey is also blurred. Hotel Stechelberg shows a signpost which treats these equally.

See Position Within Rooms for making the space within a room continuous

See Windows for another way to see between locations

See Doors, Staircases, and Bridges for still a third way to be told at least what lies adjacent

See Passers-By, Weather and Astronomical Events for more on describing the sky

212
| Example Carnivale An alternative to backdrops when we want something to be visible from a distance but only touchable from one room. |
WI

Suppose we want to make an object that (unlike a backdrop) is definitely located in one room, but can be seen from far off. We want to allow the player to interact with it from a distance, but only using those actions that require visibility. Other actions should be denied: "Carnivale" The Fairground is a region. Park Entrance, By the Wheel, and Candy Stand are in Fairground. Candy Stand is north of By the Wheel. Park Entrance is west of Candy Stand and northwest of By the Wheel. The ferris wheel is scenery in By the Wheel. "It is extravagantly tall and carries several dozen glass gondolas for riders." The description of By the Wheel is "You stand at the foot of an enormous ferris wheel, which turns far too quickly and never seems to stop for new riders." The description of Park Entrance is "You are now just inside the gates. Behind you snakes a triple line of fairgoers all the way down the length of the valley to the railway station. Roughly southeast of here is the ferris wheel, towering over the other attractions." The description of Candy Stand is "A hut in pale pink and baby blue dispenses marshmallow death's-heads, sugar-beetles, and other such treats. The giant ferris wheel is just off to the south from here." As the descriptions make clear, the ferris wheel should be visible from everywhere in the fair, so we'll borrow a line from the Activities chapter to make that happen: After deciding the scope of the player: if the location is in Fairground, place the ferris wheel in scope. "Scope" determines what the player can interact with; by writing this rule, we make Inform understand all commands that refer to the ferris wheel when the player is anywhere in the fairground, instead of responding with You can't see any such thing. as it normally would. Now, by default, if the player were to type TOUCH FERRIS WHEEL while in another room, he would get the response You can't reach into By the Wheel. This may not be quite what we want, but we can replace this text with our own reaching inside rule: Rule for reaching inside a room: say "You can only look from this distance."; deny access. And because our accessibility rules are considered before the "Instead" phase, we can write the following rule confident that it will apply only when the player is in fact in range to touch the ferris wheel: Instead of touching the ferris wheel: say "You don't dare: it's spinning too fast." Test me with "x ferris wheel / touch ferris wheel / se / x ferris wheel / touch ferris wheel".

213
| Example Eddystone Creating new commands involving the standard compass directions. |
WI

215
| Example Waterworld A backdrop which the player can examine, but cannot interact with in any other way. |
WI

80
| Example A View of Green Hills A LOOK [direction] command which allows the player to see descriptions of the nearby landscape. |
WI

62
| Example Tiny Garden A lawn made up of several rooms, with part of the description written automatically. |
WI

352
| Example Rock Garden A simple open landscape where the player can see between rooms and will automatically move to touch things in distant rooms. |
WI

353
| Example Stately Gardens An open landscape where the player can see landmarks in nearby areas, with somewhat more complex room descriptions than the previous example, and in which we also account for size differences between things seen at a distance. |
WI

79
| Example Hotel Stechelberg Signposts such as those provided on hiking paths in the Swiss Alps, which show the correct direction and hiking time to all other locations. |
WI

Previous | Contents | Next