Alabaster — 20 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 9 - Autopilot Testing Method - Not for release

[Provides a method for getting pseudo-transcripts without beta-testers, by having the game play itself based on what commands are plausibly available at a given moment. This is not a replacement for beta-testing properly, of course, but it does allow capture of certain kinds of errors, especially:

-- places where the name of a quip is not being properly parsed again even if the player types it in verbatim

-- questioning quips misidentified as performative quips (in which case they won't be properly invoked)

-- infelicities in text produced when we move from one topic to another unexpectedly

-- unexpected orderings of quips (where something might have been written with the expectation that it would be used very early in the game, and instead it winds up being selected randomly quite late)]

[Autopilot is a truth state that varies. Autopilot is false.

Setting autopilot is an action applying to nothing. [1]

Understand "autopilot" as setting autopilot.

Carry out setting autopilot:

now player-mode is true;

now autopilot is true.

Rule for reading a command when autopilot is true:

let N be indexed text;

let the select quip be generic-quip;

if the current quip is restrictive:

let the select quip be a random flagged-ready quip which directly-follows the current quip;

otherwise if a random chance of 4 in 5 succeeds and a quip is listed-plausible:

let the select quip be a random listed-plausible quip; [2]

otherwise if a quip is flagged-ready:

let the select quip be a random flagged-ready quip;

if the select quip is the generic-quip or the select quip is nothing:

let N be "wait";

otherwise:

if the select quip is an affirmative quip:

let N be "yes";

otherwise if the select quip is a negative quip:

let N be "no";

otherwise if the select quip is a performative quip:

let N be "[select quip]";

otherwise:

let N be "discuss [select quip] ";

repeat through the Table of Prearranged Autopilot Acts: [3]

if the set quip entry is the current quip and a random chance of 2 in 3 succeeds:

let N be "[suggested outcome entry]";

change the text of the player's command to N;

say "[bold type][N][roman type]".

Before reading a command when autopilot is true:

if every flagged-ready quip is repeatable:

now autopilot is false. [4]

Table of Prearranged Autopilot Acts

set quip suggested outcome

explain that you must stop here to collect the heart "cut heart"

thank-the-hart "wake hart"

yes-17 "untie her"]

Notes

[1]. We could set it out of world, but that has the effect of turning off NPC initiative, which is not what we want.

[2]. Most of the time, the player will follow your lead.

[3]. And this allows us to add in cases where the player is likely to take some action external to the conversation system at some point

[4]. stop if the player knows everything already: we've probably run out the course of the game