Skip to content

Fill in the wallet: the ID card's text, red herrings, and a mirror to read it against #52

Description

@gitosaurus

Follow-on to #51, which made the wallet openable so that it can be opened, described, and looked into. That fixed the mechanism. What is in the wallet is still one inert object:

> look in wallet
I look inside the wallet.  There is a captain's ID card.
> x id
Nothing seems unusual about the captain's ID card.

That is a flat landing for the one object in the game that could tell an amnesiac who he is. Three pieces of work, which are independent but land better together.

1. The ID card, and the fact that it isn't yours

The player is the pilot, not the captain. The wallet and the quarters are the captain's, so the face on the card is somebody else's — which is a much better beat than the card simply naming you, and it is information the game currently never gives the player at all.

readable in games/starship_types.arch:347 is the type for it: it supplies a 'look' of "There's writing on it." and a 'read' of "I can't quite make out anything.", both meant to be overridden. The readV verb already exists in games/starship_lex.arch, and already refuses to work while the sunglasses are on, which is a nice bit of friction the card gets for free.

2. The mirror problem

The card only pays off if the player knows what he looks like, and Starship has no mirror. It does not need one — the helmet is already a mirror, and the game already makes the player polish it.

games/starship.arch:1342 has the helmet in three states (FilthyWindexed → clean), driven by the Windex-and-towel chain in the clean verb (games/starship_lex.arch), whose payoff line is already "Wow! What a shine on that faceplate!":

  'look' : {
    writes "This seems to be a space helmet in pretty good condition.  "
    if dirty then {
      ...  "which makes it impossible to see through the visor."
      }
    else
      writes "The faceplate is nice and clean."
    write
    }

Hanging the reflection on that else costs no new object, no new verb, and no new puzzle. At the moment the entire reward for solving the cleaning puzzle is being able to see out of the faceplate; this makes it also the thing you see yourself in.

It orders itself correctly with no state tracking. The card is found early, in the pants; the helmet is cleaned much later. Whichever the player reaches second is the one that completes the thought.

Worth being deliberate about: this changes what Starship withholds. Right now the player never learns who he is. This would tell him.

3. Red herrings and one joke

The wallet lists any number of contents with no further work — they are just objects with location : wallet. Candidates:

  • paper money
  • IOUs
  • a note of chores to do
  • some lint, with size : 0 so that it is weightless and the joke costs the player nothing to carry

The chores note is the most useful of these as a red herring, because a list of tasks reads exactly like a list of puzzle hints.

Why this is an issue and not a TODO in the org file

The mechanism is merged and the org item is closed; what remains is prose and one design decision, which is the author's. Filed so the plan does not evaporate — the faceplate observation in particular is the non-obvious half.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions