My games tend to involve quite a bit of outdoor activity. Which means that in plenty of locations, I have rejection messages saying something like ‘There is only tall grass and thicket in that direction.’, resulting from a ‘Instead of going nowhere in…’ rule. But apparently, if the player types ‘up’, the tall grass and thicket just seem to converge on him from above, so to speak. For some reason, I tend to dislike the default ‘You can’t go that way.’ in outdoor situations, and I don’t always like to enumerate all possible exits as a response to trying a direction(such as ‘Your only choices are east, into the dog pound, or south back to the street.’ when the player tries to go west). Is there an easy way to rebuff going up/down that will apply for an entire game outdoor area, without a dull ‘You can’t go that way.’ or innocuous ‘going nowhere in’ statements that I write, but obviously not in places where up/down are needed? I imagine it would be a couple of check rules that would see if there is a vertical exit to the room…?
If your entire game is outdoors, you can use a simple rule:
Definition: a direction is vertical if it is up or it is down. Instead of going nowhere when the noun is vertical: say "You see no real way to go [noun]."
If you have some outdoor and some indoor rooms, and you want this message to only print when the player is outdoors, you can either put all the outdoor rooms in a region or define a new “outdoor” adjective.
Note however that this will fail on doors. If you have a trapdoor somewhere, you’ll want to check if “the room-or-door [direction] from the location” is not nothing instead.