Alabaster — 6 of 123

John Cater, Rob Dubbin, Eric Eve, Elizabeth Heller, Jayzee, Kazuki Mishima, Sarah Morayati, Mark Musante, Emily Short, Adam Thornton, and Ziv Wities

Release 1

Chapter 2 - Quip-Building Questions

[There are several ways of achieving this effect; the current demo is trying out one of them to see how well it works.]

[The read all performative quips rule is not listed in any rulebook. The vague asking rule is not listed in any rulebook. The vague telling rule is not listed in any rulebook.

The clean conversation creation rule is not listed in any rulebook.]

[The new source examination rule is listed instead of the source examination rule in the carry out looking at new source rules.

This is the new source examination rule:

say "Conversation saved to NewConversation.glkdata."]

[Understand "purge file" as purging file.

Purging file is an action out of world.

Carry out purging file:

purge file called "NewConversation". [1]

To say implemented:

say "implemented";

if the current quip is restrictive:

say " (or else it is unavailable from here -- the current quip is restrictive and does not allow access to most other quips[unless a quip indirectly-follows the current quip]. [italic type]You've been left by your collaborators with no implemented followups to the current situation. You can either write new dialogue to follow on this strand, or type NO here and UNDO a few turns until you are free of this branch[roman type][end unless])";

Rule for printing a parser error (this is the read new speech acts rule):

if player-mode is true, make no decision;

if the parser error is I beg your pardon, make no decision;

if the current interlocutor is nothing, make no decision;

change the variable snippet to the player's command;

store base quip text;

say "That speech act is not [implemented]. Draft a new one? [length warning]>";

if the player consents

begin;

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " [message of the sample-quip]";

close file "NewConversation" for writing;

write " is a performative quip." after file "NewConversation";

if nominal-sample-quip is switched on, escape troubled quip-names;

carry out the filling in standard quip activity;

end if.

Carry out addressing corpse with something:

follow the read new speech acts rule.

To say length warning:

let N be indexed text;

let N be "[current interlocutor]";

let N be "[N in upper case]";

let copied command be indexed text;

let copied command be "[the player's command]";

let word count be the number of words in the player's command;

if word count is less than 6:

say "(Note: if your command was vaguely phrased, as in ASK [N] ABOUT WEATHER, you may want to reply NO, then reword the command more specifically as, e.g., ASK [N] ABOUT WHETHER THE RAIN WILL STOP. This will produce more sensibly-named quips in the resulting code file.) [run paragraph on]".

The making interlocutor specific rule is not listed in any rulebook. ]

[A quip-building rule (this is the new making interlocutor specific rule):

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " It quip-supplies [the current interlocutor]";

close file "NewConversation" for writing;

end new quip line. [2]

The spare space rule is listed before the marking repeatable quips rule in the quip-building rules. This is the spare space rule: say "[line break]".]

Instead of asking the player about something (this is the player reticence rule):

say "Your secret thoughts are best kept unspoken."

Instead of telling the player about something:

abide by the player reticence rule.

[Instead of asking someone about something (this is the new vague asking rule):

if player-mode is true, make no decision;

if the current interlocutor is nothing, change the current interlocutor to the noun;

change the variable snippet to the topic understood;

store base quip text;

say "That question is not [implemented]. Draft a new one? [length warning]>";

if the player consents

begin;

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " [message of the sample-quip] is a questioning quip. ";

close file "NewConversation" for writing;

if nominal-sample-quip is switched on, escape troubled quip-names;

carry out the filling in standard quip activity;

end if.

Instead of telling someone about something (this is the new vague telling rule):

if player-mode is true, make no decision;

if the current interlocutor is nothing, change the current interlocutor to the noun;

change the variable snippet to the topic understood;

store base quip text;

say "That remark is not [implemented]. Draft a new one? [length warning]>";

if the player consents

begin;

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " [message of the sample-quip] is an informative quip. ";

close file "NewConversation" for writing;

if nominal-sample-quip is switched on, escape troubled quip-names;

carry out the filling in standard quip activity;

end if.

The new marking restrictive quips rule is listed instead of the marking restrictive quips rule in the quip-building rules.

This is the new marking restrictive quips rule:

say "Is the player going to be restricted to a small choice of responses to this? [one of](This is most appropriate for questions that the player must answer.) [or][stopping] >";

if the player consents

begin;

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " It is restrictive";

close file "NewConversation" for writing;

end new quip line;

end if.

The establish quip-settings rule is not listed in any rulebook.

The first quip-building rule (this is the new establish quip-settings rule):

now single character setting is q-set-yes;

now immediacy setting is q-set-no;

now indirection setting is q-set-no;

The setting assumed facts rule is listed after the new marking restrictive quips rule in the quip-building rules.

This is the setting assumed facts rule:

move quip line forward;

say "Does this quip require the player to know a fact learned earlier? [one of](If it is sufficient for the player to have seen the conversation you've played through so far, choose NO. If, on the other hand, this quip depends on some learned information that might turn up in multiple choices, choose YES.) [or][stopping]>";

if the player consents:

if using the suppressed subject list option, do nothing;

otherwise say "[line break][if the number of facts is 0]There are no facts yet defined[otherwise]Current facts include [italic type][fact-collection][roman type][end if]. What does the player need to know at this point? ";

say "[one of](Provide your answer as a list separated by commas.)[or][stopping][line break]";

write " It assumes " after file "NewConversation";

stuff buffer;

end new quip line. ]

[A procedural rule while filling in standard quip:

ignore the player learns facts rule. [3]]

[To say fact-collection:

repeat through Table of All Known Facts:

say " [fact entry][line break]".

The unlisting rule is listed after the setting assumed facts rule in the quip-building rules.

This is the unlisting rule:

say "Should this quip be recommended to the player? [one of](If so, it will be included in hints like 'You could say...') [or] [stopping] >";

if the player consents:

change the currently open reference to the reference after opening file "NewConversation" for writing;

say " It is listed";

close file "NewConversation" for writing;

end new quip line;]

Notes

[1]. This is really only likely to be useful to me, because it's helpful to be able to wipe the text file from inside the IDE and start over.

[2]. This is an invisible feature from the point of view of the collaborator using it: because the hart can become undead and speak, there are a small handful of quips addressed to it instead of to Snow White. However, we want the quip builder to assume that dialogue written to Snow White should be good only for her, and dialogue for the hart is good only for it. In a different kind of game, multiple-person quips might be used if, for instance, we wanted to be able to ask the same questions of anyone we met on the street.

[3]. Otherwise, building the quip with the facts will set them all to known.