Part 3 - New Actions
Fullscoring is an action out of world. Understand "full" and "fullscore" and "full score" as fullscoring.
Report fullscoring:
say "You've considered [score in words] total house configuration[s] out of a possible [maximum score in words] before finishing the episode.";
carry out the Reciting Endings activity.
Abouting is an action out of world. Understand "about" and "info" as abouting.
Report abouting: say "Just to set your expectations, [italic type]This Old Haunted House[roman type] requires only a limited subset of commands to be completed. As host, it's your job to [bold type]WAIT[roman type] (or type [bold type]Z[roman type]) until Han describes the proposals that Hoary and Terry are presenting to you. Once they do, [bold type]TAKE[roman type] one of those proposals[one of][or] (or [bold type]TAKE NEITHER[roman type] to leave the room with minimal decoration, if you'd prefer for some reason)[stopping]. Finally, you can [bold type]LEAVE[roman type] whenever your producer has captured a satisfying outcome during the day's taping. (If you want your producer to recap the options for the current room, just [bold type]TALK[roman type] to him.) To track your progress, you can use [bold type]SCORE[roman type] for a simple count of the configurations you've discovered, or [bold type]FULLSCORE[roman type] for a more detailed list[one of].[or]. You may also prefer to obtain [bold type]HELP[roman type], get a [bold type]HINT[roman type], or if all else fails, you can [bold type]SUMMON[roman type] a Marketing analyst zombie: you can skip the grunt-work, and they'll always get you a configuration you haven't found yet, though there's no guarantee it's a good one.[stopping][line break]Please send me any feedback, bug reports, or transcripts to [bold type]count.fibula@gmail.com[roman type]. This is version 2 of the game, which was updated with new source remarks and public source code.". [% The smart thing to do would be to refer to the version number from within the ABOUT text. I didn't do that.]
Crediting is an action out of world. Understand "credits" and "testers" as crediting.
Report crediting: say "This game makes use of the following extensions:[line break][bold type][the complete list of extension credits][roman type][line break]I'd like to thank the [bold type]ECTOCOMP ORGANIZERS[roman type] for putting together the 2022 competition.[if the score is greater than 0] The bathroom set-piece was invented by [bold type]Chris Jones[roman type] for [italic type]Cragne Manor[roman type].[otherwise] One particular set-piece was borrowed from [bold type]another author[roman type] who I will not name at this moment.[end if] [paragraph break]Additional thanks go to [bold type]nettle[roman type], [bold type]Gate88[roman type], and [bold type]Zaratustra[roman type] for testing the original game from which this game was adapted.Similarly, if you find any bugs or would like to send me a transcript of your play session, please email [bold type]count.fibula@gmail.com[roman type].[paragraph break](You may also wish to read the [bold type]DEDICATION[roman type].)".
Dedication is an action out of world. Understand "dedication" as dedication.
Report dedication: say "[italic type][Story title][roman type] is dedicated to [bold type]you[roman type], since you decided to play it! Thank you!"
Controversion is an action out of world. Understand "controversion" as controversion.
Report controversion: say "[italic type][Story title][roman type] is controverted to [bold type]the developers of Final Fantasy XIV[roman type], whose work ensured this game was released much later than it might otherwise have been."
Helping is an action out of world. Understand "help" and "walkthrough" and "walkthru" as helping.
Report helping: say "Han's plan for the episode is that, for each room in the house, the boo-thers will present you with two proposals. While they're not opposites, they are mutually[one of] exclusive. Regardless[or] exclusive. (However, you're not [italic type]required[roman type] to choose one of the described proposals; you could instead select neither. This is necessary to obtain every potential house configuration result, but that's not necessarily optimal.) Regardless[stopping] of your selection, you'll proceed to the next room, and another pair of proposals. The selections you make will determine the overall tone of the house, and Han will conclude with an assessment of its appeal to [italic type]This Old Haunted House[roman type]'s audience. Obviously, you need to find the best overall assessment, but there are multiple ways of achieving that result.[paragraph break]Frequent players may prefer to abbreviate commands; for example, shorten 'TAKE HOARY'S PROPOSAL' to simply 'HOARY'.[paragraph break]If you're stuck getting the same assessments repeatedly, you can ask for a HINT[one of][or] or just SUMMON an analyst zombie to skip the proposals and obtain a random assessment instead[stopping]. You can TALK TO HAN to have him recap the options for the current room."
[% In "THE EXIGENT SEASONS", I wanted the order of crises the player encountered to be presented in a random order, but this made less sense for the geographic concerns presented by "This Old Haunted House". XYZZY lets the player switch between these behaviors. I'm not sure why I thought it was important to prevent the toggle from occurring until every room had been seen once, though.]
A person can be ordered, chaotic, or indeterminate. A person is usually indeterminate.
Xyzzying is an action out of world. Understand "xyzzy" as xyzzying. Understand "plugh" as xyzzying. Understand "plover" as xyzzying.
Carry out xyzzying:
if the score is 0:
say "[one of]Oh ho, you've thought of a frightful magical word! I bet signing something so unexpected will give Han a real jump, but you'll need to find the right time to deploy it. Better get some more filming done before you try it again[or]Soon, but not yet[stopping].";
otherwise:
if the player is ordered:
now the player is chaotic;
say "Han [one of]jumps, dropping[or]drops[stopping] his notes in a big pile. '[one of]Look what you made me do! Now the scenes are going to be all out of order. It's fine, but editing this thing's going to be a real beast, you j[or]J[stopping]erk.'";
otherwise:
now the player is ordered;
say "The ghosts seem perplexed by your wiggling phalanges, but Han just ignores you, taking the time to get his scene notes back in order.".
[% As I've documented elsewhere, these games originally started life as a "Which Magic: the Gathering color(s) are you?" quiz I'd designed around 2007. I found testing the endings a lot easier if could cross-reference choices and outcomes with the original color quiz, so I added magic words to accomplish that, and I left the command in the final version of the games as something to mention in the AMUSING text.]
A person can be drowsy or undrowsy. When play begins, now the player is drowsy.
Invoking is an action out of world. Understand "presto" as invoking. Understand "presto changeo" as invoking. Understand "abracadabra" as invoking. Understand "yzzyx" as invoking. Understand "hgulp" as invoking. Understand "revolp" as invoking. Understand "invoke name" as invoking. Understand "alakazam" as invoking. Understand "abra cadabra" as invoking. Understand "hocus pocus" as invoking. Understand "hey presto" as invoking. Understand "please" as invoking. Understand "thank you" as invoking.
Carry out invoking:
if the player is mundane:
now the player is magical;
say "Han [one of]startles you with a shout:[or]shouts:[stopping] 'Okay, folks, time to turn on our color-coding!'";
otherwise:
now the player is mundane;
say "Han shouts again: 'Color-coding is over!'[one of][or] With no other crew present, it's not clear who he's addressing.[or][stopping]".
Check invoking while the player is drowsy:
now the player is undrowsy;
say "Han stops you. 'You've just signed the magic word. We have this unofficial color-coding process we can use that will simplify your job, but it might also ruin the magic a little bit? Once you see how this is all put together, it's kind of hard to un-see that.'[paragraph break]'Say the magic word again, and I'll augment the text with these added color-words. Say it a third time, and I'll remove the sheet and go back to normal. And so on.'";
stop the action.
Understand "select [something]" as taking. Understand "choose [something]" as taking. Understand "pick [something]" as taking. Understand "accept [something]" as taking. Understand "confirm [something]" as taking. Understand "affirm [something]" as taking.
Understand "lick [something]" as tasting.
Instead of attacking something:
say "You don't need to attack anything here; after all, you're already a skeleton."
Instead of waking up:
say "You don't sleep much anymore; after all, you're just a skeleton."
Instead of entering something (called the chair):
say "You're the presenter of this show! You can't project that kind of authority while slumped on [the chair].";
stop the action.
Pacing is an action applying to nothing. Understand "pace" as pacing. Understand "walk" as pacing. Understand "stroll" as pacing. Understand "pace thoughtfully" as pacing. Understand "skip" as pacing. Understand "pace about" as pacing. Understand "pace around" as pacing. Understand "pace about the room" as pacing. Understand "pace around the room" as pacing. Understand "walk around" as pacing.
Carry out pacing:
say "You pace[one of][or] thoughtfully[or] ponderously[or] meaningfully[or] cautiously[or] carefully[or] studiously[or] vigorously[or] fiercely[or] valiantly[or] precariously[or] implacably[or][then purely at random].";
silently try waiting.
Talking is an action applying to nothing. Understand "talk" as talking. Understand "sign" as talking. Understand "mime" as talking. Understand "pantomime" as talking.
Accosting is an action applying to one visible thing. Understand "talk to [something]" as accosting. Understand "sign to [something]" as accosting. Understand "mime to [something]" as accosting.
Instead of accosting:
try talking.
Carry out talking:
if the player is in the Present:
if the printed name of the Present is not "On the set of THIS OLD HAUNTED HOUSE":
say "Han restarts the scene. '[crisis summary of the Present]'[line break]";
stop the action;
else:
say "Han's fiddling with his notes, so he doesn't notice that you're trying to talk to him.";
stop the action;
else:
say "Han's fiddling with his notes, so he doesn't notice that you're trying to talk to him.";
stop the action.
[% I made the player a skeleton just to get out of implementing conversation. It had additional benefits, though I think I forgot to provide actual detail for the player's body and equipment...]
Instead of sleeping:
say "You don't sleep much anymore; after all, you're just a skeleton."
Instead of eating something:
say "You don't sleep much anymore; after all, you're just a skeleton."
Instead of taking inventory:
say "You're just a skeleton wearing a toolbelt, a hard hat, and protective earphones."
Instead of pushing something:
say "You don't do any actual [italic type]work[roman type]-work on this program; you don't need to push anything."
Instead of pulling something:
say "You don't do any actual [italic type]work[roman type]-work on this program; you don't need to pull anything."
Instead of turning something:
say "You don't do any actual [italic type]work[roman type]-work on this program; you don't need to turn anything."
Instead of cutting something:
say "Contractors do all the actual cutting work before you arrive, so you don't need to cut anything."
Instead of rubbing something:
say "[one of]While the need to clean is understandable, y[or]Y[stopping]ou don't need to rub that."
Instead of searching something:
say "You don't need to search anything here."
Instead of kissing something:
say "[one of]You don't have that kind of relationship with anyone or anything in this room.[or]You don't need to kiss anything here.[stopping]"
Instead of looking under something:
say "You don't need to look under anything here."
Instead of smelling:
say "[one of]Without a respiratory system to inhale with, you'd think smelling to be impossible, but you do pick up a general aroma from any space you occupy. At the moment: notes of old wood.[or]An aroma of old wood.[or]An aroma of old wood.[or]An aroma of old wood.[or]Sorry, but it's always old wood around here.[or]An aroma of old wood.[stopping]"
Instead of tasting something:
say "Hard to do that without a tongue."
Instead of jumping:
say "[one of]The ceiling isn't so low that you'd risk hitting your head, but still: b[or]B[stopping]etter not."
[% Here we get to the actions that comprise 90% of the player's activities! The verbs are again color-coded, and in "THE EXIGENT SEASONS", there are five separate actions, each of which is used in four of the ten crisis events. For "This Old Haunted House", we cut this down to two actions instead, but I left the old verbs in for some reason. In general, Hoary actions tend to be Blue, Black, and White, while Terry actions tend to be Red and Green.]
Hoarying is an action applying to nothing. Understand "hoary" as hoarying. Understand "h" as hoarying.
Terrying is an action applying to nothing. Understand "terry" as terrying. Understand "t" as terrying.
Carry out hoarying:
say "That's not one of the options currently available."
Carry out terrying:
say "That's not one of the options currently available."
Whiting is an action applying to nothing. Understand "white" as whiting. Understand "justice" as whiting. Understand "democratic" as whiting. Understand "nobility" as whiting. Understand "coin purse" as whiting. Understand "coin" as whiting. Understand "purse" as whiting.
Carry out whiting:
say "That's not one of the options currently available."
Bluing is an action applying to nothing. Understand "blue" as bluing. Understand "discovery" as bluing. Understand "literacy" as bluing. Understand "truth" as bluing. Understand "the lab" as bluing. Understand "lab" as bluing.
Carry out bluing:
say "That's not one of the options currently available."
Blacking is an action applying to nothing. Understand "black" as blacking. Understand "autocratic" as blacking. Understand "ignorance" as blacking. Understand "surveillance" as blacking. Understand "demonstrative" as blacking. Understand "strict" as blacking. Understand "vision" as blacking.
Carry out blacking:
say "That's not one of the options currently available."
Redding is an action applying to nothing. Understand "red" as redding. Understand "beauty" as redding. Understand "blindness" as redding. Understand "danger" as redding. Understand "peasantry" as redding.
Carry out redding:
say "That's not one of the options currently available."
Greening is an action applying to nothing. Understand "green" as greening. Understand "conciliatory" as greening. Understand "safety" as greening. Understand "bread box" as greening. Understand "bread" as greening. Understand "box" as greening. Understand "the pyre" as greening. Understand "pyre" as greening. Understand "merciful" as greening. Understand "mercy" as greening.
Carry out greening:
say "That's not one of the options currently available."
Pathing is an action applying to nothing. Understand "path" as pathing. Understand "final" as pathing.
Carry out pathing:
say "You consider the proposals you've seen so far."
Neithering is an action applying to nothing. Understand "neither" as neithering. Understand "none" as neithering.
Carry out neithering:
say "That was a rhetorical question."
Understand the command "no" as something new. Understand "no" as neithering.
Observing is an action applying to nothing.
[% For reasons that now escape me, I set the game up to shift the player to cycle back and forth between a couple of rooms, so it was important to create the illusion that they remain in one place. As such, I've replaced the default LOOK command.]
Understand the command "look" as something new. Understand "look" as observing.
Carry out observing:
say "Physically, you're on the [italic type]This Old Haunted House[roman type] set. It's little more than a green screen. The Property Boo-thers and your producer Han are here[one of].[or]. (To have Han describe the current crisis again, you'll need to talk to him.)[stopping]"
[% While building "THE EXIGENT SEASONS", I thought the player should try to intuit the behavior of the quiz and demonstrate mastery by getting specific outcomes. I didn't want them to just take the quiz once or twice, shrug, and put the game down. Rather than give the player motivation to do that, though, I tried to force the issue by making the victorious ending one in which the player got ALL possible outcomes. I must have realized that this was an absurd thing to demand, because I added a command to cheat... and then had the game chide the player for resorting to such measures. Unfortunate.]
Cheating is an action applying to nothing. Understand "summon" or "summon an accountant" or "summon a zombie" or "cheat" or "ask Han about ending" or "ask for an ending" or "ask for ending" or "tell Han to read an ending" or "read an ending" or "ask Han about an ending" or "ask Han about layout" or "aks for a layout" or "ask for layout" or "tell Han to read a layout" or "read a layout" or "ask han about a configuration" or "read a configuration" or "ask for configuration" as cheating.
A person can be blameless or befouled. When play begins, now the player is blameless.
FootageCounter is a number that varies.
EndingCounter is a number that varies. TCounter is a number that varies. HCounter is a number that varies. SoloCounter is a number that varies. DuoCounter is a number that varies. TripleCounter is a number that varies. QuadCounter is a number that varies. QuintCounter is a number that varies. TCounter is 0. HCounter is 0. SoloCounter is 0. DuoCounter is 0. TripleCounter is 0. QuadCounter is 0. QuintCounter is 0.
To say SoloFound:
now SoloCounter is 1.
To say DuoFound:
now DuoCounter is 1.
To say TripleFound:
now TripleCounter is 1.
To say QuadFound:
now QuadCounter is 1.
To say QuintFound:
now QuintCounter is 1.
To say TFound:
now TCounter is 1.
To say HFound:
now HCounter is 1.
Every turn:
let L2 be the list of paths;
now FootageCounter is 0;
now EndingCounter is TCounter + HCounter + SoloCounter + DuoCounter + TripleCounter + QuadCounter + QuintCounter;
repeat with path-in-question running through L2:
now FootageCounter is FootageCounter plus selectedness of path-in-question;
if FootageCounter is 22:
say "[first time]Han calls out from behind the camera. 'You guys are doing great, and don't let me interrupt you, but we've gotten all the footage we need for the majority of the episode. We just need to record your final reactions to different house configurations, and Marketing has prepped every configuration we haven't recorded yet. We can keep filming sequentially the way we've been doing so far, or at any point you can summon a Marketing zombie to skip straight to one possible final house configuration, and I can assemble a coherent narrative in editing. I don't love giving Marketing the satisfaction, but it may be faster to get configurations this way, if we can't find the outcome you want organically.'[only]".
[% This is another symptom of my need for the player to develop a level of mastery before resorting to cheating. To do so, the player has to first ensure they've taken all ten of Hoary's paths and all ten of Terry's paths, and they also need to take neither path at least once. Or at least, that was my initial intent. I can't remember all the last-minute changes and adjustments I threw in before my first release.]
Carry out cheating:
let L1 be the list of unwitnessed endings;
if the number of entries in L1 is 1 and Echeat is unwitnessed:
say "[one of]The Marketing zombies won't answer your summons: you've captured every configuration possible.[or]The only thing left to do is leave.[stopping][line break]";
else:
if the number of entries in L1 is 0:
say "[one of]The Marketing zombies won't answer your summons: you've captured every configuration possible.[or]The only thing left to do is leave.[stopping][line break]";
else:
if FootageCounter is less than 22:
if FootageCounter is 21 and the selectedness of NEITHER is 0:
say "[one of]Han stops you. 'We've got almost all the footage we need, but I haven't recorded you choosing to take NEITHER proposal yet. I only need to record this once, though, so once you do that, we can call on Marketing.' He signals for you to resume[or]Han shakes his head. 'Still need you to take neither proposal at least once!' Oh, right[stopping].";
otherwise:
say "'We need more footage, man. You need to accept all of Hoary's proposals and all of Terry's proposals before we can just skip to the final reaction recordings.'[line break]";
else:
now the player is befouled;
say "[one of]In answer to your summons, a zombie analyst from Marketing trudges in with a clipboard for Han, who takes it with a nod. The zombie trudges back out without a word.[paragraph break]It [italic type]looks[roman type] like Han is studying the clipboard; it's hard to follow the line of sight for a guy with no head. [or]Another zombie, another clipboard. [stopping]Han reads the analysis[one of], which describes one possible configuration of the house you haven't encountered yet. He summarizes the vibes.[paragraph break][or] and gives an assessment.[paragraph break][stopping]";
sort L1 in random order;
say "[bold type][entry 1 of L1][roman type][line break][initial appearance of entry 1 of L1][line break]";
now entry 1 of L1 is witnessed;
now entry 1 of L1 is hinted;
increase the score by 1;
choose a blank row in the Table of Witnessed Endings;
now the Ending Name entry is entry 1 of L1;
now the Ending Score entry is the current rank of entry 1 of L1;
now the Row Number entry is the score.
[% Here's the hint system. Because I had to write so many sentences to fill out the hint system, the quality of those individual sentences suffered. At the same time, though, I put so much effort into writing all those sentences, I felt like I had to make sure they were seen! This is why "THE EXIGENT SEASONS" has Trev start giving you hints whether you've asked for them or not. If Han does the same thing, that's because he works almost exactly the way Trev did.]
Hinting is an action applying to nothing. Understand "hint" or "clue" or "ask for a hint" or "ask for hint" or "ask for a clue" or "ask for clue" or "tell Han to give a hint" or "take hint" or "pray" or "say prayer" as hinting.
Carry out hinting:
Let L2 be the list of unwitnessed endings;
if the number of entries in L2 is 0:
say "[one of]Han is confused. 'We've exhausted the house configurations, Bone. There's no more need for hints.'[line break][or]Han sighs. '[first time]I don't know about you, but I'm done for the day. [only]It's time to leave.'[line break][stopping]";
else:
let L3 be the list of unhinted endings;
if the number of entries in L3 is greater than 0:
sort L3 in random order;
say "Han considers the house configurations[one of] you haven't yet achieved to provide you with an appropriate hint[or][stopping]. '[relevant hint of entry 1 of L3]'[line break]";
now entry 1 of L3 is hinted;
else:
sort L2 in random order;
say "Han considers the house configurations[one of] you haven't yet achieved to provide you with an appropriate hint[or][stopping]. '[relevant hint of entry 1 of L2]'[line break]".
[% This is the action to bring about the end of the game!]
Disembarking is an action applying to nothing.
Understand the command "leave" as something new. Understand "leave" as disembarking.
A person can be sharp or unsharp. When play begins, now the player is unsharp.
Carry out disembarking:
Let L2 be the list of unwitnessed endings;
if FootageCounter is less than 22:
if the player is unsharp:
say "Whether you've found the optimal configuration for the house or not, the fact remains that they gave you [italic type]unlimited studio time[roman type] for this episode. You shouldn't squander this opportunity by leaving the set before you've gone through a fair number of possible house configurations.";
now the player is sharp;
stop the action;
else:
say "You call it quits and leave the set. To heck with the editors['] need for enough shots to assemble the episode! To heck with the generosity of the shrouds upstairs! You've got places to be that aren't here!";
end the story saying "You are replaced by a conventionally-attractive spokesghoul the next season";
else:
if the number of entries in L2 is greater than 1:
if EndingCounter is less than 6:
if the player is unsharp:
say "Wait a moment. Are you sure you're ready to leave? You've recorded a few different configurations, but you still haven't found that perfect layout that true haunt-heads will rave about for years to come. Might want to think this through before you commit to leaving.";
now the player is sharp;
stop the action;
else:
say "Seeing you start to leave, Han dismisses the Property Boo-thers. 'That's a wrap. Great work today, everybody! Not sure whether we got there in the end, but the editors can figure something out.'";
end the story saying "The Halloween episode is BOOed by all the critics";
else:
if the player is blameless:
say "Seeing you start to leave, Han dismisses the Property Boo-thers. 'That's a wrap. Great work today, everybody! We've got great options for a through-line for our episode, and even better, Marketing never had to get involved!'";
end the story finally saying "They'll replay this episode each Halloween for years to come";
else:
say "Seeing you start to leave, Han dismisses the Property Boo-thers. 'That's a wrap. Great work today, everybody! I had hoped we could avoid involving Marketing, but we got there in the end. Go get some rest, and have a great Halloween!'";
end the story finally saying "The show's a success, but rotting flesh triumphed over bone this day";
else:
if the number of entries in L2 is greater than 0:
say "[one of]Han stops you. 'I had hoped we could avoid involving Marketing. I had hoped we wouldn't need the details of every single possible configuration.' He sighs. 'We were not so lucky, and we now have every home configuration except for one. Since we're this close, they won't let me go until we get that last one. We'll probably just have to summon them.'[paragraph break][or]Han won't let you leave until you get the final configuration. You should summon a zombie.[stopping]";
stop the action;
else:
say "'Cut, wrap, that's it!' Han sounds exasperated. 'Good work. We got it all. [italic type]We got it all.[roman type] Try to think about anything else for the next couple of days.' He and the boo-thers make their way out, not waiting for you.[paragraph break]You try to follow, but you can't. Your bones won't move. You are a skeleton no longer: through your obsessive dedication to your craft, you have transmigrated your essence into that of a poltergeist, haunting [italic type]this very episode of television[roman type].";
end the story finally saying "You're trapped in a prison of your dedication to your craft".