Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
September 20, 2018
arrowPress Releases
  • Editor-In-Chief:
    Kris Graft
  • Editor:
    Alex Wawro
  • Contributors:
    Chris Kerr
    Alissa McAloon
    Emma Kidwell
    Bryant Francis
    Katherine Cross
  • Advertising:
    Libby Kruse






If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Winter Storm Draco Annotated Source

by Ryan Veeder on 08/20/18 03:36:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

Whenever I release a text adventure through my Patreon, I also annotate the source text from one of my earlier games as a gift for my top-tier Patreoneers. But these secret annotations can only be kept a secret for so long. One of my top-tier Patreoneers (the same guy who requested that I publicly release the source for The Statue Got Me High) recently asked me about releasing some more annotations. I picked a game with some code that I remain mostly unashamed of even three years after writing it: WINTER STORM DRACO.

I hope you'll give the game a look before you check out this code. Although it's billed as "an interactive documentary" it's far from dry (and arguably not even that educational). It's a very linear game, so the source is laid out to describe the story more or less in narrative sequence.

The more interesting technical features of WINTER STORM DRACO begin with a sequence where normal compass-based text-adventure-style directional movement is suspended to recreate the experience of wandering lost in the woods. This is resolved with a puzzle where the player must construct a compass—a process I attempted to make as painless as possible. Later, there's an action sequence incorporating a fencing-like combat system. The final act of the game uses a few little mechanical tricks to add to the scene's surreality.

Like I said, I feel more or less proud of how I implemented this game—much more so than I do of the Statue Got Me High source! So I won't ask you to actively avoid learning from my work. This is not to say that it's perfect, but...

Anyway:


"Winter Storm Draco"
by Ryan Veeder 
The Annotated Source Code Text
 
Volume 0 - Introduction to the Annotated Source Code Text
 
[% Comments in brackets and italics, beginning with a % for some reason, are my post-release annotations—some from the 2016 release of this source text to my top-tier Patreon backers, and some from the 2018 general release. Comments in brackets but not in italics are my original comments to the code, which I didn't necessarily intend to publish at the time. The division headings are all original to the source, except for the one above obviously.
 
On September 2nd, 2015, I was thinking about the storm Winter Storm Draco and what a great name "Winter Storm Draco" was, and I decided to steal that name for use as the title of a game. The game was released on September 28th, got some post-release bug fixes applied the same day, and apparently hasn't required any updates since. I will admit to being PRETTY DANG PROUD of putting this game together in 26 days.
 
The game's introduction gets into the basics of the source material, which is of course a real storm that really was named "Draco" by The Weather Channel and really did impact Iowa from around the 19th to the 21st of December, 2012. What the game doesn't get into as much is the huge backlash The Weather Channel got for its storm naming practices, not only from the National Weather Service but from everybody in general.
 
People were so mad that TWC had deigned to call storms by names, and it ticked me off so much that people felt compelled to be so negative about it. I never entertained any illusions that the storm naming system was anything but a publicity stunt, or that it ever actually helped anybody, but it's fun. I will never be convinced that there's anything actually detrimental about TWC's practices, just as I will never be convinced that anybody who opposes them has a heart beating in their rime-encrusted chest.
 
Besides my defense of fun, there is a philosophical-linguistic aspect to this naming hullabaloo, alluded to somewhat in the introduction. My strong feelings in this general area informed the design of rest of the game to a certain extent, but I couldn't express them succinctly or sensibly right here.
 
The topography of the game is based on Iowa City, specifically the area where I was living while in grad school, and the player character is perhaps very very loosely autobiographical. When the storm was really happening, however, I was back home in Waterloo. I made a video at the time intended to introduce the concept of snow to my many internet friends who were up to that point ignorant of the subject.
 
This didactic impulse, based on the understanding that plenty of people have never seen a snowstorm, influenced the game a lot. It's billed as a "documentary," which is of course is mostly a joke, as players quickly learn. But I really did want the game to convey accurately, if impressionistically, the experience of living through one of these blizzards. 
 
At some point in either design or development I realized that the game I was making was very similar to (the fun parts of) Edgar Allan Poe's novel The Narrative of Arthur Gordon Pym of Nantucket. After this influence became conscious, I decided to play it up as much as possible, partly because that book is so great and partly because in this way I'd ensure that the similarities read more as "homage" than "ripoff."
 
I had previously written an "adaptation" of Pym insofar as I tried to interactivize the book from memory over the course of a couple hours spent in a hotel room on Maui. The resultant work was not one for the ages; it was supposed to entertain me more than anybody else, but eventually it was discovered by Chandler Michael Groover, a big fan of Winter Storm Draco. He added it to IFDB and penned a quick review saying Draco "was built with Arthur Gordon Pym as its thematic foundation. The references to Pym are so central in Draco that if you extracted them, Draco would vanish."
 
I will try to point out all the references to Pym in these annotations, and you may judge for yourself whether without them Draco would vanish. But I have to contest the former point: The thematic foundation of this game is really the potency of the name WINTER STORM DRACO.
 
RCV
Waterloo
2016
and also
2018]
 
The story headline is "An interactive documentary".
 
 
Volume 1 - Boring
 
Use American dialect and serial comma.
 
Release along with cover art and an interpreter.
 
Book 1 - Out of World
 
Abouting is an action out of world. Understand "about" and "credits" as abouting.
 
Carry out abouting:
     say "[italic type]Hi! Thank you for checking out my interactive documentary about Winter Storm Draco![paragraph break][paragraph break]This interactive documentary was supported by my many fabulous Patreon supporters, and I list them to you here in the order in which Patreon sees fit to list them to me: Thomas Bøvith, Janice Eisen, Jeff Lindsay, Stuart Lloyd, Jason Baldus, Maiko Nathalie, Jacques Frechet, Zachary Hodgens, David Simon, Emily Short, Doug Orleans, Steven McKinney, Jason McIntosh, Matthew Zimmermann, Derek Sotak, Carl Muckenhoupt, Alan DeNiro, Rich Cheng, Hamish McIntyre, Jenni Polodna, Juhana Leinonen. At least one person is not in Patreon's list. There are an odd number in this list and there are an even number of supporters. Something screwy is going on.[paragraph break]TESTERS: Emily Boegheim, Janice Eisen, Zachary Hodgens, Jason McIntosh, Hamish McIntyre, Maiko Nathalie, Jenni Polodna, and Emily Short, plus one post-release bug was discovered independently by Hanon Ondricek and Carter Sande.[paragraph break]Some elements of this interactive documentary were furnished by/stolen from the Weather Channel, Edgar Allan Poe, and my dad. To learn more about Winter Storm Draco, replay or continue playing this interactive documentary[roman type]."
 
[% The elements contributed by my dad consist of selected grave marker inscriptions, which we will see much later.]
 
Book 2 - Appearance
 
Include (-
Replace PrintInferredCommand;
 
[ PrintInferredCommand; ];
-) before "Parser.i6t".
 
[% This is some Inform 6 code that I think just elides some extraneous disambiguation text—an unhappy necessity arising from my decision to implement some identical objects. I don't know for sure, though, because I don't speak Inform 6. This bit of code was probably contributed by Emily Boegheim.]
 
Include basic screen effects by emily short.
 
To say i:
     say "[italic type]"
     
To say /i:
     say "[roman type]"
 
[% This was an attempt to let myself write in Inform 7 with BBCode syntax. The sad fact is that my fingers are completely used to typing stuff like [italic type] and [fixed letter spacing] so I never end up using such shortcuts.]
 
To say f:
     say "[fixed letter spacing]";
     
Rule for constructing the status line:
     center "[player status]" at row 1;
     rule succeeds.
     
To say player status:
     if started is false:
          rule succeeds;
     otherwise:
          say "Location: [location] ||| Visibility: [visibility-text]"
 
     
Started is a truth state that varies.
 
[% In Inform 7, you declare a boolean as "a truth state that varies," and if there's a shorter way of doing it you better tell me right the heck now. This business with a "started" boolean just prevents the Location/Visibility status bar from showing up until after the introductory text crawl.]
     
visibility-text is text that varies.
 
Book 3 - Response Rejiggering
 
Parser error internal rule response (H) is "You can't use multiple objects with that verb. I'm sorry, I know this is stupid."
 
[% One tester got this response and added a note that I should go ahead and fix whatever error I was working around. I thought I had been pretty clear. I guess next time the error response will be "I tried to make this work, but I'm not good enough."]
 
Book 4 - Verbs
 
Section 1 - Examining
 
A thing can be exed.
 
Before examining something:
     now the noun is exed.
 
[% It's often useful to check whether the player has already bothered to look at something. I think the default I7 syntax for this is "If we have examined..." but I learned about this too late and now I like my dumb "workaround" better.]
 
Section 2 - Taking
 
Instead of taking something scenery, say "That is frozen in place."
 
[% The default message is "That is fixed in place." But I am so funny, I changed it!!!]
 
Section 3 - Inserting
 
Understand "pour [something] in [something]" as inserting it into.
 
Understand "pour [something] into [something]" as inserting it into.
 
Understand "fill [something] with [something]" as inserting it into (with nouns reversed).
 
Understand "push [something] into [something]" as inserting it into.
 
Understand "push [something] in [something]" as inserting it into.
 
Section 4 - Touching
 
To feel is a verb.
 
Instead of touching something, say "[The noun] [feel] cold. Cold like a broken promise."
 
[% Here's a big secret: I've used this "Cold like a broken promise" sentence in every single one of my games. Or, I'm pretty sure I have. Usually it only applies to touching one thing. See if you can figure out what that thing is in all my games!!!
 
The syntax "instead of touching something:" is a little misleading, as by Plain English standards it seems to overrule any other rules I might write later about touching specific things. But in Inform 7, specific beats general, so an additional rule saying "Instead of touching the sponge, say "It's squishy." would work perfectly well.]
 
Section 5 - Listening
 
Instead of listening:
     say "Wind[one of][or]. But also[unicode 8212]No, just the wind[then at random]."
 
Instead of listening to something:
     say "[The noun] [are] eerily quiet."
     
Section 6 - Smelling
 
Instead of smelling:
     say "You smell nothing, but that's always been the case. Hasn't it?"
 
[% Smell is rarely a useful sense in my games because my own sense of smell is so terrible.]
     
Instead of smelling something:
     say "You can't even smell the inside of your nose."
 
Section 7 - Waving at
 
Waving at is an action applying to one thing. Understand "wave at [something]" and "wave to [something]" as waving at.
 
Instead of waving at, say "You wave at [the noun]."
 
Understand "raise arms" as waving hands.
 
[% When I say "waving at is an action applying to one thing," I'm declaring a new kind of action, a transitive action. "Waving hands" is referred to without declaring first that it's an action, because it's one of the Inform 7 default verbs (one that is very rarely used, outside of this game).]
 
Section 8 - Burning
 
Instead of burning something, say "You don't have a lighter, or any wilderness survival skills."
 
Section 9 - Digging
 
[% Digging is such a basic, primal, elemental action, certainly on a par with burning. I wonder why it's not part of the default Inform set. Obviously it never does anything useful, but I amused myself by coming up with responses to actions people will probably never try.]
 
General digging is an action applying to nothing. Understand "dig" as general digging.
 
Check general digging:
     if player does not carry the shovel:
          say "There's not much you can do with your bare hands." instead.
 
Instead of general digging:
     say "You're able to temporarily clear a handprint-sized area of snow, but the surface beneath is too tough to penetrate."
     
Digging is an action applying to one thing. Understand "dig [something]" and "shovel [something]" as digging.
 
Check digging something:
     if player does not carry the shovel:
          say "There's not much you can do with your bare hands." instead.
 
Instead of digging something:
     say "I don't think that's necessary."
     
Instead of digging the grave markers:
     say "That's someone else's job."
     
Instead of digging the snow:
     say "This is an earth-turning shovel, with a blade that comes to a point. A snow shovel would have a flat edge, and ideally would be a lot less heavy. Regardless, shoveling the snow in this particular area isn't your responsibility."
     
Section 10 - Naming
 
Naming it with is an action applying to one thing and one topic. Understand "name [something] [text]" as naming it with.
 
Instead of naming something with something:
     say "Okay, [the topic understood in title case] it is. Don't expect me to remember that, though. I can only do so much."
 
[% This doesn't get used in any puzzles, but the ontological impact of naming is a central theme, so I had to let you name stuff. Kind of.]
     
Section 11 - Xyzzying
 
Understand "xyzzy" as a mistake ("That's not a callback I recognize.").
 
Section 12 - Tekeliling
 
understand "tekeli-li" as a mistake ("It doesn't sound quite the same when you say it.").
 
Section 13 - Screaming
 
Screaming is an action applying to nothing.
 
Understand "scream" and "yell" and "cry out" and "shriek" and "howl" as screaming.
 
Instead of screaming, say "You scream."
     
 
Section 14 - Pushing Pulling Turning
 
Instead of pushing something:
     say "[The noun] [are] fine right there."
     
Instead of pulling something, try pushing the noun.
 
Instead of turning something, try pushing the noun.
 
Section 15 - Waking Sleeping Praying Thinking
 
Instead of waking up:
     say "This is as real as it gets."
 
Understand "pray" as thinking.
 
Instead of thinking:
     say "You slow down for a moment."
     
Section 16 - Apologizing
 
Instead of saying sorry, say "No worries."
 
Understand "apologize" and "apologise" as saying sorry.
 
Section 17 - Singing
 
Singing is an action applying to nothing. Understand "sing" and "sing a song" and "hum" and "whistle" as singing.          
 
Instead of singing:
     say "[italic type]Last night I dreamed I had burning hands,[line break]Reaching for beautiful visions,[line break]And everything was shimmering[roman type]."
 
[% This lyric comes from the B-52s song "Dreamland," on their album Good Stuff, another of this game's texts.]
     
Section 18 - Sleeping
 
Check sleeping:
     say "If you fall asleep out here, you'll be waking up dead." instead.
     
Section 19 - Hiding
 
Hiding is an action applying to nothing. Understand "hide" as hiding.
 
Instead of hiding:
     say "There's [if location is whiteness]nowhere[otherwise if location is Euclid Street]only one place[otherwise]no reason[end if] to hide."
     
Section 20 - Using
 
Understand "use [text]" as a mistake ("Sorry to be such a text parser about this, but 'use' is kind of vague. Can you think of a verb that's more specific?")
 
 
Volume 2 - Setting the Stage
 
Book 1 - The Introduction
 
[% One of the game's structures is a progression from the concrete to the abstract. It begins with a wall of expository text; as gameplay begins, it's in the more or less realistic mode of slice-of-life text parser stuff. In the cemetery, the game turns to magic realism, and finally it falls into pure impressionism.
 
The wall of text is made minimally interactive by forcing players to type it out themselves, by way of inserting the "wait for any key" prompt about a thousand times. I hoped that the fixed width font and the directive to "type as loudly as possible" would recall movies that begin with words being typed on the screen to the tune of typewriter noises.
 
A little bit of work needs to be done to make this nonsense acceptable to users of mobile devices (who can't handle repeated 'wait for any key' prompts very well and whose keyboards aren't loud enough anyway) and users screen readers (to whom the resulting text, read out letter by letter for much of the sequence, would be unintelligible).]
 
To say wak:
     if fast mode is true:
          say "";
     otherwise:
          wait for any key;
 
Fast mode is a truth state that varies. Fast mode is false.
 
When play begins:
     now left hand status line is "";
     say "[i]          Screen reader or mobile device? Type 'yes.' Otherwise, please type 'no.' Thank you for your time.[/i][paragraph break]>";
     if player consents:
          say "[line break][i]          Gotcha.[/i][line break]";
          now fast mode is true;
     otherwise:
          say "[line break][i]          Thank you. Please type as loudly as possible.[/i][paragraph break]";
          wait for any key;
     say "[f]I[wak]n[wak] [wak]D[wak]e[wak]c[wak]e[wak]m[wak]b[wak]e[wak]r[wak] of[wak] 2012[wak],[wak] a[wak] we[wak]at[wak]her [wak]sy[wak]st[wak]em [wak]of [wak]colo[wak]ssal [wak]size [wak]bro[wak]ught[wak] itse[wak]lf [wak]in[wak]to [wak]exis[wak]tence[wak] off[wak] the[wak] west[wak]ern[wak] coast[wak] of[wak] North[wak] Am[wak]er[wak]i[wak]ca[wak]. [wak]As[wak] it[wak] pas[wak]sed[wak] over[wak] the[wak] mig[wak]hty[wak] Roc[wak]ky [wak]Moun[wak]tains[wak],[wak] the[wak] wea[wak]ther[wak] sys[wak]tem[wak] inc[wak]reased[wak] in[wak] its[wak] in[wak]ten[wak]si[wak]ty [wak]and[wak] dest[wak]ruc[wak]tive [wak]cap[wak]abi[wak]li[wak]ty[wak],[wak] its[wak] bar[wak]o[wak]met[wak]ric[wak] press[wak]ure[wak] eventually[wak] falling[wak] to[wak] an[wak] astounding[wak] nine[wak] hundred[wak] and[wak] seventy[wak]-one[wak] milli[wak]bars.[wak]";
     say "[paragraph break][wak]Hun[wak]dreds[wak] of[wak] feet[wak] of[wak] snow[wak] fell[wak] on[wak] the[wak] people[wak] of[wak] the[wak] Mid[wak]west[wak]. [wak]Thou[wak]sands[wak] of[wak] those[wak] peo[wak]ple[wak] were[wak] left[wak] with[wak]out[wak] elec[wak]tricity[wak],[wak] made[wak] to[wak] shiver[wak] by[wak] candlelight[wak] as[wak] they[wak] a[wak]waited[wak] the[wak] ca[wak]ta[wak]clys[wak]mic[wak] term[wak]in[wak]a[wak]tion[wak] of[wak] the[wak] Ma[wak]yan[wak] cal[wak]end[wak]ar[wak]. [wak]In[wak] Earth's[wak] North[wak]ern[wak] Hemi[wak]sphere[wak],[wak] the[wak] nights[wak] of[wak] the[wak] 19th[wak] and[wak] 20th[wak] were[wak] among[wak] the[wak] longest[wak] of[wak] the[wak] year[wak],[wak] and[wak] in[wak] the[wak] Amer[wak]ican[wak] Mid[wak]west[wak],[wak] they[wak] were[wak] also[wak] among[wak] the[wak] coldest[wak],[wak] and[wak] the[wak] most[wak] fraught[wak] with[wak] dread[wak].[wak]";
     say "[paragraph break]The[wak] Weather[wak] Channel[wak] gave[wak] a[wak] name[wak] to[wak] this[wak] weather[wak] system[wak]. [wak]The[wak] National[wak] Weather[wak] Service[wak],[wak] having[wak] opposed[wak] The[wak] Weather[wak] Channel's[wak] practice[wak] of[wak] naming[wak] winter[wak] storms[wak] since[wak] its[wak] announce[wak]ment[wak] in[wak] October[wak] of[wak] the[wak] same[wak] year[wak],[wak] did[wak] not[wak] use[wak] or[wak] ac[wak]knowledge[wak] this[wak] name[wak]. [wak]In[wak] the[wak] official[wak] records[wak],[wak] the[wak] storm[wak] will[wak] be[wak] mem[wak]orial[wak]ized[wak] only[wak] by[wak] cold[wak] statistics[wak],[wak] by[wak] two[wak] hyphen[wak]-[wak]sepa[wak]rated[wak] dates[wak].[wak]";
     say "[paragraph break]But[wak] language[wak] belongs[wak] to[wak] all of us[wak],[wak] to[wak] each of us[wak],[wak] and[wak] we[wak] invent[wak] our[wak] language[wak] anew[wak] each[wak] time[wak] we[wak] speak[wak] it[wak]. [wak]When[wak] you[wak] t[wak]y[wak][wak]p[wak]e[wak] [wak]a[wak] [wak]w[wak]o[wak]r[wak]d[wak] [wak]i[wak]n[wak]t[wak]o[wak] [wak]a[wak] [wak]c[wak]o[wak]m[wak]p[wak]u[wak]t[wak]e[wak]r[wak],[wak] you[wak] decide[wak] with[wak] ab[wak]so[wak]lute[wak] authority[wak] what[wak] that[wak] word[wak] means[wak] to[wak] you[wak],[wak] and[wak] your[wak] decision[wak] cannot[wak] be[wak] contested[wak] by[wak] any[wak] individual[wak],[wak] social group[wak],[wak] government entity[wak],[wak] corporation[wak],[wak] or text parser[wak]. [wak]If[wak] you[wak] choose[wak] to[wak] call[wak] a[wak] storm[wak] by[wak] a[wak] name[wak],[wak] then[wak] that[wak] name[wak][wak][wak][wak][wak][wak][wak][wak][wak] is[wak][wak][wak][wak][wak][wak][wak],[wak][wak][wak][wak][wak][wak][wak][wak][wak] if nowhere else but in your heart[wak],[wak] the[wak] name[wak] of[wak] that[wak] storm[wak]. [wak]The[wak] name[wak] of[wak] the[wak] storm[wak] to[wak] which[wak] I[wak] refer[wak] is[wak] also[wak] the[wak] name[wak] of[wak] th[wak]is[wak] t[wak]ex[wak]t [wak]ad[wak]ve[wak]nt[wak]ur[wak]e [wak]co[wak]mp[wak]ut[wak]er[wak] g[wak]am[wak]e[wak][wak][wak][wak][wak][wak].";
     if fast mode is false:
          wait for any key;
          
After printing the banner text:
     say "[one of][firststatus][line break]You lope across the road with absurd syncopated steps, your arms unevenly heavy with grocery bags, your lumbering gait spotlit by six lanes of headlights. With each step you run the risk of falling over and making an even bigger fool of yourself.[paragraph break]Just as you reach the far side, the signal changes, and traffic resumes[unicode 8212]slowly. Nobody's eager to start fishtailing across the fresh snow.[or][stopping]";
     
To say firststatus:
     now started is true;
     now visibility-text is "Low".
     
 
Book 2 - The Snow
 
The snow is a backdrop. The snow is everywhere. Understand "snowfall" and "snowflake" and "snowflakes" and "flake" and "flakes" as the snow.
 
[% You can't use "storm" or "draco" to refer to anything at this point, which may or may not be on purpose, but if it is on purpose then it's because the player character has not yet come to respect Draco enough to refer to it by name, and is also in denial about being able to get home before the storm hits.
 
Yeah those aren't great reasons. I just don't feel like fixing it.]
 
Instead of taking the snow, say "You pick some snow up from the ground. It bites your fingers, and you drop it before it can finish melting in your grasp. You should have worn gloves."
 
Instead of eating the snow, say "You lift a handful of snow to your lips. Biting into it produces a hollow crunch, and it melts immediately in your mouth. It's all very much like eating unflavored shaved ice."
 
The description of the snow is "Each flake falls at more or less the same rate, at the same gentle angle toward the ground, and the effect is as if this lattice of white motes were being projected onto the air by a disco ball. The snow on the ground is a completely different substance: An opaque layer of dust, thickening by the second."
 
[% I really wanted to describe this type of snow not just realistically but in a way that could create an accurate brain-picture in the mind of a totally snow-ignorant person, and I don't know how successful I was.]
 
The sky is a backdrop. The sky is everywhere. Understand "cloud" and "clouds" as the sky.
 
Instead of examining up, try examining the sky.
 
[% One of the less intuitive features of the Inform 7 world model is that directions are nouns. When you "go north," "go" is a transitive verb and "north" is its object. This means that all the directions are there in the room with the player, so to speak, and you can try to do stuff with them other than just "going" them. Occasionally, newer players will try "look north," but authors very rarely account for this. In this situation I thought the player might "look up," which translates to examining the direction of up, so I redirected that command.]
 
The description of the sky is "The sky is a very low-hanging mass of clouds, tinged orange-pink by [if the location is Highway][otherwise]distant [end if]streetlamps."
 
Instead of doing something other than examining with the sky, say "The sky is very far away."
 
The breath is a backdrop. The breath is everywhere. Understand "my breath" as the breath.
 
The description of the breath is "As you exhale, a cloud of mist rises and obscures your vision even further. It dissipates quickly[unicode 8212]until you exhale again."
 
Understand "exhale" as a mistake ("You are already doing that half of the time.")
 
Understand "inhale" as a mistake ("You are already doing that half of the time.")
 
Understand "breathe" as a mistake ("You are already doing that all the time.").
 
Book 3 - The Player
 
[% The player character is inspired mostly by my own impulses to dare nature and partly by my old housemate Rose's fondness for wine. The puffy black jacket is mine.]
 
Instead of taking inventory:
     say "You're carrying [a list of things carried by the player]."
 
The description of the player is "You are wearing [a list of things worn by the player]."
 
The player wears the puffy black jacket. The description of the puffy black jacket is "This jacket is not flattering in the slightest, but it isn't supposed to look good: It is supposed to keep you from freezing to death. It's not doing a very good job of that, either."
 
Instead of taking off the puffy black jacket, say "As lousy as this jacket is, it's far better than the alternative. You'll keep it on."
 
Part 1 - Important Items
 
A thing can be important.
 
Instead of dropping something important:
     say "Your housemates are expecting you to bring that home."
     
Check inserting something important into something:
     if the second noun is the plastic bag or the second noun is the canvas bag:
          continue the action;
     otherwise:
          say "Your housemates are expecting you to bring that home. You can't leave it with [the second noun]." instead.
          
Check putting something important on something:
     say "Your housemates are expecting you to bring that home. You can't leave it on [the second noun]." instead.
 
[% The PC's precious cargo comes to us from the B-52s song "Is That You Mo-Dean?" in which the narrator is "goin' to the store for hot dogs and wine" when he unwittingly embarks on a cosmic adventure. When I was ten or twelve years old I was obsessed with this song.]
 
Chapter 2 - The Plastic Bag
 
The player carries the plastic bag.
 
Section 1 - The Hot Dogs
 
The plastic bag contains the package of hot dogs. The package of hot dogs is important. Understand "hot dog" as the package of hot dogs.
 
The description of the package of hot dogs is "This package contains twelve hot dogs. You don't know how long this blizzard will last, but you and your housemates probably cannot survive the whole storm on twelve hot dogs[one of].[paragraph break]It occurs to you that you forgot the buns[or][stopping]."
 
Instead of opening the hot dogs, say "It's plenty cold out here, but it'd be more sanitary to leave the package sealed until you could put it in a proper refrigerator."
 
Instead of eating the hot dogs, say "You should save those for when you're starving to death."
 
[% A lot of work has gone into letting you carry around hot dogs and then never letting you do anything with them—and all in the service of a song lyric reference. Hello! Welcome to games Ryan wrote!!!]
 
Section 2 - The Solo Cups
 
[% We're about to see some complicated code dealing with the extraction of a Solo cup from a bag of Solo cups. This is all because of the compass puzzle, which will be introduced better later. I put a dumb amount of effort into making this code well-organized and I'm still not satisfied.]
 
The plastic bag contains the package of Solo cups. The package of solo cups is important.
 
The Solo cups can be closed or open. The solo cups is closed.
 
Instead of taking the solo cups while the solo cups is closed:
     try opening the solo cups.
 
Understand "cup" and "solo cup" as the package of Solo cups while the package of Solo cups is closed.
 
The description of the package of Solo cups is "This package contains [if open]71[otherwise]72[end if] red Solo cups. You and your housemates have plans for these."
 
Instead of opening the solo cups the first time:
     now the solo cups is open;
     now the player carries the Solo cup;
     say "You tear the plastic apart and pull out a cup."
     
Instead of opening the solo cups:
     say "It's already open. You've already got a cup."
 
Instead of closing the solo cups, say "[if the solo cups is open]The plastic is torn; you can't reseal it[otherwise]It's pretty well closed already[end if]."
 
Instead of inserting something into the solo cups, say "It'd be more practical to use a single cup as a container."
 
Section 3 - The Single Cup
 
 
The Solo cup is a container. Understand "plastic" and "plastic cup" as the Solo cup. The description of the Solo cup is "It's a red plastic cup[if full] with some wine in it[end if]."
 
The Solo cup can be full. The Solo cup is not full.
 
 
Instead of inserting the solo cup into the solo cups, say "Too late! The cup is out."
 
Instead of inserting a bottle into the Solo cup:
     if the noun is not the opened bottle:
          say "The bottle isn't open.";
     otherwise if the Solo cup is full:
          say "There's already some wine in there." instead;
     otherwise:
          now the Solo cup is full;
          say "You pour some wine into the Solo cup.";
          
Instead of drinking the Solo cup:
     if the noun contains something:
          say "Well, there's [a list of things in the solo cup] in there right now.";
     otherwise if the noun is full:
          say "You take a leisurely sip, and it warms your insides[unicode 8212]a little.";
     otherwise:
          say "That cup is empty."
     
 
Before inserting the snow into the Solo cup:
     say "A cup of snow won't do you much good. A cup of water might be more useful, but melting that much snow would require more body heat than you can spare." instead.
 
 
 
Section 4 - The Corkscrew
 
The plastic bag contains the corkscrew. Understand "cork screw" and "screw" as the corkscrew. The corkscrew is important. The description of the corkscrew is "It recently came to light that, somehow, neither you nor any of your housemates owned a corkscrew. Well, from now on, any time they want to screw a cork out of anything, they'll be at your mercy."
 
Instead of unlocking something with the corkscrew, try opening the noun.
 
[% I'm pretty sure the corkscrew is completely useless. I add stuff like this to games not to distract you, and not really to add penetrating character information like in the description above, but because realistically there are always completely useless things around us.]
 
Chapter 3 - The Canvas Bag
 
The player carries the canvas bag.
 
A bottle is a kind of thing.
 
A bottle is usually important.
     
Understand "wine" and "bottle of wine" and "wine bottle" as a bottle.
 
Section 1 - The Wine
 
The canvas bag contains two bottles.
 
[% I'm actually still ticked off about this so I'm afraid my commentary won't be very illuminating. The parser can't really handle identical objects. The Inform 7 framework makes sentences like "a bottle is a kind of thing" fairly fraught for purposes such as ours here. The rule that produces the response "You can't use multiple objects with that verb" is very difficult to get around.
 
So why do there have to be two bottles? Well, you end up opening one of the bottles. I don't actually know anything about wine, but the assumption we're operating under here is that opening a bottle and then carrying it home through a blizzard will ruin it for future consumption. So there has to be a second bottle that survives the trek intact—so the PC's objective can be fulfilled.
 
You know how much I love feedback, but please don't let me find out how opening wine and carrying it around in a blizzard really works. This took way too much effort to get it to work the way it does. I will start crying.]
 
The description of a bottle is usually "This is some extremely cheap wine."
 
The opened bottle is a bottle. The printed name of the opened bottle is "open bottle of wine".
 
The unopened bottle is a bottle. The printed name of the unopened bottle is "unopened bottle of wine".
 
Understand "open" and "opened" and "open bottle" and "open bottle of wine" and "opened bottle" and "opened bottle of wine" and "opened wine" and "open wine" and "opened wine bottle" and "open wine bottle" and "wine" as the opened bottle.
 
Understand "closed" and "unopened" and "unopened bottle" and "unopened bottle of wine" and "closed bottle" and "closed bottle of wine" and "closed wine" and "unopened wine" and "closed wine bottle" and "unopened wine bottle" and "wine" as the unopened bottle.
          
[% SO, the identical bottles get replaced with other bottles that start out offstage! a;[email protected]#%89'[email protected]#%&@$%O#[email protected]#VUT]
 
Instead of opening a bottle:
     if the opened bottle is offstage:
          repeat with vino running through bottles:
               remove vino from play;
          now player carries the opened bottle;
          now the unopened bottle is in the canvas bag;
          now the player carries the cork;
          say "You apply the corkscrew with some difficulty, given how cold your hands are and how cold everything else around is. But then there's a [i]pop![roman type][unicode 8212]and you have a loose cork and an open bottle on your hands.";
     otherwise:
          say "You've already opened a bottle[one of][or]. This is not the party you think it is[stopping]."
 
Instead of drinking a bottle:
     if the noun is not the opened bottle:
          say "That bottle is not open.";
     otherwise:
          say "[one of]Mmm. Wine-y[or]Dook dook, yum yum[or]That might be enough for right now[stopping]."
          
Does the player mean drinking the opened bottle:
     it is likely.
 
Does the player mean inserting the opened bottle into the Solo cup: it is very likely.
          
 
The Solo cup can be full. The Solo cup is not full.
 
Does the player mean inserting something into the Solo cup: it is likely.
 
Does the player mean drinking the Solo cup:
     if the solo cup is full:
          it is very likely;
     otherwise:
          it is very unlikely.
 
Understand "wine" as the Solo cup while the Solo cup is full.
 
Before inserting a bottle (called boite) into the package of solo cups:
     if the package of solo cups is closed:
          try opening the package of solo cups;
          try inserting boite into the solo cup instead.
 
     
 
Section 2 - The cork
 
The cork is a container. The description of the cork is "It's a sad little cork, with no insignia. One end is stained purple."
 
Check inserting something into the cork:
     if the noun is not the sewing needle:
          say "The cork can't contain that."
 
Volume 3 - The Woods
 
Book 1 - Highway
 
Highway is a room. "[one of]That was the hard part. From here on it's a straight shot, no problem.[paragraph break][or][stopping]The grocery store is north, across the highway; that's where you just were. To the south is a trail through the woods, and on the other side of that is your house[one of].[paragraph break]You should try to get there quick, before the storm catches up with you[or][stopping]."
 
[% I never shopped at the Hy-Vee supermarket on Dodge Street, but Rose did, and I think she worked there for a while. I always went to John's (which is an Iowa City landmark, supposedly?) or the Bread Garden downtown—but Rose's and my understandings of Iowa City's geography were very different, because she had a car. 
 
This game dares to imagine a character who goes to the same grocery store as Rose but who does not have a car.]
 
The invisible house is scenery in highway. Instead of doing something with the invisible house, say "You can't see your house from here. It's on the other side of the woods."
 
[% What tester tried to interact with the house from here? Come on.]
 
The road is scenery in highway. Understand "highway" and "street" and "intersection" and "car" and "cars" as the road. the description of the road is "The cars are all inching along carefully, and the snow on most of the road is undisturbed."
 
Instead of searching the road, say "The people in the cars are difficult to see, shrouded by clouds of their own breath."
 
The traffic signal is scenery in highway. Understand "traffic light" as the traffic signal. The description of the traffic signal is "Green, amber, red, green. You should get a move on."
 
The grocery store is scenery in highway. Understand "market" and "supermarket" and "light" and "lights" and "windows" and "window" as the grocery store. The description of the grocery store is "The grocery store is nearly abandoned; sensible people are all safe in their homes right now. But it is open, and its bright white lights shine out from its plate glass windows as a welcoming beacon to everyone who needs to stock up on bottled water before the blizzard hits."
 
The streetlamps are plural-named scenery in highway. Understand "streetlight" and "streetlights" and "streetlamp" as the streetlamps. The description of the streetlamps is "Rows of streetlamps hang above the road in both directions, neither of which is the direction of your house."
 
The trailhead is scenery in highway. Understand "trail" as the trailhead. The description of the trailhead is "As snow falls through the trees and blankets the forest, the trail gets more difficult to discern."
 
The treeline is a backdrop. The treeline is in highway and nearwoods and nearshed. Understand "tree" and "trees" and "forest" and "wood" and "woods" as the treeline. The description of the treeline is "[if location is highway]From here, the forest seems to go on forever[unicode 8212]but it's really not that far to the other side[otherwise]It's getting harder to tell where the forest is. It is probably north of you[end if]."
 
Instead of climbing the treeline, say "That is not part of your skillset."
 
Instead of going north in Highway, say "It's too late to go back to the store. [if the package of hot dogs is exed]You'll have to go home without buns[otherwise]Whatever you forgot, you can live without[end if]."
 
Instead of going nowhere in Highway, say "The way through the woods is south."
 
Instead of going south in Highway:
     say "Now you are walking into the woods.[paragraph break]Now you are losing your bearings.[paragraph break]You turn around, to retrace your path and return to the highway[unicode 8212]but the snow has already covered your footsteps, and the trail (if it was indeed the trail) is invisible.[paragraph break]Now you have no idea where you are.[paragraph break]";
     wander around;
     now visibility-text is "Pretty Bad".
 
Book 2 - Wandering the Woods
 
Definition: a room is vacant if it does not enclose the player.
 
Liwoods is a list of rooms that varies.
 
[% Lists are a very powerful feature in Inform 7. You can do a lot of interesting stuff with them. That being said, when you see a list in something I wrote, you can bet it's because nothing else worked.]
 
To wander around:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     if liwoods is empty:
          repeat with loco running through rooms in woods:
               add loco to liwoods;
          if location is in woods:
               remove location from liwoods;
     sort liwoods in random order;
     let target be entry 1 of liwoods;
     remove target from liwoods;
     now player is in target.
     
[% Basically, instead of giving you a truly random room every time, I shuffle the deck of "traipsing around in the woods" rooms and deal them to you one at a time. When you run out, I shuffle the deck again and we start over. This means that you'll see every room once before you see one twice, and there's a hard limit on how long you can wander around before running into the room you're looking for.]
 
Woods is a region.
 
Bearings is a truth state that varies. Bearings is false.
 
Instead of going nowhere in woods:
     if bearings is false:
          say "You wander [one of]aimlessly[or]determinedly[or]desperately[or]randomly[at random] [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
          wander around;
     otherwise:
          let lemmy be a random room adjacent to location;
          let way be the best route from location to lemmy;
          say "The way out of the woods is [way]. Further dillydallying is inadvisable.";
          
[% In the middle of the rule below is a very basic, increasingly blunt hinting system. The main purpose of the compass puzzle is its function as a pacing device, forcing you to experience the sensation of lost-in-the-wilderness-ness for a certain period of time before moving on to the next thing. Once I'm sure you've wandered around long enough, I'd just as soon solve the puzzle for you, except I know how much you love solving puzzles on your own.] 
 
After looking in woods:
     if bearings is false:
          say "[one of]Your house is south, but you don't know which way south is. [or][stopping]Obvious exits are [wandertype], [wandertype], [wandertype], and [wandertype].";
          if remainder after dividing turn count by 7 is 0:
               say "[line break][one of]You could move around more methodically if you had a compass, but you don't have a compass[or]You could conceivably make a compass[or]A compass is just a magnetized needle that's floating on something. Should be easy[stopping].";
     otherwise:
          let lemmy be a random room adjacent to location;
          let way be the best route from location to lemmy;
          say "[one of]The trail is starting to become more obvious, now that you have your bearings. You can continue [way][or]You're pretty sure the way home is [way][or]The trail continues [way][stopping].";
 
To say wandertype:
     say "[one of]WANDER AIMLESSLY[or]WANDER DETERMINEDLY[or]WANDER DESPERATELY[or]WANDER RANDOMLY[in random order]"
     
Section 1 - Wandering the actions
 
[% If we don't want to spoil the funny funny joke of listing "WANDER DESPERATELY" etc as the room exits, we have to let the player enter such commands successfully. To do this correctly we have to implement several different actions that are all different types of wandering. This kind of behavior never strikes me as bizarre or worrying when I'm doing it, but when I look back on such work I have to wonder what my deal is.]
 
Before wanderly behavior:
     if location is in woods:
          continue the action;
     if location is whiteness:
          continue the action;
     otherwise:
          say "You have a fairly solid grasp on your current location and, for better or worse, can't wander effectively." instead.
 
Wandering is an action applying to a topic. Understand "wander [text]" and "go [text]" as wandering.
 
Wandering is wanderly behavior.
 
Instead of wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     let N be the topic understood;
     if N matches the regular expression "ly\b":
          say "You wander [the topic understood] [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     otherwise:
          say "You wander [one of]aimlessly[or]determinedly[or]desperately[or]randomly[at random] [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
[% The above, if I may say, is a classy dang move! Here, if a smart-aleck player types in "wander mutely," the game comes back with "You wander mutely through the woods." This only works if the word ends in -ly though.]
     
Vague wandering is an action applying to nothing. Understand "wander" and "meander" as vague wandering.
 
Vague wandering is wanderly behavior.
 
Instead of vague wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     say "You wander [one of]aimlessly[or]determinedly[or]desperately[or]randomly[at random] [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
Random wandering is an action applying to nothing. Understand "wander randomly" and "randomly" as random wandering.
 
Random wandering is wanderly behavior.
 
Instead of random wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     say "You wander randomly [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
desperate wandering is an action applying to nothing. Understand "wander desperately" and "desperately" as desperate wandering.
 
Desperate wandering is wanderly behavior.
 
Instead of desperate wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     say "You wander desperately [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
determined wandering is an action applying to nothing. Understand "wander determinedly" and "determinedly" as determined wandering.
 
Determined wandering is wanderly behavior.
 
Instead of determined wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     say "You wander determinedly [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
aimless wandering is an action applying to nothing. Understand "wander aimlessly" and "aimlessly" as aimless wandering.
 
Aimless wandering is wanderly behavior.
 
Instead of aimless wandering in woods:
     if bearings is true:
          say "Now that you have a compass, you can't really wander anymore[unicode 8212]not in earnest, anyway.";
          rule succeeds;
     say "You wander aimlessly [one of]through the woods[or]in a direction[or]across the snow[or]along what may very well be the right trail[at random].";
     wander around;
 
     
 
Section 2 - Sounds
 
Every turn while player is in woods:
     if a random chance of 1 in 8 succeeds:
          say "[one of]You hear a car zooming dangerously fast on the highway[unicode 8212]Wait, which way was that coming from?[or]You hear the sirens of a distant emergency vehicle.[or][if corvid encloses the crows]You hear an unseen owl hooting a warning. Too late, owl.[otherwise]You hear a crow shrieking: [fixed letter spacing]'TEKELI-LI!'[variable letter spacing][line break][end if][stopping]";
 
[% In this game and in Wrenlaw, my idea of the "wilderness" is a few acres of forest surrounded on all sides by highways, golf courses, cemeteries, and so on.]
 
          
Section 3 - Dropping and putting
 
[% This looks like it's preventing us from leaving behind our precious hot dogs and wine, but that was taken care of earlier. The point of these particular rules is to dissuade the player from trying to solve the "maze" in the traditional bread crumbs fashion, and maybe to maintain the uncertainty of whether or not you're walking by the same stump over and over again.]
 
Instead of dropping something in woods while bearings is false:
     say "You shouldn't drop that here. Who knows if you'd be able to find it again?"
     
Instead of putting something on something in woods while bearings is false:
     if player encloses second noun:
          say "No need to get fancy.";
     otherwise:
          say "You shouldn't leave that there. Who knows if you'd be able to find it again?"
 
Book 3 - Backdrops in Woods
 
The forest is a backdrop. The forest is in woods. Understand "forest" and "woods" and "wood" and "trees" and "branch" and "branches" as the forest.
 
Understand "tree" as the forest while the player is not enclosed by Corvid.
 
The description of the forest is "The trees are all essentially identical, and an infinite number of them can seen in any direction. Between their leafless branches the sky glows mercury-pink, swirling with snowflakes."
 
[% I have a theory that you can "brand" text games with their "palettes." It is my belief that, if you only mention a few colors in your game, the player will associate the game with those colors, and have a stronger impression of the game overall. (If your game has cover art, and the palette of the cover art matches the palette of the game, then so much the better.) But if you mention a bunch of other colors, your palette will be diluted, and the player's impression will be less strong.
 
This game, like Arthur Gordon Pym, leans heavily on the tension between whiteness and blackness, so I tried to mention only black and white. However, the color of a cloudy night sky lit up by old streetlamps is in fact "mercury-pink," so my hands were tied.]
 
Instead of climbing the forest, say "That is not part of your skillset."
 
The freeway is a backdrop. The freeway is in woods. Understand "highway" and "car" and "sirens" and "siren" and "ambulance" and "emergency vehicle" and "road" as the freeway.
 
Instead of listening to the freeway, say "As the wind picks up, it's tough to make out any sound from the highway."
 
Instead of doing something other than listening with the freeway, say "You have no idea which way the road is."
 
Book 4 - Rooms in Woods
 
Part 1 - Bench
 
Benchzone is a room in Woods. The printed name of benchzone is "Bench".
 
The description of benchzone is "There's a little bench here, for hikers to rest on as they enjoy the beauty of nature. It is covered in snow."
 
The old bench is a scenery supporter in benchzone. The description of the old bench is "It's an old bench, all splintered wood and rusted metal."
 
Instead of entering the old bench, say "To sit on the bench would be to sit on a bunch of snow. Your butt would get wet."
 
Instead of looking under the old bench, try examining the old bench.
 
After examining the old bench the first time:
     now the Altoids tin is in the location;
     say "There's an Altoids tin stuck to the side of it somehow."
 
Instead of rubbing the old bench, say "By the time you've wiped the snow off the bench, there's a new dusting covering it. This is one of those Sisyphean deals[unicode 8212]but you don't have time to rest anyway."
 
 
Section 1 - Altoids Tin
 
[% There are several connections between this game and my other game Wrenlaw, which also takes place in Iowa City. Their most superficial commonality is the theme of geocaching.]
 
The Altoids tin is a closed openable container. The initial appearance is "An Altoids tin is stuck to the side of the bench."
 
Understand "magnet" and "tape" and "lid" as the tin.
 
The description of the Altoids tin is "It's obviously an Altoids tin, although it's rusted up pretty bad, and the logo is covered in a bunch of tape, securing [one of]something[unicode 8212]oh, a magnet![unicode 8212][or]a magnet[stopping] to the lid. That must be how [if handled]it was[otherwise]it's[end if] sticking to the side of the bench."
 
The altoids tin contains a strip of paper. The description of the strip of paper is "[one of]The paper is rolled up tight, but once unrolled, it says:[paragraph break][italic type]Congratulations! You’ve just found a geocache—intentionally or not. Geocaching is the anytime, anywhere adventure where players (called geocachers)[roman type][paragraph break]You don't have time for this. You roll the paper back up[if the altoids tin contains the strip of paper] and return it to the tin[end if][or]You can pick up a new hobby later. Now is not the time for geocaching[stopping]."
 
The altoids tin contains a penny. The description of the penny is "This penny has seen better days."
 
[% Tiny containers in Inform 7 are a difficult subject, since by default a container can contain anything the PC can lift. To implement this kind of thing realistically, you have to wait until you've added every item that's going to end up in the game, pull out the list of portable objects, and then evaluate the size of each one.]
 
Before inserting something into the altoids tin:
     if the noun is the penny or the noun is the strip of paper:
          continue the action;
     otherwise if the noun is the sewing needle:
          say "Once it's left inside the tin, the needle sticks to the side with the magnet.";
          continue the action;
     otherwise if the noun is the opened bottle:
          say "Filling the tin with wine is a losing proposition; the metal is rusted straight through in a few places. Besides, what did you buy those Solo cups for if not to put wine in them?" instead;
     otherwise:
          say "[The noun] won't fit in the Altoids tin. (Altoids tins are very tiny.)" instead;
 
 
Part 2 - Crows
 
Corvid is a room in Woods. The printed name of Corvid is "Tree Full of Crows".
 
The description of corvid is "You have reached an ancient oak tree. Its branches are heavy with black crows.[paragraph break]They are weirdly quiet."
 
The oak tree is scenery in corvid.
 
The description of the oak tree is "The oak dominates this area, forcing shorter and skinnier trees to wait at a respectable distance. Crows are perched on every branch, crowded together in a black mass."
 
Instead of climbing the oak tree, say "That is not part of your skillset."
 
The black crows are plural-named scenery in corvid. Understand "crow" and "bird" and "birds" as the black crows.
 
Instead of doing something other than examining with the black crows, say "They're way up there, and they don't seem to care about anything you do."
 
The description of the black crows is "The crows are crammed close together for warmth, and you can't make out any individuals, much less guess how many are up there. You can tell they're crows, though, by the way they hop around and flap occasionally.[paragraph break]Here's a fun thing you can try in real life: While you're near a tree full of crows, quickly (but silently) raise your arms into the air.[paragraph break]If the author were going to try doing this in a text adventure interactive documentary, I guess the command he'd enter would be 'wave.'"
 
[% I guess I can imagine doing this "puzzle" without resorting to directly addressing the player, but that is not how I roll. Most of the time, I am just plain unable to take the fourth wall seriously. I am talking to you. I know you're a person playing my game, and you know that a guy wrote the words you're reading—whom are we trying to fool?
 
Anyway this totally does make crows jump up and sometimes fly out of their tree. I guess crows are always watching out of the corner of their eyes for other crows to jump up into the air and fly away.]
 
Instead of waving at the black crows, try waving hands.
 
Instead of waving hands while the black crows are visible:
     say "You raise your arms quickly (but silently), and the whole flock of crows flies out of the tree in a noisy and confused manner. As wild as this seems, it is totally a real thing that happens, and in the author's experience it is very reliably reproducible.[paragraph break]It is not typical for the crows to shriek [f]'TEKELI-LI!'[variable letter spacing] as they fly off, though, the way they're doing right now.[paragraph break]Something shiny falls out of the tree and into the snow at your feet. You pick it up before you lose track of it.";
     remove the black crows from play;
     now printed name of corvid is "Empty Oak Tree";
     now the description of corvid is "You have reached an ancient oak tree. Its branches do not have crows hanging out in them anymore.";
     now description of oak tree is "The oak dominates this area, forcing shorter and skinnier trees to wait at a respectable distance. Between its leafless branches the sky glows mercury-pink, swirling with snowflakes.";
     now the player carries the sewing needle.
 
[% "Tekeli-li!" is the haunting cry everybody remembers from At the Mountains of Madness, but Lovecraft stole it from Poe, who had some scary birds scream it in Arthur Gordon Pym.]
     
The sewing needle is a thing. Understand "something" and "shiny" and "something shiny" and "pin" as the sewing needle. The description of the sewing needle is "It's a sewing needle. Apparently someone lost it, then a crow found it, and then the crow lost it[unicode 8212]when you scared the poor thing out of its tree."
 
The sewing needle can be magnetized. The sewing needle is not magnetized.
 
Instead of putting the sewing needle on the old bench:
     if the needle is magnetized:
          say "You touch the sewing needle to the metal part of the bench. It sticks![paragraph break]You pick up the needle.";
     otherwise:
          say "You press the needle against the bench. Nothing happens."
          
Instead of putting the sewing needle on the corkscrew:
     if the needle is magnetized:
          say "You press the needle against the corkscrew, and they stick together, tenuously. The curves of the corkscrew make it impossible for the needle to stay stuck for long, so you pull them apart.";
     otherwise:
          say "You touch the needle and the corkscrew to each other. Nothing happens."
 
Part 3 - Log
 
Logzone is a room in woods. The printed name of logzone is "Near a Log".
 
The description of Logzone is "You are near a log. It will serve as a useful point of reference, as long as there's only one fallen log in these woods."
 
The log is scenery in logzone. The description of the log is "It's a thick log, but the stump it used to be connected to is not in evidence. A layer of snow is rapidly accumulating on top of it."
 
Instead of entering the log, say "It'd be an uncomfortable seat even if it weren't covered in snow."
 
Part 4 - Fire Pit
 
Camp is a room in Woods. The printed name of Camp is "Fire Pit".
 
The description of camp is "A circle of rocks here indicates that this area was used as a fire pit at some point by an outdoorsperson or outdoorspeople. The rest of their campsite is long gone."
 
The fire pit is scenery in camp. Understand "camp" and "campsite" and "circle" and "rock" and "rocks" and "circle of rocks" as the fire pit.
 
The description of the fire pit is "Soon the snow will cover the rocks completely, and the fire pit will appear as a raised circle of snow[unicode 8212]then the snow will cover that."
 
Part 5 - Stump
 
Stumpzone is a room in Woods. The printed name of stumpzone is "Near a Stump".
 
The description of stumpzone is "You've stopped near a huge tree stump, which is quickly disappearing under the snow."
 
The stump is scenery in stumpzone. The description of the stump is "Whatever mighty tree grew from this stump is nowhere to be seen."
 
Instead of entering the stump, say "It'd be an uncomfortable seat even if it weren't covered in snow."
 
Book 5 - Escaping The Woods
 
[% And here—phew!—is the puzzle solution. Some of the mechanics are up with the information about the wine and the Solo cups.
 
Pushing a needle through a cork is probably really tough. In real life, you would not be able to do it with your bare hands. I guess typically when you make a magnet out of a needle and a cork you just attach the needle like with tape? Anyway.]
 
Understand "rub [the sewing needle] on [the altoids tin]" as putting it on.
 
Understand "rub [the altoids tin] on [the sewing needle]" as putting it on.
 
Before putting the altoids tin on the sewing needle:
     say "You rub the needle against the magnetized lid of the tin several times. A dozen times. Twenty times. Forty times.[paragraph break]Eventually your arm gets tired. Well, if it's not magnetized now, it never will be.";
     now the needle is magnetized instead.
 
Before putting the sewing needle on the altoids tin:
     say "You rub the needle against the magnetized lid of the tin several times. A dozen times. Twenty times. Forty times.[paragraph break]Eventually your arm gets tired. Well, if it's not magnetized now, it never will be.";
     now the needle is magnetized instead.
     
Understand "magnetize [text]" as a mistake ("One good way to magnetize something is to rub it on a magnet. This only works if the thing you're magnetizing is made out of some kind of ferrous metal in the first place, though.").
 
Understand "magnetise [text]" as a mistake ("One good way to 'magnetise' something is to rub it on a magnet. This only works if the thing you're 'magnetising' is made out of some kind of ferrous metal in the first place, though.[paragraph break]This interactive documentary takes place in America, by the way.").
 
[% "Understand... as a mistake" is an odd little piece of Inform 7 syntax that lets you kind of brush aside a specific command. I find it's most useful when you know that players are going to type one thing but you want them to type something else. You can also do this by declaring a new "magnetizing" action, but if you're not concerned with the action affecting the world model (like here, where all we want is a smartaleck response), phrasing something as a mistake takes a lot less time. "[text]" means the game will give this response no matter what you try to magnetize]
     
Check inserting the sewing needle into the Solo cup:
     say "I'm gonna stop you there. You're on the right track, but I'm afraid the most you can accomplish by putting the needle right in the cup is accidentally swallowing a needle." instead.
 
Before putting the sewing needle on the cork:
     try inserting the noun into the second noun instead.
 
Before inserting the sewing needle into the cork:
     if the player does not carry the cork:
          say "[if the Solo cup contains the cork]You fish the cork out of the cup[otherwise]You pick up the cork[end if].";
          silently try taking the cork;
          
After inserting the sewing needle into the cork:
     say "With a great effort you push the needle lengthwise through the cork, until the point emerges from the other end."
     
Understand "compass" as the solo cup while bearings is true.
 
Every turn while bearings is false:
     if the solo cup is full and the solo cup contains the cork:
          if the cork contains the needle and the needle is magnetized:
               now bearings is true;
               map out the woods;
               say "You stare at your makeshift compass intently, shielding it from the snow with your hand, trying not to disturb it with your breath. The cork spins around aimlessly[unicode 8212]No! It's turning back![paragraph break]It oscillates, and then it stops, pointing steadfastly toward what must be either the north or the south pole of this Earth. Let's say it's pointing north. It's a 50/50 proposition, right?[paragraph break]You look around. If [italic type]that's[roman type] north, then your house is [italic type]that[roman type] way, and the clearest path through the woods in that general direction is: southeast."
               
Check examining the solo cup:
     if the solo cup is full and the solo cup contains the cork:
          say "The cup is full of wine; a cork [if the cork contains the needle]with a needle stuck in it [end if]floats on top[if the cork contains the needle and the needle is magnetized], one of its ends pointing north[otherwise if the cork contains the needle], spinning around randomly[end if]."
 
[% The complex arrangement of parts in this makeshift compass requires a great deal of action-checking to prevent you from doing things in the wrong order, disassembling the compass (in ways that make sense and in ways that don't), etc. Not every case has been covered.]
               
Check taking the needle:
     if bearings is true and the location is in woods:
          say "You don't want to dismantle your compass before you get out of these dang woods." instead.
          
Check taking the cork:
     if bearings is true and the location is in woods:
          say "You don't want to dismantle your compass before you get out of these dang woods." instead.
          
Check dropping the Solo cup:
     if bearings is false:
          say "That would be littering." instead;
     otherwise if location is in woods:
          say "You want to hold onto that compass, at least until you get out of these dang woods." instead;
     otherwise:
          say "Even if you don't need a compass anymore, you don't want to leave a cup of wine sitting around. A kid could find it." instead.
          
Check inserting the solo cup into something:
     if the solo cup is full:
          say "The cup is full of wine, is the thing." instead;
     otherwise if the second noun is the canvas bag or the second noun is the plastic bag:
          continue the action;
     otherwise:
          try dropping the Solo cup instead.
          
Check putting the solo cup on something:
     try dropping the Solo cup instead.
 
A room can be placed or unplaced. A room is usually unplaced.
 
To map out the woods:
     now the location is placed;
     let larry be a random unplaced room in woods;
     now larry is mapped southeast of the location;
     now larry is placed;
     let iggy be a random unplaced room in woods;
     now iggy is mapped south of larry;
     now iggy is placed;
     let wendy be a random unplaced room in woods;
     now wendy is mapped southwest of iggy;
     now wendy is placed;
     let roy be a random unplaced room in woods;
     now roy is mapped south of wendy;
     now roy is placed;
     now nearwoods is mapped south of roy;
 
[% Weirdly, the woods unscramble themselves into a random order. There's no true arrangement of rooms. Also I used Koopaling names! I amuse myself.]
 
Volume 4 - The Cemetery
 
Book 1 - General Cemetery Stuff
 
Cemetery is a region.
 
[% All right: In real life, across Dodge Street from the supermarket, to the south/southeast, is Hickory Hill Park. Adjacent to the park, on its west/southwest side, is Oakland Cemetery. The game's geography is accurate, kind of, but I straightened everything out such that progress—and danger—always lies to the south.]
 
     
Section 1 - Messages
 
Angelmessage is a truth state that varies. Angelmessage is true.
 
After looking in Cemetery:
     now visibility-text is "Very Bad";
     now description of the snow is "You can detect the snow mainly as a burning cold on your neck, your face, and your hands. You can't really see it; rather, it renders everything else invisible.";
     now description of the sky is "There are no streetlamps to illuminate the sky here.";
     if angelmessage is true:
          say "[one of]The wind blows a black feather past your face[unicode 8212]and out of sight.[or]In the black sky, a blacker shape appears[unicode 8212]No, you're imagining things.[or][fixed letter spacing]'TEKELI-LI!'[line break][variable letter spacing][stopping]";
          now angelmessage is false;
     otherwise:
          now angelmessage is true.
     
 
Section 2 - Graves
 
The grave markers are plural-named backdrop in Cemetery. Understand "grave" and "graves" and "date" and "dates" and "marker" and "grave marker" and "tombstone" and "tombstones" and "stone" and "stones" and "tomb stone" and "tomb stones" and "headstone" and "headstones" and "head stone" and "head stones" and "memorial" and "memorials" and "gravestone" and "gravestones" and "grave stone" and "grave stones" and "graveyard" and "cemetery" as the grave markers.
 
[% In case you missed it, the above paragraph includes 6,442 synonyms for the grave markers.]
 
Instead of examining the grave markers:
     say "You bend down to squint at one of the gravestones.[paragraph break][gravetext of the location][paragraph break][if a random chance of 1 in 3 succeeds][one of]Your knees ache as you erect yourself[or]Snow stings the small of your back[unicode 8212]you stand up and adjust your jacket[or]You raise your head before a trickle of snot can fall out of your nose[as decreasingly likely outcomes]."
     
A room has text called gravetext. Gravetext of a room is usually "It reads: 'FILLER TEXT.'"
 
Section 3 - Cemetery Backdrops
 
[% The cemetery is kind of a weird space in the parser IF paradigm, because it's divided into locations that aren't intuitively discrete, defined only by being nearer to one thing than another. This benign weirdness is compounded by my messing around with the player character's perceptions. There's a lot of "stage dressing" that operates by not being interactive or even visible.
 
A "backdrop," in Inform 7 terms, is a scenery object that exists in multiple rooms. You can do far neater stuff with this mechanic than I did here.]
 
The ditch is a backdrop. Understand "creek" as the ditch. The ditch is in nearwoods and nearmausoleum and nearobelisk. Description of ditch is "You can't see it from here."
 
Before doing something other than examining with the ditch:
     try examining the ditch instead.
     
The wooden fence is a backdrop. The wooden fence is in nearshed and nearobelisk and neargate. The description of the wooden fence is "You're pretty sure the wooden fence [italic type]exists[roman type], over to the east somewhere, but that's about it."
 
Before doing something other than examining with the wooden fence:
     try examining the wooden fence instead.
 
 
The shape is a backdrop in cemetery. Understand "shapes" and "[shapely] shape" and "[shapely] shapes" as the shape.
 
Understand "large" and "larger" and "small" and "smaller" and "dark" and "darker" and "black" and "blacker" as "[shapely]".
 
The description of the shape is "You peer into black torrents of snow. Your eyes unfocus. You see out to what might be an infinite distance. You lose track of what you were looking for."
 
Before doing something other than examining with the shape:
     say "It is way over there." instead.
     
Book 2 - Rooms In The Cemetery
 
Part 1 - Near The Woods
 
nearwoods is a room in cemetery. Printed name of nearwoods is "Near the Woods".
 
Description of nearwoods is "[one of]This is fairly close to where you thought you'd end up. Getting home from here should be easy.[paragraph break][or][stopping]You're at the north end of the cemetery, where it meets up with the woods. In all other directions are diminishingly visible grave markers.[one of] There are no streetlights over the cemetery, and the snow has picked up a bit.[or][stopping][paragraph break]You can see (or you remember seeing, or you imagine having seen) larger shapes to the east and south."
 
Instead of going north in nearwoods, say "Your house is south. North are the woods, wherein you've spent plenty of time already."
 
Instead of going northeast in nearwoods, say "Your house is south. Northeast are the woods, wherein you've spent plenty of time already."
 
Instead of going northwest in nearwoods, say "Your house is south. Northwest are the woods, wherein you've spent plenty of time already."
 
Instead of going west in nearwoods, say "You trudge west a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the trailhead."
 
Instead of going southwest in nearwoods, say "You trudge southwest a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the trailhead."
 
Before going southeast in nearwoods, say "You venture foolishly to the southwest, where you can't see anything."
 
[% The room descriptions only list connections in orthogonal directions, but it's possible to cut across diagonally. Speed runners take note! Actually, because of the layout, moving diagonally wouldn't really save any time.]
 
Gravetext of nearwoods is "[one of]This one says 'HEYERDAHL.'[or]It's a little lamb, weathered and cracked. The inscription is impossible to make out.[or]'HOCK' is etched in the black marble.[or]A skull is carved in the limestone, and beneath that the name 'HARRYHAUSEN.'[then at random]"
 
[% Thor Heyerdahl is a fellow Norwegian; Hans Hock is a historical linguist; both appear here because I was looking over at my bookshelf. Harryhausen is Ray obviously.]
 
Part 2 - Near a Shed
 
nearshed is a room in cemetery. Printed name of nearshed is "Near a Shed".
 
Nearshed is east of nearwoods and northeast of nearmausoleum.
 
Description of nearshed is "The tombstones draw oddly close to this shed. Too many people have died; there's no room left for cemetery maintenance.[paragraph break]The shed itself is unbelievably decrepit, and leans about thirty degrees away from the perpendicular. This must be down to an unevenness of the ground[unicode 8212]but you could easily believe it was warped just this evening, by this bitter wind.[paragraph break]Vague spaces lurk south and west."
 
[% STEPHEN MALKMUS WATCH: "Vague Space" is a good song and a great title]
 
Before going southwest in nearshed, say "You plod to the southwest, where you can't see anything."
 
Instead of going north in nearshed, say "Your house is south. North are the woods, wherein you've spent plenty of time already."
 
Instead of going northeast in nearshed, say "Your house is south. Northeast are the woods, wherein you've spent plenty of time already."
 
Instead of going northwest in nearshed, say "Your house is south. Northwest are the woods, wherein you've spent plenty of time already."
 
Instead of going east in nearshed, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going southeast in nearshed, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Gravetext of nearshed is "[one of]Under the gothic finials is the name 'NATHAN GRAVES.'[or][italic type]Here Lyes[line break]J. McGILLICUTTY[line break]Killed for Lying.[roman type][or]EPPS[line break]1944 -[paragraph break]Not yet, apparently.[or]Soaring over the name 'LOMBARDI' is a carving of a ferocious bird of prey.[then at random]"
 
[% Nathan Graves is the hero of my favorite Castlevania game. McGillicutty's epitaph was written by my dad. I would think the Epps is Omar but he wasn't born in 1944 so who knows. Falco Lombardi is a Star Fox character.]
 
The shed is closed openable scenery container in nearshed. The description of the shed is "The planks of the shed have shrunken with age, and the snow blows inside without difficulty[if the shed is closed]. The door is closed[end if]."
 
Understand "door" and "plank" and "planks" as the shed.
 
Instead of entering the shed, say "The shed is no kind of shelter: The walls are full of holes, and the whole time you were inside, you'd have to stand at an angle."
 
[% This italicized shed used to be in a cemetery outside of Waterloo, but it's gone now. Only this text facsimile remains!]
 
Instead of attacking the shed, say "It wouldn't be a fair fight."
 
Chapter 1 - The Shovel
 
The shed contains the shovel. Understand "spade" as the shovel. The description of the shovel is "Although chipped and rusty, this shovel looks a lot more sturdy than the shed[if the location is not nearshed] where you found it[end if]."
 
After taking the shovel the first time, say "You lift the shovel. The rusty handle should be cold enough to burn your bare hands, but you feel fine."
 
[% This can read as a clue that the PC is a ghost or something but the idea is that you are actually in the early stages of frostbite.]
 
Part 3 -  Near a Mausoleum
 
nearmausoleum is a room in cemetery. Printed name of nearmausoleum is "Near a Mausoleum".
 
nearmausoleum is south of nearwoods.
 
Description of nearmausoleum is "The marble edifice offers no shelter from the storm (to you, anyway), but it at least serves as a point of reference among the swirling snow and rows of headstones.[paragraph break]The way back to the woods is north. Something else is east."
 
Instead of going west in nearmausoleum, say "You trudge west a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the mausoleum."
 
Instead of going northwest in nearmausoleum, say "You trudge northwest a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the mausoleum."
 
Instead of going southwest in nearmausoleum, say "You trudge southwest a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the mausoleum."
 
Instead of going south in nearmausoleum, say "You trudge south a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the mausoleum."
 
Before going southeast in nearmausoleum, say "You blindly march to the southeast, where you can't see anything."
 
Before going northeast in nearmausoleum, say "You recklessly walk northeast, where you can't see anything."
 
Gravetext of nearmausoleum is "[one of][italic type]Vain the Hopes for such as me[line break]Who dwell in deep Eternity.[roman type][or]The ancient stone reads: 'PYM.'[or]The engraving is in Chinese or something. You can't make head or tail of it.[or]'Celeste NOLAN[line break]Wife - Mother - Embezzler'[then at random]"
 
[% The epitaphs were written by my dad. "Pym" is the name of some sort of guy or something. The Buddhist grave marker is in homage to cool cemeteries I saw in Hawaii; look for more in my 2018 game Curse of the Garden Isle.]
 
The mausoleum is scenery in nearmausoleum. The description of the mausoleum is "The snow seems to fly deliberately around rather than settle in a drift against the walls and columns of black marble. The bars over the windows and door are wrought in a floral motif; the name chiseled over the threshold is 'SILAS.'"
 
[% A "Silas" was also referred to in Wrenlaw, and in Dial C for Cupcakes. ]
 
Understand "wall" and "walls" and "column" and "columns" and "bar" and "bars" and "iron bar" and "iron bars" and "door" and "floral motif" and "motif" and "name" and "silas" and "crypt" and "window" and "windows" and "decoration" and "decorations" as the mausoleum.
 
Instead of opening the mausoleum, say "You tug on the iron bars halfheartedly. Nothing happens. Must be locked."
 
Instead of unlocking the mausoleum with something, say "If there is in fact a keyhole, you can't see it."
 
Instead of pulling the mausoleum, try opening the noun.
 
Instead of entering the mausoleum, try opening the noun.
 
Instead of searching the mausoleum, say "There are windows of a sort, but they seem primarily to be frames for additional wrought-iron decoration, and you can see nothing of interest on the other side."
 
 
 
Part 4 - Near an Obelisk
 
nearobelisk is a room in cemetery. Printed name of nearobelisk is "Near an Obelisk".
 
nearobelisk is south of nearshed and east of nearmausoleum and southeast of nearwoods.
 
Description of nearobelisk is "The open area around the obelisk must be a driveway, underneath the snow. The nearby grave markers all stand at a respectable distance.[paragraph break]At the foot of the monument is a spotlight. It's either turned off or burnt out.[paragraph break]A large dark shape is west, and a smaller dark shape is north. If what you're standing on is indeed a road, it leads south."
 
Instead of going southeast in nearobelisk, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going northeast in nearobelisk, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going east in nearobelisk, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going southwest in nearobelisk, say "You trudge southwest a bit and almost fall into a ditch. It may actually be a creek. It's not really worth making sure.[paragraph break]You return to the obelisk."
 
Before going northwest in nearobelisk, say "You nonchalantly amble to the northwest, where you can't see anything."
 
Gravetext of nearobelisk is "[one of]There's no name or epitaph, just two hyphen-separated dates.[or][italic type]Betimes, my love, you fled from me[line break]Beyond cold Death's unyielding door[line break]Your precious beauty food for worms[line break]Alas, I'll never see you more[roman type][or]It reads: [italic type]Here Lies Aaron Berenstein[line break]For All Your Flooring Needs,[line break]Call Berenstein & Sons Surfaces[line break](319) 337-4054[roman type][or][italic type]MAX von SYDOW[line break]Not That Max von Sydow[line break]1929 -[then at random]"
 
[% The thing about two hyphen-separated dates is a really clever reference to the wall of text at the beginning of the game, and yes I really did literally pat myself on the back while typing this sentence. I don't remember whether I or my dad wrote the Max von Sydow joke, but I really want to say the Aaron Berenstein epitaph was one of mine.]
 
The obelisk is scenery in nearobelisk. Understand "monument" and "monolith" and "pillar" and "white" and "marble" as the obelisk. Description of obelisk is "A pillar of white marble points up in defiance, or reproach, or warning, toward[unicode 8212]you can't see what. There's a bunch of clouds in the way."
 
[% It is pointing at the storm itself. This, too, is clever. I am clever. Shut up.]
 
The spotlight is scenery in nearobelisk. Understand "light" and "spot" and "spot light" as the spotlight. Description of spotlight is "It points up at the obelisk, and its brilliant white light reflects from the monolith's surface, making it a beacon to the entire cemetery, when the light's turned on." 
 
Instead of switching on the spotlight, say "You can't find any switch."
 
Instead of switching off the spotlight, say "You can't find any switch."
 
The driveway is a backdrop. The driveway is in nearobelisk and neargate. Understand "road" as the driveway. The description of the driveway is "This stretch of snow-covered ground without any grave markers on it is probably a driveway."
 
[% Above are four rooms, which, besides all those gravestones, basically contain one thing each. We could have made them all one room. But then you wouldn't have had to wander around.]
 
Part 5 - Near the Gate
 
neargate is a room in cemetery. Printed name of neargate is "Near the Gate".
 
neargate is south of nearobelisk and southeast of nearmausoleum.
 
Description of neargate is "You can see the southern wall of the cemetery now, and straight south down the driveway is the gate.".
 
Gravetext of neargate is "[one of]Raised granite letters read 'RODINA FELDEVERTOVA.'[or][italic type]CLARK[line break]ANDY & MELISSA[line break]IN PERPETUUM[roman type][or]The limestone is so weathered that no discernible inscription remains.[or]The name in the inscription is your name.[paragraph break]No, wait, it's spelled slightly differently. Plus this person died in 1956.[then at random]"
 
[% Rodina Feldevertova is the name on the real life Black Angel of Oakland Cemetery. Andy and Melissa Clark is a friend of mine.]
 
Instead of going northeast in neargate, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going east in neargate, say "You can walk only a few yards before you run violently into a wooden fence[unicode 8212]all but invisible in the thick snow."
 
Instead of going southeast in neargate, say "The gate is south. Southeast is just a wall."
 
Instead of going southwest in neargate, say "The gate is south. Southwest is just a wall."
 
Before going northwest in neargate, say "You hike northwest, where hopefully there's something to hike toward."
 
The southern wall is scenery in neargate. The description of the southern wall is "Increasingly tall drifts of snow are forming against the brick wall. The only way out is the gate just south of here."
 
instead of climbing the southern wall, say "That is not part of your skillset."
 
Chapter 1 - The Gate
 
The gate is a backdrop. The gate is in neargate and Peters Street.
 
The gate can be open or closed.
 
The description of the gate is "The gate is thick bars of iron, in an appropriately stoic design. [if location is neargate]And, though the cemetery should definitely be closed by this time of night, the gate is open. How lucky for you[otherwise if gate is closed]It is closed[otherwise][closegate]As you turn back to look, the gate swings shut, as if by an invisible hand[unicode 8212]no, by the wind[end if]."
 
To say closegate:
     now gate is closed.
 
Instead of opening the gate:
     if gate is open:
          say "That is already open.";
     otherwise:
          say "You give the gate a furtive tap. Nope! Won't budge. Locked up tight."
 
Instead of closing the gate:
     if location is neargate:
          say "That would not be helpful.";
     otherwise if gate is closed:
          say "That is already closed.";
     otherwise:
          now gate is closed;
          say "You pull on the gate slowly, carefully, but its inertia carries it faster and faster until it screeches into place. The gate is closed."
 
Instead of entering the gate:
     if location is neargate:
          try going south;
     otherwise:
          try going north.
 
Chapter 2 - The Black Angel
 
[% There's a limestone statue of an angel in Oakland Cemetery that mysteriously turned black, and there are all kinds of legends around it, like there are about black angel statues in cemeteries all over the dang place. This one is—chillingly!—the same one mentioned in Wrenlaw.
 
A statue in a cemetery also came to life in The Statue Got Me High, and this game resembles that one in some really deliberate-looking ways. Each game's PC is tasked with retrieving wine, suffers the cthonic wrath of an animate statue, and descends from normal reality into a surreal zone where standard logic is overturned by the dominance of a natural force (fire, snow). I don't think I did any of this on purpose.]
 
The Black Angel is a woman in neargate. Understand "her" and "death" and "hand" and "hands" and "stone" and "statue" and "skull" and "wing" and "wings" and "feather" and "feathers" and "eye socket" and "eye sockets" and "socket" and "sockets" as the black angel.
 
The Black Angel can be vexed. The Black Angel is not vexed.
 
 
The initial appearance of the Black Angel is "[if combatstate is true]The Black Angel floats between you and the gate[otherwise if black angel is vexed]The Black Angel hovers near the gate, awaiting your approach[otherwise]Off to the side, the Black Angel stands guard among the tombstones[end if]."
 
Instead of rubbing the black angel:
     say "Rubbing your hands all over her seems a trifle disrespectful."
 
The description of the Black Angel is "[if vexed]Your eyes pass over the wide arc of her wings, the curve of her scythe, her worn stone hands. Then you look up, into her eye sockets[unicode 8212]and you quickly look away[otherwise]Though the stone is old, her features are distinct even in this light: Her brow is stern, but her gaze is distracted. She's too preoccupied to brush the snow from her wings[end if]."
 
The Black Angel can be transparent. The Black Angel is transparent. The Black Angel carries the scythe.
 
The description of the scythe is "[if black angel is vexed]It's carved from the same stone as she is, but the scythe glitters wickedly as the Black Angel tosses it from hand to hand[otherwise]Maybe she's only holding on to it for balance[end if]."
 
 
Section 1 - Activating Combat
 
[% We are approaching the very mechanically-focused part of the source text, the part where all those truisms about reading another person's code really bear out. If you're reading this stuff because you're interested in using Inform 7, I guess this is a neat example of something Inform 7 isn't exactly intended for, but I'd advise against learning too much... because it's a mess.]
 
Before attacking the Black Angel:
     if combatstate is false:
          if Black Angel is not vexed:
               now Black Angel is vexed;
               say "You move in to surprise her, but she notices your approach. She spreads her wings and adjusts her grip on her scythe. She cackles[unicode 8212]or is that a crow shrieking?";
          otherwise:
               say "The Black Angel grins as you come near. She's ready for you.";
     otherwise:
          now combat stalled is true;
          say "That's a good idea. Pick one of the combat options." instead.
          
Instead of going south in neargate while the black angel is in neargate:
     if combatstate is false:
          if Black Angel is not vexed:
               now Black Angel is vexed;
               say "As you approach the exit, the Black Angel's wings shudder. She rises from her post: In an instant she's between you and the gate.";
          otherwise:
               say "You make a run for the gate, but she glides into your path.";
          now the current enemy is the black angel;
          follow the combat initiation rulebook;
     otherwise:
          say "The Black Angel is between you and the gate.";
          now combat stalled is true.
 
Volume 5 - Ryan Veeder's Perfect Combat, by Ryan Veeder
 
[% I had wanted to use Victor Gijsbers's ATTACK extension, but it is no longer maintained outside of its use in Kerkerkruip. So I invented my own combat system, called "Ryan Veeder's Perfect Combat." I think I am going to use this more in a future game.
 
This is the other place where the "are you using a mobile device or screen reader?" question comes into play. I very much like the Ryan Veeder's Perfect Combat conceit of making the status line a scale that moves back and forth between Defeat and Victory, but someone using a screen reader couldn't make sense of an ASCII progress meter very easily. So the progress is expressed numerically as a Combat Progress Quotient.]
 
Book 1 - The Appearance of combat
 
Combatstate is a truth state that varies.
 
Rule for constructing the status line while combatstate is true (this is the combatstatus line rule):
     center "DEFEAT [fight status] VICTORY" at row 1;
     rule succeeds.
 
The combat goal is a number that varies. [the length of the progress bar; set as we enter combat.]
 
The combat progress is a number that varies. [the position on the progress bar; set as enter combat.]
     
To say fight status (this is the progress bar construction rule):
     now temp progress is combat progress;
     insert left equals signs;
     say "|";
     now temp progress is combat goal minus combat progress;
     insert right equals signs.
     
Temp progress is a number that varies.
 
To insert left equals signs (this is the left side of progress bar rule):
     if temp progress is greater than 0:
          say "=";
          decrement temp progress;
          insert left equals signs;
     otherwise:
          rule succeeds;
          
To insert right equals signs (this is the right side of progress bar rule):
     if temp progress is greater than 0:
          say "=";
          decrement temp progress;
          insert right equals signs;
     otherwise:
          rule succeeds.
          
Book 2 - Beginning Combat
 
 
A thing has a number called the inherent goal. The inherent goal of a thing is usually 10.
 
A thing has a number called the inherent progress. The inherent progress of a thing is usually 5.
 
A thing has a table name called the personal combat table. The personal combat table of a thing is usually the Table of Fake Combat.
 
The current enemy is a thing that varies. The current enemy is the absence of malice.
 
The absence of malice is a thing. [if you say so.]
 
Instead of attacking something (this is the very replacable attacking means combat rule):
     if combatstate is true:
          say "[We] [are] already in a fight.";
     otherwise if the personal combat table of the noun is the Table of Fake Combat:
          say "Violence isn't the answer to this one.";
     otherwise:
          now the current enemy is the noun;
          follow the combat initiation rulebook.
 
Combat initiation rules is a rulebook.
 
First turn leniency is a truth state that varies. First turn leniency is false.
 
A combat initiation rule (this is the default combat beginning rule):
     now combatstate is true;
     now first turn leniency is true;
     now combat goal is the inherent goal of the current enemy;
     now combat progress is the inherent progress of the current enemy;
     now current combat table is the personal combat table of the current enemy.
 
          
Book 3 - The Sequence of Combat
 
[% I don't remember writing this but it looks a lot like I adapted/stole it from ATTACK. I am not this big on rulebooks in real life.
 
There's only one fight in this game but you can see (maybe) how I tried to make everything generalized for future use.]
 
Perfect combat rules is a rulebook.
 
Every turn while combatstate is true (this is the trigger combat rules rule):
     follow the perfect combat rulebook.
     
 
a perfect combat rule (this is the can only fight a present enemy rule):
     if current enemy is not visible:
          now current enemy is the absence of malice;
          now combatstate is false.
     
a perfect combat rule (this is the cap at zero progress rule):
     if combat progress is less than 0:
          now combat progress is 0.
          
a perfect combat rule (this is the combat ends in defeat at zero progress rule):
     if combat progress is 0:
          follow the defeated combat rulebook.
 
A perfect combat rule (this is the cap at maximum progress rule):
     if combat progress is greater than combat goal:
          now combat progress is combat goal.
          
A perfect combat rule (this is the combat ends in victory at max progress rule):
     if the combat progress is the combat goal:
          follow the victorious combat rulebook.
          
A perfect combat rule (this is the trigger combat punishment rule):
     if the current action is not combat behavior and combatstate is true:
          if combat stalled is false:
               follow the combat punishment rulebook.
 
A perfect combat rule (this is the choose an attack rule):
     if combat progress is less than combat goal and combatstate is true:
          if combat stalled is true:
               choose row with attack of the current attack in the current combat table;
               say "[current attack message][line break][combat options]";
               now current attack is attack entry;
          otherwise:
               choose random row in current combat table;
               now current attack message is "[message entry]";
               say "[current attack message][line break][combat options]";
               now current attack is attack entry;
          now combat stalled is false.
          
The current attack message is text that varies. [This keeps attack messages consistent when they need to be repeated, such as when the player is wasting time.]
          
The choose an attack rule is listed last in the perfect combat rulebook.
          
Part 1 - Combat Punishment
 
Combat punishment rules is a rulebook.
 
[individual battles need their own approaches to punishing non-combat behavior.
 
actions that are exempt from combat punishment should also trigger combat stalled.]
          
Part 2 - Combat Stalled
 
Combat stalled is a truth state that varies. Combat stalled is false.
 
Before examining (this is the examining takes no time rule):
     if combatstate is true:
          now combat stalled is true.
          
Before looking (this is the looking takes no time rule):
     if combatstate is true:
          now combat stalled is true.
 
[Say "combat stalled is true" whenever the player makes a mistake or some other type of event occurs that make a turn pass in the game logic when no time should pass in the combat logic.]
          
Book 4 - Combat Tables
 
The current combat table is a table name that varies.
 
The current attack is a number that varies.
 
Table of Fake Combat
attack     message     advance     back     up     down     left     right     thrust
1     ""     ""     ""     ""     ""     ""     ""     ""
 
 
 
Book 6 - Combat Options
 
Part 1 - Printing Combat Options
 
To say combat options (this is the combat options text rule):
     if fast mode is true:
          say "[one of]What will [we] do? [or][stopping]Advance (A), Back up (B), Slice (C), Thrust (T), or Flee (F)?";
     otherwise:
          say "[one of]What will [we] do? [or][stopping][bold type][bracket]A[close bracket][roman type]DVANCE, [bold type][bracket]B[close bracket][roman type]ACK UP, SLI[bold type][bracket]C[close bracket][roman type]E, [bold type][bracket]T[close bracket][roman type]HRUST, or [bold type][bracket]F[close bracket][roman type]LEE?"
          
          
 
[ FOR USE IN GAMES THAT LACK FAST MODE
 
To say combat options (this is the combat options text rule):
     say "[one of]What will [we] do? [or][stopping][bold type][bracket]A[close bracket][roman type]DVANCE, [bold type][bracket]B[close bracket][roman type]ACK UP, SLI[bold type][bracket]C[close bracket][roman type]E, [bold type][bracket]T[close bracket][roman type]HRUST, or [bold type][bracket]F[close bracket][roman type]LEE?"
 
]
 
 
Part 2 - Weapons
 
A thing can be weapon. The shovel is weapon.
 
Definition: a thing is nonweapon if it is not weapon.
 
Chapter 1 - Wielding Weapons
 
Wielding relates a person to one thing. The verb to wield means the wielding relation.
 
[% This is one of the places where I had to be careful about how certain verbs behave outside of combat. I didn't want to tip my hand too early; the fact that you're dueling the angel is supposed to be a surprise.]
 
Readying is an action applying to one carried thing. Understand "wield [something]" and "ready [something]" and "brandish [something]" as readying.
 
Instead of readying something nonweapon (this is the wield only weapons rule):
     if the noun is not weapon:
          if combatstate is true:
               now combat stalled is true;
          say "[The noun] [aren't] a suitable weapon." instead.
          
To grasp is a verb.
 
To step is a verb.
 
Instead of readying something (this is the wielding a weapon rule):
     now player wields nothing;
     now the player wields the noun;
     if combatstate is true:
          say "[We] [step] back a bit as [we] [grasp] [the noun].";
          if combat progress is greater than 1:
               decrement combat progress;
     otherwise:
          say "[We] [grasp] [the noun]."
          
Unreadying is an action applying to one carried thing. Understand "unready [something]" and "unwield [something]" and "stop wielding [something]" as unreadying.
 
To stop is a verb.
 
Instead of unreadying something:
     if player wields noun:
          say "[We] [stop] wielding [the noun].";
          now player wields nothing;
     otherwise:
          say "[We] [aren't] wielding [the noun].".
 
To release is a verb.
 
Before dropping something:
     if player wields noun:
          now player wields nothing;
          say "[We] [release] [our] grasp on [the noun]."
          
Before inserting something into something:
     if player wields noun:
          now player wields nothing;
          say "[We] [release] [our] grasp on [the noun]."
          
Before putting something on something:
     if player wields noun:
          now player wields nothing;
          say "[We] [release] [our] grasp on [the noun]."
 
Part 3 - Combat Behavior
 
Before combat behavior (this is the combat behavior is confined to combat rule):
     if combatstate is false:
          say "That verb does not make sense in this context." instead.
          
Part 4 - The Combat Options Themselves
 
Chapter 1 - Movement Actions
 
Section 1 - The Advancing Action
 
Advancing is an action applying to nothing. Advancing is combat behavior.
 
Understand "a" and "advance" and "forward" as advancing.
 
Instead of advancing (this is the normal advancing rule):
     choose row with attack of the current attack in the current combat table;
     say advance entry;
     follow the status reminder rule.
 
Section 2 - The Backing Up action
 
Backing is an action applying to nothing. Backing is combat behavior.
 
Understand "back up" and "b" and "backward" as backing.
 
Instead of backing (this is the normal backing rule):
     choose row with attack of the current attack in the current combat table;
     say back entry;
     follow the status reminder rule.
 
Chapter 2 - Weapon Actions
 
Before weapon behavior (this is the weapon behavior requires wielded weapon rule):
     if player wields nothing:
          let biff be a random visible weapon thing enclosed by player;
          if biff is a thing:
               now player wields biff;
               say "[We] [grasp] [the biff].";
     if player wields nothing:
          now combat stalled is true;
          say "[We] [can't] do that without a weapon!" instead.
 
Section 1 - The Slicing Action
 
Slicing is an action applying to one visible thing. Slicing is combat behavior. Slicing is weapon behavior.
 
Understand the command "slice" as something new.
 
Understand "slice [direction]" and "c [direction]" as slicing.
 
To slice is a verb.
 
Instead of slicing (this is the normal slicing rule):
     choose row with attack of the current attack in the current combat table;
     if noun is compassly:
          now combat stalled is true;
          say "[We] [can] only slice up, down, left, or right!";
     if noun is up:
          say up entry;
     if noun is down:
          say down entry;
     if noun is left:
          say left entry;
     if noun is right:
          say right entry;
     follow the status reminder rule.
 
[% Here I am forced to hack the library responses:]
 
Parser clarification internal rule response (E) is "[ridiculous response]?".
 
To say ridiculous response:
     if the player's command includes "slice":
          say "[one of][bracket]You can also use a command like 'slice right' or 'c r' if you wish.[close bracket][or][stopping]In which direction (up, down, left, or right) do you want to slice";
     otherwise if the player's command matches the regular expression "\bc\b":
          say "[one of][bracket]You can also use a command like 'slice right' or 'c r' if you wish.[close bracket][or][stopping]In which direction (up, down, left, or right) do you want to slice";
     otherwise:
          say "What do you want [if the noun is not the player][the noun] [end if]to [parser command so far]"
 
Left is a direction. The opposite of left is right. Understand "l" as left.
Right is a direction. The opposite of right is left. Understand "r" as right.
 
Before going (this is the can't go subjectively rule):
     if the noun is left or the noun is right:
          say "Please supply an objective direction." instead.
 
A direction can be compassly.
 
North is compassly.
Northeast is compassly.
East is compassly.
Southeast is compassly.
South is compassly.
Southwest is compassly.
West is compassly.
Northwest is compassly.
 
Section 2 - The Thrusting Action
 
Thrusting is an action applying to nothing. Thrusting is combat behavior. Thrusting is weapon behavior.
 
Understand "t" and "thrust" and "lunge" as thrusting.
 
Instead of thrusting (this is the normal thrusting rule):
     choose row with attack of the current attack in the current combat table;
     say thrust entry;
     follow the status reminder rule.
 
Chapter 3 - Fleeing Actions
 
Section 1 - The Fleeing Action
 
Fleeing is an action applying to nothing. Fleeing is combat behavior.
 
Understand "f" and "flee" and "run away" and "escape" as fleeing.
          
the fleetarget is a room that varies.
 
First carry out going rule (this is the set room to flee to rule):
     now the fleetarget is the location.
 
To flee is a verb.
 
Carry out fleeing (this is the normal fleeing rule): 
     let way be the best route from the location to the fleetarget;
     if way is a direction:
          now combatstate is false;
          let target be the fleetarget;
          now fleetarget is the location;
          say "[We] [flee] the battle.";
          now player is in target;
     otherwise:
          say "[We] [can] find nowhere to escape to!";
          now combat stalled is true.
 
     
Part 5 - The Status Reminder
 
This is the status reminder rule:
     if fast mode is true:
          if combat progress is less than combat goal:
               say "Your Combat Progress Quotient is [combat progress] out of [combat goal].";
     otherwise:
          if important reminder is false:
               now important reminder is true;
               say "Your progress has been recorded in the Combat Progress Bar at the top of the window.";
 
Important reminder is a truth state that varies. Important reminder is false.
 
          
Book 7 - The End of combat
 
Section 1 - Victorious End
 
Victorious combat rules is a rulebook.
 
A victorious combat rule (this is the very basic victorious combat rule):
     now combatstate is false.
     
The very basic victorious combat rule is listed last in the victorious combat rulebook.
     
 
Section 2 - Defeated End
 
Defeated combat rules is a rulebook.
 
A defeated combat rule (this is the very basic defeated combat rule):
     now combatstate is false.
     
The very basic defeated combat rule is listed last in the defeated combat rulebook.
 
Book 8 - The Combat Facts of the Black Angel
 
Part 1 - The Basic Facts
 
Chapter 1 - Declarations
 
The Black Angel wields the scythe. [This doesn't actually affect anything HA HA HA HA]
 
The inherent goal of the Black Angel is 14.
 
The inherent progress of the Black Angel is 4.
 
A combat punishment rule:
     if current enemy is the Black Angel:
          if current action is looking or current action is examining:
               now combat stalled is true;
          otherwise if current action is taking inventory:
               now combat stalled is true;
          otherwise if first turn leniency is true:
               now first turn leniency is false;
          otherwise:
               say "While you're distracted, [if the noun is the black angel]she[otherwise]the Black Angel[end if] scythes you in the arm.";
               now combat progress is combat progress - 1;
               if combat progress is 0:
                    now combat progress is 1.
                    
 
               
 
The personal combat table of the Black Angel is the Table of Black Angel Combat.
 
[% So here's where it gets ridiculous. Each opponent (thank goodness there's only one) has their own combat table. Each line on that table is one of the opponent's attacks. Each attack has a response entry for each of the player's possible reactions.]
 
Chapter 2 - The Table
 
Table of Black Angel Combat
attack     message     advance     back     up     down     left     right     thrust
1     "[1mess]"     "[1a]"     "[1b]"     "[1u]"     "[1d]"     "[1l]"     "[1r]"     "[1t]"
2     "[2mess]"     "[2a]"     "[2b]"     "[2u]"     "[1d]"     "[2l]"     "[2r]"     "[2t]"
3     "[3mess]"     "[3a]"     "[3b]"     "[3u]"     "[1d]"     "[3l]"     "[3r]"     "[3t]"
4     "[4mess]"     "[4a]"     "[4b]"     "[4u]"     "[1d]"     "[4l]"     "[4r]"     "[4t]"
5     "[5mess]"     "[5a]"     "[5b]"     "[5u]"     "[1d]"     "[5l]"     "[5r]"     "[5t]"
 
Part 2 - The Attacks
 
Chapter 1 - Attack 1 - She Swipes Left
 
To say 1mess:
     say "[one of]She grasps her scythe and swings at you from the left.[or]The scythe's blade swings in from your left![or]She swipes back and forth theatrically: Left, right. Then she swings in earnest, at your head.[then at random]"
 
[% This "one of, or, or, or, then at random" business is just one of Inform 7's options for picking from a list of texts. "Then at random" has them appear in the order given at first, but then at random. You can also do "cycling," "stopping" (to make it stop at the last text), "at random" (to ignore the order entirely, never printing the same message twice in a row), or "purely at random" (if you don't care about getting the same message twice in a row). And I may be forgetting some.
 
I now think "at random" would have been a better choice here, because the sentence formats are all in the same order for the different attacks. There's a lot of ways to improve this. Let's not dwell on it.]
     
To say 1a:
     decrement combat progress;
     increment jacket damage;
     say "You step into her attack, and the scythe rips into your jacket."
     
To say 1b:
     decrement combat progress;
     say "You jump back, and the blade slices through empty air."
 
To say 1u:
     increment combat progress;
     say "You raise your shovel and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 1d:
     increment combat progress;
     say "You bring your shovel down and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 1l:
     now combat progress is combat progress + 2;
     say "[one of]You swing your shovel straight into her scythe: Both blades peal out sickeningly. The Black Angel is pushed back, and you close the distance.[or]You slice into her attack, and she reels for a second from the impact.[then at random]"
     
To say 1r:
     decrement combat progress;
     increment jacket damage;
     say "You slice in the same direction as her attack, but her weapon has the greater reach: The scythe pierces your jacket."
     
To say 1t:
     now combat progress is combat progress - 2;
     now jacket damage is jacket damage + 2;
     say "You lunge into her attack, and she slices into your left side."
     
Chapter 2 - Attack 2 - She Swipes Right
     
To say 2mess:
     say "[one of]She swings her scythe in a wide arc, coming from the right[unicode 8212]toward your neck.[or]She adjusts her grip and slices at your right side.[or]You lose sight of her in the snow[unicode 8212]then you see the blade coming at you, on your right![then at random]"
     
To say 2a:
     decrement combat progress;
     increment jacket damage;
     say "You step into her attack, and the scythe rips into your jacket."
     
To say 2b:
     decrement combat progress;
     say "You jump back, and the blade slices through empty air."
     
To say 2u:
     increment combat progress;
     say "You raise your shovel and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 2d:
     increment combat progress;
     say "You bring your shovel down and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 2l:
     decrement combat progress;
     increment jacket damage;
     say "You slice in the same direction as her attack, but her weapon has the greater reach: The scythe pierces your jacket."
     
To say 2r:
     now combat progress is combat progress + 2;
     say "[one of]You swing the shovel into her scythe: You feel it in your wrists, your arms, your shoulders. But the Black Angel reels from the impact, and you gain some ground.[or]The scythe and the shovel smash into each other with such force that you expect one or both to shatter. The Black Angel staggers back.[then at random]"
     
To say 2t:
     now combat progress is combat progress - 2;
     now jacket damage is jacket damage + 2;
     say "You lunge into her attack, and she slices into your right side."
     
Chapter 3 - Attack 3 - She Swipes Down
 
To say 3mess:
     say "[one of]She brings the scythe down, pointing right at your head![or]She raises her scythe over her head and swings it down.[or]The scythe plunges down, toward your head![then at random]"
     
To say 3a:
     decrement combat progress;
     increment jacket damage;
     say "You step into her attack, and the scythe rips into the back of your jacket."
     
To say 3b:
     decrement combat progress;
     say "You jump back, and the blade slices through empty air."
     
To say 3u:
     now combat progress is combat progress + 2;
     say "[one of]You raise your shovel against her attack. The scythe rebounds, and the Black Angel nearly loses her grip.[or]You block the attack with your shovel, and the Black Angel is knocked back by the recoil.[stopping]"
     
To say 3d:
     decrement combat progress;
     increment jacket damage;
     say "You slice in the same direction as her attack, but her weapon has the greater reach: The scythe pierces your jacket."
     
To say 3l:
     increment combat progress;
     say "You swing your shovel to the left and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 3r:
     increment combat progress;
     say "You swing your shovel to the right and deflect the attack[one of]. The Black Angel is surprised only momentarily[or][stopping]."
     
To say 3t:
     now combat progress is combat progress - 2;
     say "You lunge into her attack, and she nearly slices your ear off."
     
Chapter 4 - Attack 4 - She Winds Up
 
To say 4mess:
     say "[one of]She pulls her scythe away, drawing herself back like a spring.[or]She winds up for a powerful strike.[then at random]"
     
To say 4a:
     increment combat progress;
     say "You take the opportunity to close the distance, and she's forced to recalibrate her approach."
     
To say 4b:
     say "You back away in plenty of time: She swings with incredible force, but at nothing, and you step back into place as she rights herself."
     
To say 4u:
     decrement combat progress;
     increment jacket damage;
     say "You swing wildly above you, but the attack comes from the side, and the scythe slices your jacket."
     
To say 4d:
     decrement combat progress;
     increment jacket damage;
     say "You bring your weapon down[unicode 8212]too early. She slices easily at your jacket."
     
To say 4l:
     decrement combat progress;
     increment jacket damage;
     say "You slice desperately from right to left, and leave yourself open to a blow to your shoulder."
     
To say 4r:
     decrement combat progress;
     increment jacket damage;
     say "You slice desperately from left to right, and leave yourself open to a blow to your thigh."
 
To say 4t:
     now combat progress is combat progress + 3;
     say "Before she can swing, you lunge forward, the blade of your shovel trained on her stomach. The thrust connects[unicode 8212]the Black Angel falters[unicode 8212]and a shriek of pain bursts from her skull."
     
     
Chapter 5 - Attack 5 - She Brandishes
     
To say 5mess:
     say "[one of]She spins her scythe theatrically, hoping to distract you with its glitter.[or]She brandishes the scythe. Its edge glints.[then at random]"
 
To say 5a:
     increment combat progress;
     say "You move in before she can attack."
     
To say 5b:
     decrement combat progress;
     say "You back away, and lose precious ground, as the Black Angel continues to spin her weapon."
     
To say 5u:
     increment combat progress;
     say "You slice up at her, and land a decent hit under her chin."
     
To say 5d:
     increment combat progress;
     say "You swing your weapon down and knock a chip of stone from her arm."
     
To say 5l:
     increment combat progress;
     say "You slice from right to left, and land a blow on her right wing."
     
To say 5r:
     increment combat progress;
     say "You slice from left to right, and land a blow on her left wing."
     
To say 5t:
     now combat progress is combat progress + 2;
     say "You take the chance to thrust the shovel toward her[unicode 8212]knocking her back and nearly breaking her grip on the scythe."
 
     
Part 4 - To End the Battle
 
 
A victorious combat rule (this is the beat the black angel rule):
     remove the black angel from play;
     if current action is advancing:
          say "The ground you gain is critical, though: She's left an opening, and before she can make her next move you rush past her and through the gate.";
          try going south;
     otherwise:
          say "She withdraws and grabs at her wound, as if the stone were bleeding. Her wings heave, black feathers falling and flying away in the wind. She fixes you with a glare of desperate hatred.[paragraph break]Then her body tenses, as if she's about to scream[unicode 8212]but instead she lifts herself into the air, through the snow, into the storm.";
     
A defeated combat rule (this is the beaten by black angel rule):
     if current action is backing:
          say "She cackles, and withdraws into the darkness. You realize you've retreated so far that you're back at the obelisk.";
     otherwise:
          say "You fall. The Black Angel laughs.[paragraph break]When you can stand again, you're [one of]not in the same place[or]somewhere else[or]back at the obelisk again[stopping].";
     now player is in nearobelisk.
     
 
Part 5 - The Jacket Gets Ripped Up
 
Jacket damage is a number that varies. Jacket damage is 0.
 
Instead of examining the puffy jacket while jacket damage is greater than 0:
     say "[if jacket damage is 1]There's a tear in your jacket, but it's still keeping you as warm ([quotation mark]not very[quotation mark]) as it was before it got cut up[otherwise if jacket damage is 2]There's a couple of tears in your jacket, but it's still keeping you as warm ([quotation mark]not very[quotation mark]) as it was before it got cut up[otherwise if jacket damage is less than six]Your jacket's been ripped up quite a bit. Maybe, if you ever get home, you will get a chance to replace it[otherwise]Your jacket has been reduced to pathetic tatters[end if]."
 
[% This is a little bit of fun, making your performance in the battle have a permanent cosmetic effect, but people will basically never look at their jacket unless you give them some explicit signal to.]
 
Volume 6 - The Storm
 
Book 1 - Transition Area
 
Chapter 1 - Peters Street
 
[Peters Street is named for a character in Pym. The corresponding real life street is Governor Street, which in real life runs north-south and is not exaclty a "major thoroughfare." It may really have bus stops though.] 
 
Peters Street is south of neargate. Description of peters street is "You are standing up to your ankles in snow just outside the cemetery gate. South of you is Peters Street, a major thoroughfare; a fluorescent-lit pedestrian tunnel leads underneath. To the east is a bus stop.[one of][paragraph break]The thick gusts of snow, now blowing at an extreme angle, make all of this very difficult to see. That won't be a problem for long, though; your house isn't much further.[paragraph break]A white crow flies out of the tunnel.[or][stopping]".
 
Every turn while player is in Peters Street:
     now visibility-text is "Terrible";
     now description of sky is "The sky is a turmoil of snow.";
     now description of snow is "On the ground, it sparkles and collects into drifts and blows over itself; in the air, the snow registers only as a fast-moving haze. Its constituent particles are discernible only near a source of light."
 
The cemeterywall is a backdrop. The cemeterywall is in Bus Stop and peters street. Understand "wall" and "cemetery wall" and "brick wall" as the cemeterywall. Printed name of cemeterywall is "cemetery wall". Description of cemeterywall is "The snow is so thick now, you can't see the top of the wall."
 
Check going north in peters street:
     if gate is open:
          now gate is closed;
          say "As you turn back, the gate swings shut, as if by an invisible hand[unicode 8212]no, by the wind." instead;
     otherwise:
          say "The gate is closed." instead.
 
The road2 is a backdrop. The road2 is in bus stop and peters street. Printed name of road2 is "Peters Street". Understand "road" and "highway" and "street" and "peters street" and "peters" and "intersection" and "car" and "cars" as the road2. the description of the road2 is "There are no cars on the street. No reasonable person would be out and about in this weather."
 
The distant cubicle is scenery in peters street. Understand "bus stop" and "stop" and "booth" as the distant cubicle. Printed name of distant cubicle is "bus stop". Description of distant cubicle is "The bus stop is over to the east."
 
Instead of doing something other than examining with the distant cubicle, try examining the distant cubicle.
 
The fluorescent lit pedestrian tunnel entrance is scenery in peters street. Printed name of tunnel entrance is "tunnel entrance." Instead of searching tunnel entrance, try examining the noun. Description of tunnel entrance is "You can just discern the light from the tunnel entrance through the snow, but you can't see inside from here."
 
Instead of entering tunnel entrance: try going south.
 
Instead of going northeast in peters street:
     say "That way is just a brick wall."
 
Instead of going northwest in peters street:
     say "That way is just a brick wall."
 
Instead of going southeast in peters street:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
 
Instead of going west in peters street:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
     
Instead of going southwest in peters street:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
 
Instead of going down in peters street:
     try going south.
     
Instead of going inside in peters street:
     try going south.
     
The white crow is scenery in peters street. Understand "bird" and "birds" and "white bird" as the white crow.
 
Instead of doing something other than examining with the white crow:
     try examining the white crow.
     
Instead of examining the white crow:
     say "It's gone.";
     remove the white crow from play.
 
[% White birds are also a big deal in the final part of Pym.]
 
Chapter 2 - Bus Stop
 
[% This room is like the corkscrew at the beginning of the game: Intentionally useless for the sake of realism. It wasn't until after one of my beta testers tried actually waiting for the bus that I incorporated the creepy easter egg—which was composed as a very direct homage to the corpse ship that appears in the middle of Pym.]
 
Bus Stop is east of Peters Street. Description of bus stop is "The bus stop is a glass booth, open to the elements on the side facing Peters Street. The entrance to the tunnel is back west."
 
Instead of going north in bus stop:
     say "That way is just a brick wall."
     
Instead of going northeast in bus stop:
     say "That way is just a brick wall."
 
Instead of going northwest in bus stop:
     say "That way is just a brick wall."
     
Instead of going southeast in bus stop:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
 
Instead of going east in bus stop:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
     
Instead of going southwest in bus stop:
     say "Although you can't see any cars at the moment, walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
     
Instead of going south in bus stop:
     say "You should instead take the tunnel to the west. Crossing Peters Street here would be unnecessarily dangerous, and you do not consider yourself the type of person to do unnecessarily dangerous things."
 
The booth is scenery in Bus Stop. Understand "bus stop" and "cubicle" and "stop" as the booth. Description of the booth is "Part of the booth's interior is taken up by a narrow bench: Just wide enough for two people to sit uncomfortably, or for one person to sit while the other person stands and the sitting person wonders what's wrong.[paragraph break]On one of the windows is a rectangular mark: Something was glued to the glass and later ripped down."
 
Instead of entering the booth, try entering the narrow bench.
 
The narrow bench is an enterable scenery supporter in Bus Stop. The description of the narrow bench is "As of right now there is no snow on it."
 
After entering the narrow bench:
     say "You sit down and stare across the street at the snow. The neighborhood on the other side is utterly invisible."
     
The window is part of the booth. Understand "glass" and "mark" and "rectangular mark" and "schedule" as the window.
 
Instead of searching the window, say "Looks like it's snowing out."
 
The description of the window is "There may have been a schedule posted here once. This bus stop may no longer be in operation."
 
Section 1 - The Phantom Bus
 
The phantom is scenery. Understand "bus" and "vehicle" and "car" and "light" and "lights" and "headlights" and "headlight" and "windshield" and "wipers" and "wiper" and "cabin" and "pinprick" and "pinprick of light" and "driver's seat" and "interior" as the phantom.
 
Instead of searching the phantom, try examining the noun.
     
Schedule is a number that varies.
 
Every turn while player is in peters street:
     if schedule is less than 99:
          now schedule is 0.
     
[% The thing with these turn-to-turn events is that the player might decide to do nothing but focus on the event or the player might decide to dink around while something happens nearby. So the story has to make sense whether you examine the bus every turn or not.]
 
Every turn while location is bus stop:
     if schedule is less than 99:
          increment schedule;
     if schedule is 6:
          now phantom is in bus stop;
          now printed name of phantom is "pinprick of light";
          now description of phantom is "You squint, and turn your head from side to side, but the light seems to be real[unicode 8212]and it seems to be getting closer.";
          say "Far, far away, in the most distant reaches of Peters Street, a pinprick of light appears.";
     if schedule is 7:
          now printed name of phantom is "headlights";
          now phantom is plural-named;
          now description of phantom is "They must be headlights: Now you can make out the beams of illuminated snow falling in front of them, floating hastily out of the path of whatever vehicle is coming this way.";
          say "As [if the noun is the phantom]it[otherwise]the light[end if] approaches, it resolves in your vision as two lights. Headlights. Maybe.";
     if schedule is 8:
          now printed name of phantom is "bus";
          now description of phantom is "You are certain that it's a bus, even if your certainty is based only on the very vaguely rectangular shape of the object and your increasing desperation.";
          say "[if the noun is the phantom]It's[otherwise]The lights are attached to[end if] something big. Is it a bus? It's got to be a bus. The bus is coming!";
     if schedule is 9:
          now description of phantom is "Each time you think you can discern a detail, a flurry of snow flies through your field of vision, and the bus seems to disappear entirely.";
          say "Now [if the noun is the phantom]it's[otherwise]the bus is[end if] coming into focus, by infinitesimal degrees: The massive windshield, the frantic wipers desperately pushing snow aside, the sickly yellow lights of the cabin.";
     if schedule is 10:
          say "[if the noun is the phantom]But there's no mistaking it now: It's[otherwise]The bus is[end if] almost here, slowing to a stop with some difficulty[unicode 8212]The road's very slippery.[paragraph break]From this distance, at least, you can't seem to see any passengers.";
          now description of phantom is "As the bus gets closer, you can see the interior more and more clearly.";
     if schedule is 11:
          say "Now you're sure that there are no passengers. That makes sense; everybody else is at home already. This bus is braving these horrible conditions to save a specific group of very unlucky or very, very stupid people, and it happens that tonight the only person who satisfies any of the criteria is you.[paragraph break]It's really having a lot of trouble slowing down.";
          now description of phantom is "It's still hurtling this way at the same speed[unicode 8212]Faster, really, than is prudent in this weather.";
     if schedule is 12:
          say "You realize the bus isn't going to stop. The driver's seat is empty.";
          now description of phantom is "Nobody is driving; nobody is riding.";
     if schedule is 13:
          say "The bus careens heedlessly past the bus stop, and despite its speed you can see inside very clearly, if only for an instant.[paragraph break]Then it's careening away, and all you can see is the rear: Two red lights, one red light, nothing.";
          now schedule is 99;
          remove phantom from play.
 
Before going west in bus stop:
     if phantom is in bus stop:
          remove phantom from play;
          say "As you turn away, [the phantom] [if phantom is plural-named]fade[otherwise]fades[end if] into the darkness.";
          now schedule is 100.
          
 
Instead of taking the phantom, say "You mean you want to carry it around? That doesn't make sense."
 
[% That's a response to TAKE BUS.]
 
Instead of entering the phantom, say "Not while it's moving so fast."
 
Instead of going east while phantom is visible:
     say "Walking down Peters Street is too dangerous. Besides, you're pretty sure your house is south from here."
     
Instead of going south while phantom is visible:
     say "Crossing the street right now is a terrible idea, what with [if phantom is plural-named]those headlights[otherwise]that [phantom][end if] getting closer and closer."
     
Instead of going southwest while phantom is visible:
     say "Crossing the street right now is a terrible idea, what with [if phantom is plural-named]those headlights[otherwise]that [phantom][end if] getting closer and closer."
     
Instead of going southeast while phantom is visible:
     say "Crossing the street right now is a terrible idea, what with [if phantom is plural-named]those headlights[otherwise]that [phantom][end if] getting closer and closer."
     
Instead of entering road2 while phantom is visible:
     say "That'd be a good way to get run over."
          
 
Chapter 3 - Tunnel
 
[% Tunnels are like stories in that they are both like dreams: We descend into a world beneath the real world for a time, and hopefully by the time we wake up we have learned something in the tunnel that we can apply on the surface.]
 
tunnelo is south of peters street. Printed name of tunnelo is "Tunnel". Description of tunnelo is "Fluorescent lights, wreathed with ancient cobwebs, cast the concrete walls with a flickering pallor. Oddly, the light at the southern end of the tunnel is bright white.[paragraph break]A cruel trick of the wind from the northern end blows snow in at an unnatural velocity, with a force that threatens to knock you down."
 
 
The fluorescent lights are plural-named scenery in tunnelo. Understand "light" and "fluorescent light" and "flickering pallor" and "pallor" and "flickering" as the fluorescent lights. The description of the fluorescent lights is "The lights are weak, but you can't look directly at them without allowing ghostly images to remain in your vision, floating across the path ahead."
 
The ancient cobwebs are plural-named scenery in tunnelo. Understand "cobweb" and "web" and "webs" and "ancient cobweb" as the ancient cobwebs. The description of the ancient cobwebs is "The wind makes the cobwebs flutter a bit, but it can't dislodge them from the tunnel walls; nothing ever will."
 
Instead of rubbing the cobwebs, try taking the noun.
 
Instead of pulling the cobwebs, try taking the noun.
 
Instead of pushing the cobwebs, try taking the noun.
 
Instead of taking the ancient cobwebs, say "You are not wearing gloves."
 
The gray concrete walls are plural-named scenery in tunnelo. Understand "wall" and "concrete wall" and "air bubble" and "air bubbles" and "bubble" and "bubbles" and "insignia" and "chiseled insignia" as the concrete walls.
 
The description of the concrete walls is "The gray concrete is pockmarked with air bubbles. If you interpret the chiseled insignia correctly, this tunnel was constructed in March of 1687."
 
[% My favorite thing is PCs who can't interpret things correctly!]
 
The southern end of the tunnel is scenery in tunnelo. Understand "light" and "white light" and "bright white light" and "white" and "bright white" as the southern end of the tunnel.
 
The description of the southern end of the tunnel is "You are unable to guess at the source of the light to the south.[paragraph break]You turn back to the northern end of the tunnel; on that side, the night is utterly black."
 
Instead of entering the southern end of the tunnel, try going south.
 
The northern end of the tunnel is scenery in tunnelo. Understand "dark" and "black" as the northern end of the tunnel.
 
The description of the northern end of the tunnel is "You can infer based on your short-term memory that the northern end of the tunnel leads back to the cemetery, but from here you can't see any such thing."
 
Instead of entering the northern end of the tunnel, try going north.
 
Instead of going outside in tunnelo, say "Here 'outside' could mean either north or south."
 
Instead of exiting in tunnelo, say "Here 'exiting' could mean heading either north or south."
 
[% What a weird dang response.]
 
Every turn while player is in tunnelo:
     now visibility-text is "Fine";
     now description of sky is "You can't see the sky from down here.";
     now description of snow is "Snow skitters in around your feet, settling briefly in wind-shaped curls and then blowing away.";
     if current action is not looking:
          if a random chance of 1 in 2 succeeds:
               say "[one of]A shriek echoes: [fixed letter spacing]'TEKELI-LI!'[variable letter spacing][paragraph break]You turn your head back and forth, but can't tell from which direction it came[or]That cry again: [fixed letter spacing]'TEKELI-LI!'[variable letter spacing][unicode 8212]Then the howling of the wind[stopping]."
               
 
Book 2 - Whiteness
 
Part 1 - Whiteness the Room
 
Whiteness is a room.
 
Instead of going south in tunnelo:
     now player is in whiteness;
     now description of sky is "You cannot distinguish the sky from the snow.";
     now description of snow is "Snow is all you can see in any direction, at any distance. You can observe snow from every possible perspective, but without a frame of reference, your only perception is that of colorlessness[if draco is visible].[paragraph break]The figure is here, too, but he is also snow[end if]."
     
Chapter 1 - Welcome to Whiteness
 
Description of whiteness is "[one of]You exit the tunnel into absolute whiteness.[paragraph break]A blast of wind hits you in the back and you fall to your knees. Your Solo cup compass flies from your hand.[paragraph break]A gout of wine stains the snow[or]It is completely white[stopping]." Printed name of whiteness is "".
 
Instead of looking in whiteness:
     say "[description of whiteness][paragraph break]"
     
Chapter 2 - Sense of Self
 
[% This part was fun to write. It's hard to affect the player's sense of self outside the commands for 'examine me' and 'inventory,' and there's no guarantee anyone will try those commands here, but I did my best.]
 
Instead of examining the player in whiteness:
     say "You are more or less distinct from your environment."
     
Instead of taking inventory in whiteness:
     say "You are conscious of a weight pulling down on your arms, although that might just be your hands."
     
Before examining in whiteness:
     if player encloses the noun:
          say "You're pretty sure it's still there." instead.
          
Before dropping something in whiteness:
     if player encloses the noun:
          say "To release your grip you'd have to be able to feel your hands." instead.
          
Before taking something in whiteness:
     if player encloses the noun:
          say "You already have that. Probably." instead.
          
Instead of general digging in whiteness:
     say "Your hands aren't up to it, assuming you still have hands."
     
Instead of digging something in whiteness:
     say "Your hands aren't up to it, assuming you still have hands."
     
Instead of jumping in whiteness:
     say "You can barely stand. Maybe you can jump a little after you're done freezing to death."
 
Instead of exiting in whiteness:
     say "You do remember falling down, but currently you seem to be on your feet."
 
 
Chapter 4 - The Wine Falls
 
Every turn while player is in whiteness:
     remove the Solo cup from play;
     remove the needle from play;
     remove the cork from play.
     
The gout of wine is scenery in whiteness. The description of the gout of wine is "The snow covers it immediately."
 
After examining the gout of wine:
     remove the noun from play.
 
 
Chapter 5 - Screwing with the status line
 
[% This game does a very little bit to draw your attention to the status bar, but I suppose most people are ignoring it by the time they reach this point. Well, it's a cool effect. The status bar gradually gets whited out (depending on what color the status bar is in your interpeter).]
 
Rule for constructing the status line while player is in whiteness:
     center "[white status]" at row 1;
     rule succeeds.
     
White status is text that varies. White status is "Location: Unknown ||| Visibility: None".
 
Fakenum is a number that varies. Fakenum is 99.
 
Chanco is a number that varies. Chanco is 1.
 
Every turn while player is in whiteness:
     if fakenum is 99:
          now fakenum is 0;
     otherwise if fakenum is less than 99:
          increment chanco;
          now fakenum is 0;
          destroy white status.
     
To destroy white status:
     increment fakenum;
     if a random chance of 2 in 7 succeeds:
          replace character number fakenum in white status with " ";
     if chanco is 7:
          now white status is "";
          now fakenum is 999;
     if fakenum is greater than 36:
          rule succeeds;
     otherwise:
          destroy white status.
     
 
 
Part 2 - Winter Storm Draco
 
[% Throughout this game and The Narrative of Arthur Gordon Pym of Nantucket, the protagonists go further and further south. Pym ends with the appearance of a godlike white figure standing in the middle of a huge whirlpool at the south pole. The figure doesn't do much apart from being extremely white, and it's hard to tell whether it's supposed to be a good or a bad thing. Winter Storm Draco is a scary white figure, but he's only supposed to be mysterious for a little bit—then you figure out who he is, what he wants, and whether it's a good or a bad thing.]
 
Chapter 1 - It Comes
 
Instead of wanderly behavior in whiteness:
     remove the gout of wine from play;
     if draco is visible:
          if draco is faraway:
               say "You push your legs through the snow, either toward or away from the figure. He remains as immense as ever; he does not notice you.";
          otherwise:
               say "[one of]You move away, but the figure remains near. [fixed letter spacing]'Where do you think you're going?'[variable letter spacing] he asks. [fixed letter spacing]'What makes you think there's anywhere else to go?'[variable letter spacing][line break][or]You plow through more and more snow, in every possible direction, but the figure is always nearby.[stopping]";
     otherwise:
          say "You step forward, [one of]through wind that seems to blow in all directions[or]through an atmosphere that is mostly snow[or]through infinite formlessness[stopping].";
     if Draco is in highway:
          now Draco is in Whiteness;
          say "[line break]In the whiteness you can discern a tall white figure.";
     otherwise if Draco is offstage:
          now draco is in highway.
 
Instead of going nowhere in whiteness:
     remove the gout of wine from play;
     if draco is visible:
          if draco is faraway:
               say "You set out in a direction, but your only frame of reference is the figure[unicode 8212]omnipresent and infinitely distant. Maybe you haven't moved at all.";
          otherwise:
               say "[one of]With no compass, no frame of reference, you only have your own confidence to tell you that you're walking in the direction you believe you're walking in.[paragraph break][fixed letter spacing]'You're leaving me? I'm hurt. I thought we had a real chemistry.'[variable letter spacing][paragraph break]When you look back up, he looms over you from the same distance. Did he follow you, or have you not moved at all?[or]You step resolutely forward, careful to move in a straight line.[paragraph break]It's no use. He's still right there.[stopping]";
     otherwise:
          say "[one of]But which way is that?[paragraph break]You take a few uncertain steps[or]You trudge onward[or]You step forward into identical whiteness[stopping].";
     if Draco is in highway:
          now Draco is in Whiteness;
          say "[line break]In the whiteness you can discern a tall white figure.";
     otherwise if Draco is offstage:
          now draco is in highway.
     
Chapter 2 - Facts About Draco
 
The Winter Storm Draco is a man. Understand "him" and "man" and "tall" and "tall figure" and "tall white figure" and "figure" and "white figure" as Winter Storm Draco.
 
Printed name of draco is "figure".
 
Draco can be faraway. Draco is faraway.
 
Draco can be passive. Draco is passive.
 
Description of Draco is "[if Draco is faraway]If the figure is as far off as he seems to be, then he is very tall indeed[unicode 8212]but you have the uneasy feeling that he is closer than he looks[otherwise]He is too immense for you to view all of him at once; the snow is too thick for you to see any of him clearly[end if]."
 
Instead of taking draco, say "I don't suppose he would care for that."
 
Instead of searching draco, say "Looking through him is as futile as looking at him."
 
Instead of looking under draco, say "Good luck with that."
 
Instead of giving something to draco, try showing the noun to draco.
 
Instead of showing something to draco, say "He appears uninterested.[paragraph break]That's not quite right; he doesn't really appear any particular way."
 
Instead of kissing draco, say "Snow tickles and melts on your yet-warm lips."
 
Instead of touching draco, say "You can't feel any such thing."
 
Instead of attacking Draco, say "You're barely able to put one foot in front of the other; you hardly have the strength to win another minigame."
 
[talking to him has no effect, so you have to wave.]
 
To say he is far away:
     say "The wind swallows your words before they reach the distant figure[one of][or]. There must be some other way to get his attention[then at random]"
 
[% This is a fair puzzle: The game SUPER-explicitly teaches the WAVE verb early on. But a lot of testers couldn't figure out that they should try it here so the hinting is kind of inelegantly blatant.]
 
Instead of answering draco that something while Draco is faraway:
     say "[he is far away]."
 
Instead of asking draco about something while Draco is faraway:
     say "[he is far away]."
     
Instead of telling draco about something while Draco is faraway:
     say "[he is far away]."
     
Instead of screaming while draco is visible and draco is faraway:
     say "[he is far away]."
     
 
Understand "talk to [winter storm draco]" as a mistake ("[if draco is faraway][he is far away].[otherwise]He glares down at the source of your failing voice, and then he pointedly breaks eye contact. [fixed letter spacing]'I'm sorry,'[variable letter spacing] he says, [fixed letter spacing]'was there something you wanted to ask me about?'[variable letter spacing][end if]").
 
 
 
Every turn while Winter Storm Draco is visible:
     if Draco is passive:
          now draco is not passive;
     otherwise:
          if a random chance of 1 in 2 succeeds:
               say "[one of]A puff of steam escapes his nostrils[or]He slicks back his bleached hair. He adjusts his garment[or]Dazzling light glitters on his scales; you have to look away[unicode 8212]There's nowhere else to look[or]He strokes his chin[or]He admires his claws[if draco is faraway]; he has not noticed you[end if][then at random].";
          otherwise if a random chance of 1 in 3 succeeds:
               say "[fixed letter spacing]'TEKELI-LI!'[variable letter spacing][line break]"
               
[% The Weather Channel claimed to have named Winter Storm Draco after the Athenian lawgiver, but considering three storms later was Winter Storm Gandolf and ten more storms down the line we had Winter Storm Q, it's clear that "Draco" was really supposed to evoke Draco Malfoy. But it also evokes a dragon. By virtue of being so named, the storm is all of these things in addition to being a storm.
 
Thus Winter Storm Draco is an Ice/Dragon-type game, whereas The Statue Got Me High is Fire/Ghost. Or maybe Ghost/Fire. I don't have a solid grasp on how primary versus secondary typings are supposed to work.]
 
The nostrils are a plural-named part of draco. Understand "nose" and "nostril" and "snout" as the nostrils. Description of the nostrils is "His snout is a long point, glittering with scales[unicode 8212]No, a cruel hook, which draws back his lips in a permanent sneer."
 
The neck is part of draco. Description of the neck is "You can't get a good look."
 
The bleached hair is part of Draco. The description of the bleached hair is "Sunburned hair, parted loosely over a brow furrowed with ancient disdain."
 
[% Draco Malfoy is called "a dreadful kid with sunburned hair" in Brad Neely's Wizard People, Dear Readers.]
 
Draco wears the garment. Understand "robe" and "robes" and "toga" and "shoulder" as the garment. The description of the garment is "He wears a long robe[unicode 8212]Or a toga, displaying the white sphere of his shoulder."
 
The scales is a plural-named part of Draco. Understand "scale" and "skin" as the scales. The description of the scales is "White scales, like a million knights['] pointed shields, cover the entirety of his undulating body, or else his skin is whiter and smoother than a marble statue's."
 
The chin is part of Draco. The description of the chin is "He may have a cleft chin. He may not. It is hard to tell under these conditions, and you are slowly freezing to death."
 
The claws is a plural-named part of Draco. Understand "hand" and "hands" and "claw" and "talon" and "talons" as the claws. The description of the claws is "His hands are claws; his claws are hands."
 
The eyes are a plural-named part of Draco. Understand "eye" as the eyes. The description of the eyes is "His eyes, when you can discern them, are as white as the rest of him, as white as everything else in this universe."
 
Chapter 3 - We Get His Attention
 
Instead of waving at Winter Storm Draco:
     try waving hands.
     
Instead of waving something while Winter Storm Draco is visible:
     try waving hands.
     
Instead of waving hands while Winter Storm Draco is visible:
     if Draco is faraway:
          say "You lift your arm.[paragraph break]This is more difficult than it usually is.[paragraph break]But the motion gets his attention, and he turns, meets your eye, slithers near.[paragraph break][fixed letter spacing]'Sorry, idiot. I beat you here. Too bad! Your friends are gonna[unicode 8212][unicode 8212]Say, what's your name?'[variable letter spacing][line break]";
          now command prompt is "Please enter your full name. >";
          now Draco is not faraway;
          now Draco is passive;
     otherwise:
          say "You wave. He rolls his eyes. [fixed letter spacing]'You have my attention.'[variable letter spacing][line break]"
 
[% The Inform Recipe Book includes a recipe for name-collection, and this steals it shamelessly—including the "Who are you, a member of the British royal family?" joke. It is a weird thing to ask the player's name this late in the game, but here we are.]
          
To decide whether collecting names: 
     if the command prompt is "Please enter your full name. >", yes; 
     no.
     
The player's forename is a text that varies. The player's full name is a text that varies.
 
After reading a command when collecting names: 
     if the number of words in the player's command is greater than 5: 
          say "[paragraph break]He sighs. 'Who are you, a member of the British royal family? No one has that many names. Let's try this again.'"; 
          reject the player's command; 
     now the player's full name is the player's command; 
     now the player's forename is word number 1 in the player's command; 
     now the command prompt is ">"; 
     say "[line break][fixed letter spacing]'Nice to meet you, [player's forename in title case]. So the tombstone will read: ['][Player's full name in title case], died December 20, 2012,['] and then in smaller text it'll say [']A Huge Idiot Who Was Too Cool To Wear Gloves.['] That's assuming anybody cares that much about your pathetic frozen corpse. Maybe they'll just let the birds take care of you.'[variable letter spacing] He looks up at the sky. [fixed letter spacing]'No, they've all flown south for the winter!'[variable letter spacing][paragraph break]You hear a [fixed letter spacing]'TEKELI-LI!'[variable letter spacing] from far off, and he grins.[paragraph break][fixed letter spacing]'Well, I'm here for the duration, so I'll try to comfort you in your final moments. You're welcome.'[variable letter spacing][line break]";
     reject the player's command.
 
[get his attention, figure out that he's draco, trick him into saying which way is northwest]
 
Chapter 4 - Draco Resists Being Named
 
Instead of naming draco with something:
     if draco is faraway:
          say "He's too far away to be named.";
     otherwise:
          now draco is passive;
          say "He squints at you. [fixed letter spacing]'I already have a name,'[variable letter spacing] he mutters."
 
 
Chapter 5 - Talking to Draco
 
 
Section 1 - Screaming
 
Instead of screaming while draco is visible and draco is not faraway:
     say "You scream. He doesn't seem to notice."
 
Section 2 - Stupid Rule
 
After reading a command when Draco is visible:
     if player's command includes " him", replace the matched text with " figure".
 
[% I'm pretty sure this is because the parser treats pronouns in a weird way and I couldn't get it to understand "him" as Draco. I believe there is a correct syntax for this but I don't know what it was; instead, I have hacked your input to make the parser know who you mean. This particular construction only works if you know there's only one thing to refer to as "him," and if your game doesn't include, say, Himeji Castle. VERY KLUDGY. BAD.]
 
Section 3 - Conversation
 
Instead of asking Draco about a topic listed in the Table of Draco Topics:
     now draco is passive;
     say "[reply entry][paragraph break]"
     
Instead of asking Draco about something:
     say "He waves the notion away. [fixed letter spacing]'[one of]Next topic[or]Such things are beneath me[or]Boring[then at random].'[variable letter spacing][line break]"
     
Instead of telling Draco about something: try asking the noun about it.
 
Instead of answering Draco that something, say "He glares down at the source of your failing voice, and then he pointedly breaks eye contact. [fixed letter spacing]'I'm sorry,'[variable letter spacing] he says, [fixed letter spacing]'was there something you wanted to ask me about?'[variable letter spacing][line break]"
 
Instead of answering Draco that "[draco]", try asking the noun about "[draco]".
 
Understand "him" and "himself" and "figureself" and "tall figure" and "tall white figure" and "figure" and "white figure" and "man" as "[figure]".
 
Understand "crow" and "crows" and "white crow" and "black crows" and "bird" and "birds" as "[crows]".
 
Understand "me" and "myself" and "idiot" as "[player]".
 
Understand "[the puffy black jacket]" as "[jacket]".
 
Understand "wine" and "wine bottle" and "wine bottles" and "bottles" and "bottles" as "[wine]".
 
Understand "[the package of hot dogs]" as "[hot dogs]".
 
Understand "storm" and "winter storm" and "snowstorm" as "[storm]".
 
Understand "forest" and "woods" and "wood" and "tree" and "trees" and "branch" and "branches" as "[woods]".
 
Understand "compass" and "directions" and "north" and "east" and "south" and "west" and "southeast" and "southwest" and "northeast" and "northwest" as "[compass]".
 
Understand "cemetery" and "marker" and "grave marker" and "tombstone" and "tombstones" and "tomb stone" and "tomb stones" and "headstone" and "headstones" and "head stone" and "head stones" and "memorial" and "memorials" and "gravestone" and "gravestones" and "grave stone" and "grave stones" and "graveyard" and "obelisk" and "mausoleum" and "shovel" as "[cemetery]".
 
Understand "black angel" and "angel" and "death" and "scythe" as "[black angel]".
 
Understand "draco" and "winter storm draco" as "[draco]".
 
Understand "bus stop" and "bench" and "booth" and "bus" as "[bus stop]".
 
Understand "name" and "his name" as "[name]".
 
[% There's a lot of words! Draco can say a lot about a lot!
 
What concerns me most right now is the way Draco alludes to the Black Angel. They're clearly not the same entity, and they're not even necessarily on speaking terms. So what was the Black Angel doing, trying to keep you from leaving the cemetery? She's identified with the black crows, and Draco is identified with the white crows, but both crow types  say "tekeli-li" so what's going on there? What type of entity is the Black Angel?]
 
Table of Draco Topics
topic     reply
"[figure]"     "[one of]His nostrils flare, and fangs appear behind his twisted lips. [fixed letter spacing]'Do you not know who I am? Are you really so stupid?'[variable letter spacing][paragraph break]But he calms himself. [fixed letter spacing]'Of course you are. My mistake. All the same, maybe we should pursue a different topic of conversation--Until you're able to refer to me with a modicum of respect.'[variable letter spacing][or][fixed letter spacing]'Please,'[variable letter spacing] he says, raising a hand in warning, [fixed letter spacing]'We can't begin to talk about me. You have no idea what I am. You don't even know my name.'[variable letter spacing][stopping]"
"[crows]"     "He halfheartedly stifles a chuckle.[paragraph break][fixed letter spacing]'My opinion is that you ought to treat crows with greater respect. I suppose I should say [']you ought to have treated.['] Your lack of civility hardly matters now, though, tense and aspect notwithstanding.'[variable letter spacing]"
"[player]"     "[fixed letter spacing]'You? Your name is [player's full name in title case]; you decided (for whatever reason) against taking a bus or a taxi home from the grocery store; you cobbled together an exceedingly primitive compass. Then there was some brutish behavior in a cemetery, which wasted valuable energy that would have been better saved for use here, as you slowly succumb to hypothermia.'[variable letter spacing][paragraph break]He shrugs. [fixed letter spacing]'The rest of the story isn't really about you, per se. You and your dead body are equally unlucky but distinct entities.'[variable letter spacing]"
"[jacket]"     "[fixed letter spacing]'I was wondering about that myself.'[variable letter spacing] He looks you over. [fixed letter spacing]'I was wondering whether you really thought you'd be warm enough in just that jacket, with no gloves, no hat, no long underwear, or whether perhaps you wore it as a display of flagrant disrespect. Which is it? Impudence or idiocy?'[variable letter spacing][paragraph break]Before you can answer, he hisses: [fixed letter spacing]'Both.'[variable letter spacing]"
"[wine]"     "[fixed letter spacing]'Oh, please. I have no patience for your little corporeal entertainments. I know humans used to pour wine out onto any old thing, in an attempt to appease the gods. Which you did, a little ways back there, right? But guess what? I am not appeased.'[variable letter spacing]"
"[hot dogs]"     "[fixed letter spacing]'I did notice your highly sophisticated taste, but I'm afraid food isn't an interest of mine. Eating is more of a human thing.'[variable letter spacing]"
"[storm]"     "[fixed letter spacing]'[']Storm!['] What do you mean, [']Storm?['] Don't you watch the news? We're not talking about any old storm.'[variable letter spacing] He pulls at his hair in consternation, and mutters something you can't hear."
"snow"     "He looks around. [fixed letter spacing]'Pretty, right? I mean, I'm used to it. But I know humans have a thing where they think anything that can kill them is beautiful.'[variable letter spacing]"
"wind"     "[fixed letter spacing]'What wind?'[variable letter spacing] He smirks until you're about to speak again, and then he interrupts you. [fixed letter spacing]'I don't think much about it, is the thing. I just go where it takes me.'[variable letter spacing]"
"blizzard"     "[fixed letter spacing]He inhales through his fangs, exasperated. [fixed letter spacing]'Yes, a blizzard. A big, bad blizzard. A blizzard with a name.'[variable letter spacing]"
"[woods]"     "[fixed letter spacing]'Yes, yes, I saw you dithering around in the woods. It was a tedious sight, until I realized you were really trying to find a way out; then it was hysterical.'[variable letter spacing]"
"tekeli-li"     "[fixed letter spacing]'No. You're saying it wrong.'[variable letter spacing] He curves his serpentine neck and whistles: [fixed letter spacing]'TEKELI-LI! Like that. If you can't say it right, I'm not gonna tell you what it means.'[variable letter spacing]"
"[compass]"     "[fixed letter spacing]'Oh, you want directions? Why don't you build another compass? You're not getting any help from me.'[variable letter spacing]"
"[cemetery]"     "[fixed letter spacing]'Yes, I recall watching you stumble through the cemetery. I saw you nearly trip over about a hundred tombstones. Then [if the shovel is handled]you picked up that shovel, then [end if]you fought that Black Angel, then you ended up out here. [']Good Job,['] is that what I'm supposed to say? No. A good job would be staying inside, where it's warm.'[variable letter spacing]"
"[bus stop]"     "[fixed letter spacing]'[if bus stop is visited]I did see you hanging around the bus stop, like an idiot. [end if]No, the buses aren't running any longer. You had your chance, but you said [']No, I'll walk!['] Congratulations.'[variable letter spacing][if schedule is 99][paragraph break]You ask him about the bus you saw.[paragraph break]He frowns. [fixed letter spacing]'Uh, no. I don't remember anything like that.'[variable letter spacing]"
"[black angel]"     "He rolls his eyes and blows a puff of air up into his bangs. [fixed letter spacing]'I'm afraid I can't speak for her. Maybe she was trying to protect you from me.'[variable letter spacing] He chuckles. [fixed letter spacing]'That doesn't sound much like her, does it?'[variable letter spacing]"
"[name]"     "He drums his fingers for a bit before he speaks. [fixed letter spacing]'I know you humans give each other names like candy canes at Christmas, but for a guy like me to have a name is kind of a big deal. So you can understand my frustration, knowing that you apparently haven't heard of me.[paragraph break]'But you won't be around for long, right? And everyone else--everyone who matters--they know me, and they'll remember me. You should be so lucky.'[variable letter spacing]"
"[draco]"     "He bows deeply, approximating a demure expression. [fixed letter spacing]'Yes, that's me. And I'd be happy to tell you everything about myself, or as much as I can fit in before you die of exposure. Let's see.'[variable letter spacing][paragraph break]He looks through the snow and points a claw into the distance. [fixed letter spacing]'I brought myself into existence off the western coast of North America a few days ago. I crossed the Rockies without difficulty and, having accumulated a profound amount of atmospheric moisture, I started to cover the middle of your continent with rain, snow, thunder and lightning, everything. I just got here tonight, but I'd say I've already made quite an impression.[paragraph break]'It was never my intention to hurt anybody; I get nothing out of inflicting pain. But I do tend to think your sad fate might not be all that pointless. Those who hear about what happened to you--if you're remembered at all--will hopefully take the story to heart, and it may encourage them to take me seriously.[paragraph break]'From here I'm heading east: Boston, D.C., New York City. They'll appreciate me over there. For you Middle America yokels, every snowstorm's the same. A mild inconvenience! [']Uh-oh, we have to shovel the sidewalk again!['] But they'll really get me. They'll be talking about me for years: [']Winter Storm Draco.['][paragraph break]'Are you dead yet?'[variable letter spacing][paragraph break]No, you're thinking. If west is [italic type]that[roman type] way...[orient player]"
 
Oriented is a truth state that varies. Oriented is false. [Refers specifically to loss of orientation in Whiteness.]
 
To say orient player:
     now draco is proper-named;
     now printed name of draco is "Winter Storm Draco";
     now oriented is true.
     
     
Before going south in whiteness:
     if oriented is true:
          say "You turn away from Winter Storm Draco and begin walking south.[paragraph break][fixed letter spacing]'Hey! Where are you going?'[variable letter spacing][paragraph break]A scrap of color flickers in the air ahead. Your eyes are playing tricks on you.[paragraph break][fixed letter spacing]'Hey, idiot! Get back here! You--'[variable letter spacing][paragraph break]His voice cracks, replaced by screeching and flapping so loud as to drown out even the wind. You break into a run.";
          now visibility-text is "Complicated";
          now description of snow is "The snow has stopped falling. It rests in a solid, perfectly level mass on top of every available surface.";
          now description of sky is "The sky, still a uniform mass of cloud, is now an odd pink color. The significance of this is unclear.";
          now player is in Euclid Street instead.
          
Instead of going nowhere in whiteness while oriented is true:
     say "You cast an eye that way, hoping that some landmark will appear from out of the snow and confirm your sense of place, but nothing materializes. If you do know north from south, though, there's only one way to go."
 
     
Book 3 - Euclid Street
 
[% "Euclid Street" would be a much more clever name if the description didn't also refer to reacquiring basic geometry.]
 
Section 1 - Description
 
Euclid Street is a room. "[one of]As you run, you refamiliarize yourself with concepts of line, form, and color. Those shapes that appear to be smaller than the other shapes only seem that way because they're further from you. The thing that is furthest away is a 'vanishing point'[unicode 8212]You can figure that out later. The orange-pink cast over all of the shapes is an effect of the streetlights, or perhaps the dawn. The shapes themselves are houses. Each of them is surrounded and covered by at least a foot of snow, a colorless substance with many interesting properties[or]You are on Euclid Street, the street where your house is[stopping].[paragraph break]Your house is south from here. To the north is something you are afraid to look at."
 
Section 2 - Scenery
 
Some houses are plural-named scenery in euclid street. Understand "shape" and "shapes" and "yard" and "yards" and "doors" and "windows" and "porches" and "window" and "porch" as the houses. The description of the houses is "Houses are shapes with yards, doors, windows, porches, that sort of thing."
 
Instead of entering the houses, try going south.
 
The vanishing point is scenery in euclid street. The description of the vanishing point is "As you contemplate the implications of the process of vision and its relationship to real space, your head starts to hurt."
 
The streetlights are plural-named scenery in euclid street. Understand "streetlight" and "streetlamps" and "streetlamp" as the streetlamps. The description of the streetlights is "You can see the effect of the streetlights on every surface they illuminate, but you can't see the lights themselves[unicode 8212]Oh! They're up there."
 
[% I can't decide whether it's really the next morning or not.]
 
The dawn is plural-named scenery in euclid street. Understand "sun" as the dawn. Instead of examining the dawn, try examining the sky.
 
The lane is scenery in euclid street. Understand "road" and "street" and "euclid street" and "line" as the lane. The printed name of the lane is "Euclid Street". The description of the lane is "Euclid Street is a line which separates one half of space from the other half. You are a point on this line. (This is a simplification, of course.)"
 
A million screaming white crows are plural-named scenery in euclid street. Understand "storm" and "figure" and "winter storm draco" and "draco" and "crow" and "bird" and "birds" as the million screaming white crows. The description of the white crows is "[one of]You glance back at a million screaming white crows. They look to be catching up with you pretty fast[or]You may want to get inside before they get here[stopping]."
 
Instead of examining north in euclid street, try examining the white crows.
 
Instead of listening to something in Euclid Street, say "All you can hear is that [fixed letter spacing]'TEKELI-LI!'[variable letter spacing] over and over again, getting louder and closer all the time."
 
Instead of listening to Euclid Street, say "All you can hear is that [fixed letter spacing]'TEKELI-LI!'[variable letter spacing] over and over again, getting louder and closer all the time."
 
The real house is scenery in euclid street. Understand "door" as the real house. The description of the real house is "Although covered in snow, it strongly resembles your own house. You have vivid memories of living in something almost identical to this. Yes. This is probably your house."
 
Instead of opening the real house, try going south.
 
Instead of examining south in euclid street, try examining the real house.
 
Instead of entering the real house, try going south.
 
Instead of going inside in euclid street, try going south.
 
Instead of going nowhere in euclid street, say "You rack your brain, trying to recall the difference between east and west.[paragraph break]Maybe now isn't the time. The thing behind you is getting closer."
 
[% This response doesn't make any sense if it triggers when you're trying to go up or down or outside, but whatever.]
 
Section 3 - Dying
 
[% I think Jason McIntosh was the guy who tried to wait for the birds to catch up with him, inspiring me to write an ending where the birds catch up with you and devour you in a grisly manner.]
 
Approach is a number that varies. Approach is 0.
 
Every turn while player is in euclid street:
     increment approach;
     if approach is 3:
          say "The flapping is getting louder; the shrieking is growing more excited.";
     if approach is 4:
          say "The crows aren't here yet, but the cacophany of their approach is deafening.";
     if approach is 5:
          say "The crows have caught up with you.[paragraph break]They're on you all at once, like an avalanche, with beaks and talons tearing apart your jacket, tearing the flesh from your bones, sucking out and swallowing every soft part of your body. Your eyes are gobbled up early on, and so you sense rather than observe the process for most of its duration: Chest, thighs, stomach, neck.[paragraph break]What isn't eaten is licked dry, then carried off into the clouds; not even blood remains to mark the snow. When Winter Storm Draco has finished, there is nothing left to bury.";
          end the story saying "The end."
          
 
Section 4 - The End
 
Instead of going north in euclid street:
     say "You and I both know you'd definitely die."
 
Instead of going south in euclid street:
     now player is in Home;
     say "You unlock the front door and creep inside[unicode 8212]A gust of wind blows it wide open[unicode 8212]You push against it with the last of your strength, and it closes again.[paragraph break]You call out softly to the stairway, but no one replies. Your housemates are asleep. You wonder what time it is.[paragraph break]You decide not to check. You stuff the hot dogs in the refrigerator, pull out another plastic cup, and pour yourself some wine.";
     end the story finally saying "The end."
     
 
[% Everyone does that thing sometimes where you try to avoid finding out what time it is, right?]
 
Home is a room.
 
Rule for constructing the status line when location is home:
     center "||| Location: Home |||" at row 1;
     rule succeeds.
     
Rule for amusing a victorious player:
     say "This interactive documentary is for educational purposes only. It is not intended to amuse."
     
 
 
 
Volume 7 - The Walkthrough
 
Hinting is an action out of world. Understand "help" or "hint" or "walkthrough" or "walkthru" as hinting.
 
Carry out hinting:
     say "[italic type]Are you sure you want a hint?[paragraph break]>";
     if player consents:
          say "Okay: [hint][roman type]";
     otherwise:
          say "Cool.[line break][roman type]"
 
[% And here is the last rule! The game is extremely small and extremely linear, so I was able to fit all of the steps into one big logic tree. If you don't have the structure of the game memorized, this is probably not very easy to read...]
 
To say hint:
     if location is euclid street:
          say "GO SOUTH.";
     otherwise if location is whiteness:
          if oriented is true:
               say "If west is that way, then south is that way. Go south.";
          otherwise if draco is not faraway:
               say "This guy is kind of self-obsessed. You might get an in with him if you can guess his name. (Bonus Hint: His name is easy to guess.)";
          otherwise:
               say "There's a great verb for getting people's (or crows[']) attention that I told you about earlier in the game. Remember?";
     otherwise if location is tunnelo:
          say "Not much of anywhere to go from here but south.";
     otherwise if location is bus stop:
          say "To get across the street you have to take that tunnel that's west from here.";
     otherwise if location is peters street:
          say "To get across the street you have to take that tunnel to the south.";
     otherwise if location is in cemetery:
          if black angel is vexed:
               if player encloses the shovel:
                    say "To fight the Black Angel effectively, slice in the opposite directions of her attacks. (That means if she slices down, you should slice up; if she slices from the right, you should slice to the right.) Only thrust when you have an opening.";
               otherwise:
                    say "To fight the Black Angel, you need a weapon. There's a weapon-like object in the shed[if location is not nearshed] (There's a shed around here somewhere)[end if].";
          otherwise:
               say "The way out of the cemetery is [if location is nearmausoleum]east[otherwise]south[end if].";
     otherwise if location is in woods:
          if bearings is true:
               say "Just follow the directions out of the woods.";
          otherwise:
               if player carries needle:
                    if needle is magnetized:
                         say "Now that your needle is magnetized, you can totally make it into a compass. You just need to make it float on something. Put some wine in a cup; put the needle in the cork; put the cork in the cup. No problem.";
                    otherwise:
                         say "You could make a compass with that needle if it were magnetized. [if location encloses the tin]Something in this area or in your inventory has a magnet on it; try 'RUB NEEDLE ON' that thing[otherwise]There's a magnetic thing in these woods, but you'll have to look around and examine stuff to find it[end if].";
               otherwise:
                    say "Have you seen the crows? Have you bugged the crows?";
     otherwise:
          say "Just go south from here."
 
 
 
 
 
[% THANK YOU FOR YOUR INTEREST.]


Related Jobs

Schell Games
Schell Games — Pittsburgh, Pennsylvania, United States
[09.19.18]

Senior Unreal Game Engineer
NERD KINGDOM
NERD KINGDOM — IRVING, Texas, United States
[09.19.18]

Lead Gameplay Programmer
Obsidian Entertainment
Obsidian Entertainment — Irvine, California, United States
[09.19.18]

Network Programmer
Leaftail Labs
Leaftail Labs — Seattle, Washington, United States
[09.19.18]

Senior Software Engineer





Loading Comments

loader image