| 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
|  Example Carnivale An alternative to backdrops when we want something to be visible from a distance but only touchable from one room. | |
| Example Waterworld A backdrop which the player can examine, but cannot interact with in any other way. | |
|  Example Tiny Garden A lawn made up of several rooms, with part of the description written automatically. | |
Sometimes we want to make a list of something too complicated to express in a say list... phrase. When this happens, we can instead mark all the items we want to mention as "marked for listing".
In this case, we have a lawn area made up of four rooms. We want each room to automatically describe the directions leading to the other parts of the lawn. To do this, we will first determine which directions are relevant and mark those for listing, then list them.
"Tiny Garden"
The Herb Garden is a room. "Along this side of the house run your great-aunt's herb beds."
A Grassy Room is a kind of room. The printed name of a Grassy Room is usually "Lawn". The description of a Grassy Room is "The grass underfoot is thick and green. The lawn extends to [grassy directions] from here."
The following phrase goes through all the directions in the compass and marks the ones that are interesting to us at the moment. We will learn more about "the room (some direction) from..." in Chapter 5, and repeating in Chapter 10.
To say grassy directions:
repeat with that way running through directions:
if the room that way from the location is a grassy room,
now that way is marked for listing;
say "[a list of directions which are marked for listing]";
now every direction is not marked for listing.
Lawn1 is west of the Herb Garden. It contains a picnic table and a wicker basket. Lawn2 is south of Lawn1 and southeast of Lawn4. Lawn3 is southwest of Lawn1, west of Lawn2, and south of Lawn4. Lawn4 is west of Lawn1. Lawn4 contains a birdbath. The birdbath is fixed in place.
Lawn1, Lawn2, Lawn3, and Lawn4 are Grassy Rooms.
Test me with "w / s / w / n".
|
|  Example Rock Garden A simple open landscape where the player can see between rooms and will automatically move to touch things in distant rooms. | |
|  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. | |