Chapter - Story / Puzzle Mode
[ After the Homeworld sequence, we ask the player whether they'd prefer an emphasis on story or puzzles, using actions during that sequence to make a guess. ]
The drama manager is a thing. The drama manager can be storied or puzzled. The drama manager is puzzled. To decide whether story mode: if drama manager is storied, decide yes; decide no. To decide whether puzzle mode: if drama manager is puzzled, decide yes; decide no.
The boredom meter is a number that varies.
[ A key narrative component that most interactive fiction lacks is the concept of pacing. If the player is stuck on a puzzle, even the most well-constructed game grinds to a halt. The longer the player goes without seeing something new, the more the artifice is exposed and the magic is lost.
Blue Lacuna attempts to deal with this problem by keeping track of how long it's been since something interesting happened, and, if we're past a certain point, introduce hints, new plot points, or even just random scenes for fun into the game. The result is that we make sure new things are always happening, even if it's not necessarily relevant to the plot.
Some time for excitement scenes just break the monotony, or draw the player towards unexplored accessible rooms, or add more Progue color. Others are more explicit hint-giving scenes. In these we should take care not to give hints to players who don't want them. The hint scenes should be sequential, slowly revealing more and more info.]
Understand "dmtrack" as dmtracking. dmtracking is an action out of world applying to nothing.
Carry out dmtracking:
if dr-window is g-present, shut down dr-window;
otherwise open up dr-window.
The dr-window is a g-window with type g-text-buffer. The main-window spawns the dr-window. The position of the dr-window is g-placeabove. The scale method of dr-window is g-fixed-size. The measurement of the dr-window is 3.
Before reading a command when dr-window is g-present:
move focus to dr-window, clearing the window;
say "boredom meter: [boredom meter] [if time for excitement][d](time for excitement)[x] [end if][if desperate for excitement][o](desperate for excitement)[x] [end if] - moves since: last chapter - [turn count - last chapter turn][line break]";
say "curr ep: [current episode] - [the number of filled rows in episode schedule] possible episode[s] - [the number of filled rows in Table of Progue's Appointment Book] appointment[s]";
return to main screen.