You can also make a scene constant:
There is a scene called everything is falling. "all fall down"
Everything falls is always everything is falling.
when play begins: say description of everything falls.
…but I wouldn’t recommend it. Several of the fundamentals about scenes involve compiler special-cases where only the scene name as asserted in its creation will do and it’d be tedious and error-prone to keep track of which those are. Any old scene value is fine in phrases (like if <scene> is happening) and I’m frankly shocked it also works with when <scene> begins: and when <scene> ends:.
But it doesn’t work in <scene> begins when [...] or <scene> ends when [...] assertions or in during clauses in rule preambles.
I have sometimes used something similar to cut down some of the verbosity around relations. If you have:
Labeling relates various texts to one person.
The verb to tag means the labeling relation.
"protagonist" tags the player.
when play begins:
repeat with x running through the texts that tag the player begin;
say x;
end repeat;
it’ll fail to compile with
In ‘repeat with x running through the texts that tag the player’, you seem to want to repeat through all possible values which have the kind ‘a text’, and there are just too many of those. For instance, you can ‘repeat with D running through doors’ because there are only a small number of doors, but you can’t ‘repeat with N running through numbers’ because numbers are without end.
Verbs won’t let you do some things you want to do with relations; for some things, you need the phrases that require a relation-value. So one can slightly cut down the verbosity with:
Tagging is a relation of texts to person variable.
Tagging is initially the labeling relation.
when play begins:
repeat with x running through the list of texts that relate to the player by tagging begin;
say x;
end repeat;
…which’ll end up with an out-of-range memory access runtime error in 10.1. But it works in current development inform.
Unfortunately, one can’t just use always to create a relation-valued constant here; the compiler demands more explicit typing for dislike.
Then again, a while back, I posted code to loop through relations without building a list for current dev Inform; if I recall correctly, that code as given has ceased working in subsequent revisions of current dev. But usefully, Otis back-ported such relation loops for 9.3/6M62 and then I forward-ported the back-port for relation loops in 10.1. So ultimately I’d probably use this rather than the relation-value variable.