Distant backdrops

A common class of bug comes from the author implementing something like the moon as a backdrop, but forgetting to do anything to make it out of reach, and then testers get to go “tee-hee” as they trigger an implicit take while trying to put the moon in their pocket.

Jon Ingold’s Far Away extension is an excellent solution to this problem.

Naturally this inspired me to ask: since there’s already an excellent solution, what if we had a different solution?

A backdrop-host is a kind of backdrop.
A backdrop-host is always privately-named.

A backdrop-case is a kind of container.
A backdrop-case is always closed.
A backdrop-case is always transparent.
A backdrop-case is always privately-named.

A distant-backdrop is a kind of thing.
A distant-backdrop is always scenery.
A backdrop-case (called its case) contains every distant-backdrop.
A backdrop-host (called its host) incorporates every backdrop-case.

Does the player mean doing anything with a backdrop-host:
  it is very unlikely.
Does the player mean doing anything with a backdrop-case:
  it is very unlikely.

Reaching inside a backdrop-case:
  say "[The noun] [are] out of reach.";
  rule fails;

To decide what object is a/an/-- (db - distant-backdrop) backdrop:
  decide on the holder of the holder of db.

Lab is a room.

The moon is a distant-backdrop. "Very green-cheesey."
The moon's case's host is in the lab.

every turn:
now the moon backdrop is nowhere.

Test me with "x moon / x moon".

To assert things about its whereabouts, one would have to use the X's case's host, or, in code blocks only, not assertions: the X backdrop.

(It probably results in something ridiculous somewhere I haven’t thought of, but I figure this is one of those “it’s now how well the dog dances” kind of things.)

[ Edited to clarify that the X's case's host works in assertions or code blocks ]

4 Likes

I am reading this and thinking I want to implement a moon the player can take.

> TAKE MOON
You take the moon. You are not sure quite how you can do that - probably a coding error. Let’s hope the ensuring devastation. as tides and weather patterns are disrupted, does not kill too many people. Too later to worry about that now.

The sky is starting to darken…

Sorry, not at all helpful.

4 Likes