Neutral Library Messages

version 3/120107 by Aaron Reed

  • Home page
  • Beginning
  • Previous
  • Next

  • Section - You Can't See Any Such Thing

    [This famous message has frustrated many. Part of the difficulty is the wide variety of circumstances it can appear under. From the player's perspective, this message appears when she tries to use a verb with
        a) something neither mentioned nor implemented (like the sky)
        b) something mentioned in descriptive text but not implemented
        c) something implemented but not given the specific word used as a synonym
        d) a misspelled word
        e) a word mistakenly understood as part of the direct object, rather than part of the grammar line, as in >TAKE INVENTORY NOW which is matched as {take | inventory now}.
        f) something that exists but has never been seen and is not in scope
        g) something previously seen but no longer in scope, perhaps without the player realizing it's no longer available

    In nearly all of these cases, the player believes the object they're referring to should exist, meaning the message is often frustrating.

    Distinguishing between these subtle cases can be difficult. For instance, short of capturing all text output and analyzing it, there is no way to distinguish A from B. Perhaps the easiest distinction to make is between commands containing dictionary words and those that don't, which separates A-D from E-G. Some IF systems implement this by telling the player when she's used an invalid word: this is the approach we adopt below.

    Several additional extensions can help break things down further. "Remembering" carves off G from E-F, while "Poor Man's Mistype" can sometimes address D. "Smarter Parser" can sometimes offer helpful messages for certain types of A command related to body parts and common environmental features like the sky. Eric Eve's Text Capture could be a tool in distinguishing A from B.

    Use traditional can't see any such thing translates as (- Constant TRADITIONAL_CANT_SEE; -).

    Table of custom library messages (continued)
    library-action  library-message-id  library-message-text  
    --  30  "[as the parser][if the traditional can't see any such thing option is active]You can't see any such thing.[otherwise if the misunderstood word is known elsewhere and position of non-dictionary word is 0]That's not something you can see now, or I misunderstood you.[otherwise if the misunderstood word is known elsewhere]I didn't [recogniz]e all of the words in that command.[otherwise]You don't need to use the word '[the misunderstood word]' in that way.[end if][as normal]" ["You can't see any such thing."]  

    [Here are some things you can see: [the list of visible things which are not the player].]
    ["The word 'sky' doesn't refer to anything right now" is a pretty good alternative, from TADS3.]