Outdoor boundaries and 'nowhere'...

Part of my developing game takes place outdoors, and there is at least one part where the player is in a field of very tall grass bounded by a thicket–but on one side there is a very tall iron fence. The player can only go in two directions–east and west–because of the fence to the south(which goes a very long way and is a backdrop), and the grass and thicket in all other directions. In fact at one point, the fence ends at a mountain, from which the path continues in another direction. I have assigned the tall grass the ‘nowhere’ designation, in other words, I say –

Instead of going nowhere from Grassy Field: say "The thicket holds nothing of interest for you, that is, if you can get through the grass."

–or something like that. Obviously, the fence is not thicket or grass. And, for anything other than ‘nowhere’, you need a map connection, for the player to try to go there. What I do for this situation is I create a ‘dummy room’–The Abyss, and I say –

The Abyss is south of Grassy Field. The Abyss is southeast of Grassy Field. The Abyss is southwest of Grassy Field. Instead of going south from Grassy Field: say "You have no way of getting over that fence."
etc etc.(one rule for each direction, somewhat tedious)

When the player gets to the mountain, I give a different response, of course–

Instead of going west from Mountain Path: say "The mountain blocks your way. Enormously."

There has got to be an easier way to do this…?? I’ve thought of making the fence an unopenable closed door–but for that you need the door to conjoin with another room, even if it doesn’t open(?), plus you get the (first opening the iron fence) tag(am I wrong?). And of course you can’t make a door out of a backdrop, or vice versa.
My question is, is there a way to change the ‘Instead of going nowhere from’ response according to direction? Is there a ‘direction understood’?

False alarm, I did a little experimentation and I’ve found an alternative–

Instead of going nowhere from Grassy Field: if we are going south: say "The fence blocks your way."; otherwise if we are going southwest: say "The fence blocks your way."; otherwise if we are going southeast: say "The fence blocks your way."; otherwise: say "Incredibly uninteresting grass and thicket gives you pause."

The ‘otherwises’ before each option apparently are important–if they’re not there, then the final ‘otherwise’–which should give the indicated response in all other cases–would apply every time the last option(southeast) is not true. In other words, if the player tried southeast, then the response would be

The fence blocks your way.

But if the player tried southwest(which is not southeast), the response would be

The fence blocks your way.
Incredibly uninteresting grass and thicket gives you pause.

…because the last ‘otherwise’ would apply only to the clause before it, ie if the direction is not southeast.

If a number of responses are going to be the same, is there a way I can bundle up south, southeast and southwest into the same rule? I’ve tried

if we are going south, southwest or southeast:

it returns a problem message. And I’ve tried ‘going south, going southwest or going southeast’, ‘we are going south, we are going southwest,…’ etc etc. None work.

You could do it like this:

[code]Grassy Field is a room.

Instead of going nowhere in Grassy Field:
if (the noun is south) or (the noun is southwest) or (the noun is southeast):
say “The fence blocks your way.”;
say “Incredibly uninteresting grass and thicket gives you pause.”[/code]

If you write “going nowhere in” instead of “going nowhere from,” you don’t have to make fake rooms.

Thanks! I don’t remember ever coming across that in the manual.

It’s mentioned in passing as a gotcha at one point. “To”, “from”, and “through” apply only to “going”, and only when there are actual rooms involved (as in you’re going somewhere, not nowhere). “In” applies to any action and specifies where the player is when the action starts.

(Even more confusingly, in older versions of I7, “in” in this one particular context means “when the location is”, and in newer versions it means “when the holder of the player is”. But in many cases this distinction isn’t relevant.)

You can find this in the manual at §7.13 of Writing with Inform, which discusses the various ways that you can describe the going action in the source code:

Thanks guys! That makes things much easier.

You can write several short rules without repeating the message:

Check going south in the Wilderness:
	instead say "Long failure message."

Check going west in the Wilderness:
	instead try going south.