§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
![]() | Start of Chapter 3: Place |
![]() | Back to §3.3. Position Within Rooms |
![]() | Onward to §3.5. Doors, Staircases, and Bridges |
It's tempting to handle the player's inability to interact with something with a simple instead rule:
Unfortunately, the rule does not address the case where the object in question is the second noun; so for instance the following example reveals the difficulty:
...where the response here behaves as though the sun is in reach. If we had a fully implemented tying action, the player would (even more disastrously) be allowed to lasso celestial objects. We could add a second instead rule as well:
This produces acceptable output again, but there is a more elegant way, one that works better with Inform's existing world model. Currently the default model assumes that accessibility -- whether the player can reach something or not -- is checked between the Before... rules and the Instead... rules. We can add our own accessibility rules, including this one to govern whether views are accessible. So for instance:
Now our new accessibility rule fits into its proper stage. A more extensive implementation of distant objects, appropriate for use with active other characters as well as the player, and more options for special cases, is available as an extension for Inform. |
|
It's tempting to handle the player's inability to interact with something with a simple instead rule:
Unfortunately, the rule does not address the case where the object in question is the second noun; so for instance the following example reveals the difficulty:
...where the response here behaves as though the sun is in reach. If we had a fully implemented tying action, the player would (even more disastrously) be allowed to lasso celestial objects. We could add a second instead rule as well:
This produces acceptable output again, but there is a more elegant way, one that works better with Inform's existing world model. Currently the default model assumes that accessibility -- whether the player can reach something or not -- is checked between the Before... rules and the Instead... rules. We can add our own accessibility rules, including this one to govern whether views are accessible. So for instance:
Now our new accessibility rule fits into its proper stage. A more extensive implementation of distant objects, appropriate for use with active other characters as well as the player, and more options for special cases, is available as an extension for Inform. |
|
|
|
|
|
|
|