Yummy Gummy Super Food (Source)

Yummy Gummy Super Food
Jupiter Mining Corporation starship Blue Dwarf

Yummy Gummy” by “A. J. Mako

 

The story headline is “An escape room puzzle game.“.

The story genre is “Comedy“.

The story creation year is 2016.

The release number is 2.

The story description is “This is an escape room puzzle, based on a puzzle in Infocom’s Hitchhiker’s Guide to the Galaxy.

 

[Change Log:

Release 1 (2016-02-20)

Release 2 (2019-11-28):

— Replaced references to NORKA PUBLICATIONS.

— Reorganized the source code.

— Updated convoluted and inefficient statements.

]

 

Release along with a cover art, a “OneColumn” website, an interpreter, the source text, and the library card.

 

Include Basic Screen Effects by Emily Short.

 

Part 1 – Globals

 

The warning read is a truth-state that varies. The warning read is initially false.

The grim reaper is a truth-state that varies. The grim reaper is initially false.

The death stage is a number that varies. The death stage is initially 0.

The current day is some text that varies.

The current shape is some text that varies.

The current flavor is some text that varies.

 

A person can be hungry or satiated. A person is usually hungry.

 

Encasement relates a thing (called X) to a thing (called Y) when X is part of Y or X is held by Y. The verb to be encased by implies the encasement relation.

 

Definition: a container is empty if the number of things in it is zero.

Definition: a supporter is empty if the number of things on it is zero.

Definition: a thing is empty if the number of things encased by it is zero.

Definition: a thing is non-empty if it is not empty.

 

A thing can be hangable or not hangable. A thing is usually not hangable.

 

Definition: a supporter is occupied:

if it is undescribed, decide no;

if something is on it, decide yes;

decide no.

 

Part 2 – Start Up

 

Chapter 1 – Start of Game

 

When play begins:

set the day of the week;

set the gummy shape;

set the gummy flavor;

now the time of day is 3:13 AM;

now the right hand status line is “[time of day] [the day of the week shortly]“;

say “As a second technician aboard the Jupiter Mining Corporation starship Blue Dwarf, [our] life is a drudgery of never-ending, essential, routine maintenance. During [our] time aboard the ship [we] have become an expert in unsticking doors, unclogging drains, the never ending battle against chicken soup build-up, and let’s not forget painting the ship. If [we] never see another drop of blue paint it will be too soon.[paragraph break]Lately, however, [we][]ve been plagued by strange dreams about being asked to perform major repairs to the ship, being buried alive under a pile of 47-9-stroke-B maintenance requests, and being caught performing [our] duties in [our] pajamas. As troubling as these dreams may be, [we][]ve never actually woken up to find [ourselves] performing major repairs in [our] pajamas without a 47-9-stroke-B.[paragraph break]Until now…“;

pause the game.

 

Every turn while the player is hungry:

say “[Our] stomach rumbles [one of]anxiously[or]irritably[or]eagerly[or]curtly[or]demandingly[or]feverishly[or]impetuously[or]indignantly[or]vehemently[at random].

 

To set the day of the week:

let N be a random number between 1 and 6;

if N is:

— 1: now the current day is “Monday“;

— 2: now the current day is “Tuesday“;

— 3: now the current day is “Wednesday“;

— 4: now the current day is “Thursday“;

— 5: now the current day is “Friday“;

— 6: now the current day is “Saturday“.

 

To say the day of the week shortly:

if the current day is:

— “Monday“: say “MON“;

— “Tuesday“: say “TUE“;

— “Wednesday“: say “WED“;

— “Thursday“: say “THU“;

— “Friday“: say “FRI“;

— “Saturday“: say “SAT“.

 

To set the gummy shape:

let N be a random number between 1 and 8;

if N is:

— 1: now the current shape is “a dog“;

— 2: now the current shape is “a cat“;

— 3: now the current shape is “a bear“;

— 4: now the current shape is “a donkey“;

— 5: now the current shape is “a monkey“;

— 6: now the current shape is “a elephant“;

— 7: now the current shape is “a penguin“;

— 8: now the current shape is “a octopus“.

 

To set the gummy flavor:

let N be a random number between 1 and 8;

if N is:

— 1: now the current flavor is “pork chops“;

— 2: now the current flavor is “apple pie“;

— 3: now the current flavor is “broiled lobster“;

— 4: now the current flavor is “chicken vindaloo“;

— 5: now the current flavor is “a pot noodle“;

— 6: now the current flavor is “beef stew“;

— 7: now the current flavor is “cheddar cheese“;

— 8: now the current flavor is “lemon curry“.

 

Chapter 2 – Changing Directions

 

[This creates new directions because we’re aboard a ship, and N, E, S, W don’t mean anything here.]

The starboard is a direction. The starboard has opposite port. Understand “s” as starboard when the location is nautical.

The port is a direction. The port has opposite starboard. Understand “p” as port when the location is nautical.

The fore is a direction. The fore has opposite aft. Understand “f” as fore when the location is nautical.

The aft is a direction. The aft has opposite fore. Understand “a” as aft when the location is nautical.

 

Does the player mean going a nautical direction when the location is nautical: it is very likely.

 

[This maps the shipboard directions to the existing directions.]

Index map with fore mapped as north. Index map with aft mapped as south. Index map with port mapped as west. Index map with starboard mapped as east.

 

[This establishes a property for rooms and directions, making them relatable.]

A room can be nautical or earthbound. A room is usually not nautical. A direction can be nautical or earthbound. A direction is usually not nautical. Starboard, port, fore, aft, up, down, the inside and the outside are nautical.

 

[This warns the player that shipboard directions are for use aboard ships. It is not used in this game.]

Before going a nautical direction when the location is not nautical, say “Shipboard directions can only be used on board ship.

 

[This warns the player about using compass directions on board a ship, and stops movement.]

Before going an earthbound direction when the location is nautical, say “Compass directions make no sense on board ship, but [we] can use [list of nautical directions] instead.” instead.

 

Before examining a direction:

let D be the door noun from the location;

if D is not nothing, try examining D instead.

 

Part 3 – The Map

 

Chapter 1 – Rooms

 

Storage Space 147 is a room. The printed name is “Deck 9, Storage Space 147“. The description is “This is a squalid space that is mostly empty. It has four grimy metal bulkheads, a grimy metal deck, and a grimy metal overhead. The only exit is a levered hatch to port. Along one wall is a tall dispensing machine.” Storage Space 147 is nautical.

 

Corridor 147 is a room. The printed name is “Deck 9, Corridor 147“. The description is “This is a squalid corridor that is mostly empty. It has the same grimy metal appeal as the storage space. It continues fore and aft from here.” Corridor 147 is nautical.

 

Before going nowhere from Corridor 147:

if the noun is fore or the noun is aft:

end the game in victory;

stop the action.

 

Chapter 2 – The Hatch and Knee-Knockers

 

The hatch is a door. It is port of Storage Space 147 and starboard of Corridor 147. It is scenery. A lever is part of the hatch. The hatch is closed. “This is a standard shipboard fitting called an airtight hatch. It was once painted ‘gun-metal gray’ but now it is the same dark, reddish-not-quite-black grimy metal as everything else. The hatch is securely dogged down. Turning the lever should allow it to be opened.

 

The foreknocker is a door. It is fore of Corridor 147. The printed name is “Frame 147“. The description is “This opening isn’t air tight. It marks the forward edge of frame 147. The corridor goes on seemingly for miles in this direction.” The foreknocker is scenery, open and unopenable. Understand “forward knee-knocker” or “forward frame” or “frame 147” as the foreknocker.

 

The aftknocker is a door. It is aft of Corridor 147. The printed name is “Frame 148“. The description is “This opening isn’t air tight. It marks the forward edge of fram 148. The corridor goes on seemingly for miles in this direction.” The aftknocker is scenery, open and unopenable. Understand “afterward knee-knocker” or “afterward frame” or “frame 148” as the aftknocker.

 

Chapter 3 – Backdrops

 

The bulkhead is a backdrop. “At one point the bulkheads were painted a color known as ‘gun-metal gray.’ Now they are a dark, reddish-not-quite-black.” Understand “bulkheads” as the bulkhead. The bulkhead is everywhere.

 

The overhead is a backdrop. “A confusing mess of pipes, cables, fixtures, and less recognizeable stuff. At one point all of it was painted either white or ‘gun-metal gray.’ Now everything is varying shades of dark, reddish-not-quite-black.” The overhead is everywhere.

 

The deck is a backdrop. “Upon closer examination, the deck isn’t grimy metal. Rather it is covered with flooring tile — black with specks of dark gray and red.” The deck is everywhere.

 

Chapter 4 – Scenery

 

The metal hook is a supporter in Storage Space 147. It is scenery. The description is “It looks like every other hook [we][]ve ever seen. There’s a hole in the bulkhead below it.” Understand “metal” or “hook” as the metal hook.

 

The small hole is a container in Storage Space 147. It is scenery. Understand “small” or “hole” as the small hole.

 

[You shouldn’t put anything in the small hole, or you’ll lose it forever.]

Instead of inserting something into the small hole:

now the noun is nowhere;

say “It falls through the hole and vanishes.

 

The drain is a supporter in Storage Space 147. It is scenery. Understand “grating” or “drain” as the drain.

 

The robot panel is scenery in Storage Space 147. The robot panel can be openable or unopenable. The robot panel can be open or closed. It is closed and openable. The description is “The panel, only a few inches high, is currently closed.” The robot panel has an object called blocked by.

 

Definition: the robot panel is blocked if the blocked by of it is not nothing.

 

Instead of opening the robot panel, say “It won’t budge.

 

Chapter 5 – Things in the Room

 

The screwdriver is a thing in Storage Space 147. The description is “It looks like every other flathead screwdriver [we][]ve ever seen.” The indefinite article is “the“.

 

The towel is a thing in Storage Space 147. The description is “It’s covered with little pink and blue flowers.” The towel is hangable.

 

The satchel is a supporter in Storage Space 147. The description is “The satchel[if closed], which is closed[else], which is open[end if], is fairly bulky. It has the name ‘First Technician Eccles Bluebottle’ printed on it.” The satchel can be openable or unopenable. The satchel can be wearable. The satchel can be open or closed. The satchel is hangable, wearable, openable, portable and closed.

 

[There’s nothing in the satchel to help you, so there’s no reason to open it.]

Instead of opening the satchel:

say “Space Corps Directive 5185 provides a punishment of six months in stasis and forfeiture of pay for opening the satchel of a superior technician.

 

Before putting something on the satchel (this is the only one thing goes on the satchel rule):

if the satchel is occupied:

Let O be a random thing on the satchel;

say “But [a O] is already on [the second noun].” instead.

 

Part 4 – The Player

 

Chapter 1 – Who Are You

 

Some teeth are part of the player. Understand “teeth” as some teeth. Some teeth are ambiguously plural.

 

The description of the player is “As far as [we] can tell, [we] are a second technician, wearing pajamas[if the dressing gown is worn] and a dressing gown[end if].

 

Chapter 2 – Not Quite Twenty Questions

 

[Provide some answers to the inevitable who, what, when, where, why, and how questions.]

After reading a command (This is the answering stupid questions rule):

if the player’s command matches the text “who am i“, case insensitively:

say “[We] [are] a second technician aboard the Jupiter Mining Corporation starship Blue Dwarf, [our] life is a drudgery of never-ending, essential, routine maintenance.” instead;

if the player’s command matches the text “where am i“, case insensitively:

say “[We] [are] on deck 9 in storage space 147.” instead;

if the player’s command matches the text “where do i live“, case insensitively:

say “[We] live in an incredibly spacious two-man berthing on deck 9, frame 186.” instead;

if the player’s command matches the text “what is this place“, case insensitively:

say “This is a mostly unused storage space on deck 9 of the Jupiter Mining Corporation starship Blue Dwarf.” instead;

if the player’s command matches the text “what am i doing here“, case insensitively or the player’s command matches the text “why am i here“, case insensitively or the player’s command matches the text “how did i get here“, case insensitively:

say “If [we] don’t know, I can’t help [us].” instead;

if the player’s command matches the text “what time is it“, case insensitively or the player’s command matches the text “what day is it“, case insensitively or the player’s command matches the text “when is“, case insensitively:

say “Time is an illusion, lunch time doubly so, but right now it’s [the time of day], on a [the current day], I think.” instead.

 

Chapter 3 – What You Have

 

Section 1 – Things You Have

 

no coffee is a thing. It is carried by the player. [This is part of a joke on the inventory screen.]

 

The dressing gown is a wearable thing. The player wears the dressing gown. The description of the dressing gown is “It’s a drab, blue color and feature’s a small ship’s logo on the front. It’s not the usual thing [we] wear to perform maintenance on dispensing machines.” The dressing gown is hangable. Understand “robe“, “bathrobe“, “dressing“, or “gown” as the dressing gown.

 

A pocket is a container that is part of the dressing gown.

 

The fluff is an edible thing. The printed name is “pocket fluff“. The indefinite article is “some“. It is in the pocket. Understand “lint“, “pocket lint“, “fluff” or “pocket fluff” as the fluff. [Yes, we made it edible so the player can try to eat it.]

 

Instead of eating the fluff:

say “It’s not very appetising and has absolutely no nutritional value whatsoever.“;

now the fluff is in the pocket.

 

The toothbrush is a thing. The description is “It looks like every other toothbrush [we][]ve ever seen.” It is in the pocket.

 

The nozzle-cleaner is a thing. The printed name is “14B nozzle-cleaner“. The description is “It looks like every other 14B maintenance nozzle cleaning mechanism [we][]ve ever seen — or is it a 14F?” The nozzle-cleaner is in the pocket. Understand “pipe cleaner“, “nozzle cleaner“, “cleaner“, “14B” or “14F” as the nozzle-cleaner.

 

The junk mail is a thing. The description is “There are many pieces of mail. Several are from some computer company called MARZLIFE PRODUCTIONS, who want [us] to buy their games. Hidden underneath is an official letter from the personnel officer, dated some two months ago and inexplicably not delivered until now, explaining that [our] latest attempt to pass the engineer’s exam was a utter failure. All [we] remember from the exam is writing ‘I AM A FISH’ 400 times and then passing out.” The junk mail is ambiguously plural. The indefinite article is “[if carried]some[else]a[end if]“. The player carries the junk mail. The printed name of the junk mail is “[if carried]junk mail[else]loose pile of junk mail[end if]“. The junk mail has a number called half gone. The half gone of the junk mail is 0. Understand “junkmail” as the junk mail.

 

The letter is a thing. The description is “This is an official letter from the personnel officer, dated some two months ago and inexplicably not delivered until now, explaining that [our] latest attempt to pass the engineer’s exam was a utter failure. All [we] remember from the exam is writing ‘I AM A FISH’ 400 times and then passing out.

 

Section 2 – Taking Inventory

 

Understand “check inventory” as taking inventory.

 

Inventory listing the contents of something is an activity.

 

The print empty inventory rule is not listed in the carry out taking inventory rules.

The print standard inventory rule is not listed in the carry out taking inventory rules.

 

The first carry out taking inventory rule (this is the intro list rule):

say “[We] [run paragraph on]“;

 

Carry out taking inventory when the number of things had by the player is zero (this is the new empty inventory rule):

say “have nothing.” instead;

 

Carry out taking inventory when the number of things carried by the player is greater than zero (this is the basic carrying inventory rule):

say “have [a list of things carried by the player][if the player wears something], and [we][]re [end if][run paragraph on]“;

 

Carry out taking inventory when the number of things worn by the player is greater than zero (this is the basic wearing inventory rule):

if the number of things worn by the player is greater than zero, say “wearing [a list of things worn by the player][run paragraph on]“;

 

Carry out taking inventory (this is the set up second-level inventory list rule):

now everything is unmentioned;

now the player is mentioned;

 

Carry out taking inventory (this is the deliver second-level inventory list rule):

let item be a random unmentioned non-empty thing encased by something mentioned;

while item is a thing begin;

carry out the inventory listing the contents activity with the item;

now the item is mentioned;

let item be a random unmentioned non-empty thing encased by something mentioned;

end while;

say “.

 

Rule for inventory listing the contents of an open container (called the item):

say “. In [the item] [is-are a list of things in the item][run paragraph on]” instead;

 

Rule for inventory listing the contents of a supporter (called the item):

say “. On [the item] [is-are a list of things on the item][run paragraph on]” instead;

 

Rule for inventory listing the contents of a thing (called the item):

do nothing instead;

 

Part 5 – Minor Operations

 

Chapter 1 – Correct Terminology

 

[Force the player to use the right terminology without saying ‘You don’t see any such thing.’]

After reading a command (This is the better use shipboard terminology rule):

if the player’s command matches the text “wall“, case insensitively:

say “What a civilian might call ‘walls,’ [we] call a bulkhead.“;

reject the player’s command;

if the player’s command matches the text “ceiling“, case insensitively:

say “What a civilian might call a ‘ceiling,’ [we] call an overhead.“;

reject the player’s command;

if the player’s command matches the text “floor“, case insensitively:

say “What a civilian might call a ‘floor,’ [we] call a deck.“;

reject the player’s command;

if the player’s command matches the text “door“, case insensitively:

say “What a civilian might call a ‘door,’ [we] call a hatch.“;

reject the player’s command;

 

Chapter 2 – General Usery

 

[This just handles cases where the player tries to use things that have their own uses.]

Understand “use [an edible thing]” as eating.

Understand “use [a wearable thing]” as wearing.

Understand “use [a closed openable container]” as opening.

Understand “use [an open openable container]” as closing.

Understand “use [a closed openable door]” as opening.

Understand “use [an open openable door]” as closing.

 

Understand “use [something]” as using. Using is an action applying to one thing.

Carry out using:

say “[We] will have to be more specific about [our] intentions.

 

Chapter 3 – Operating the Door, er, Hatch

 

[The first thing anyone will try to do is open the hatch. We handle that here.]

Instead of turning or pulling the lever, try opening the hatch.

 

Instead of opening the hatch when the player is hungry:

say “[We] grab the lever and strain to undog the hatch, but hunger has made [us] too weak. [We] need some food.

 

Instead of exiting when the player is in Storage Space 147:

try entering the hatch.

 

To decide if forgetting:

if the dressing gown is not worn and the dressing gown is not carried:

yes;

otherwise if the letter is on the satchel:

yes;

otherwise if the junk mail is on the satchel:

yes;

otherwise if the towel is on the drain:

yes;

otherwise if the satchel is carried or the satchel is worn:

yes;

no.

 

To issue forgetting warning:

if the dressing gown is not worn and the dressing gown is not carried:

say “Aren’t [we] forgetting [our] dressing gown?“;

otherwise if the letter is on the satchel:

say “Aren’t [we] forgetting [our] letter?“;

otherwise if the junk mail is on the satchel:

say “Aren’t [we] forgetting [our] mail?“;

otherwise if the towel is on the drain:

say “Aren’t [we] forgetting [our] towel?“;

otherwise if the satchel is carried or the satchel is worn:

say “Space Corps Directive 5209 provides a punishment of six months in stasis and forfeiture of pay for carrying away the satchel of a superior technician.“.

 

Before going through the hatch:

if forgetting:

issue forgetting warning;

stop the action.

 

Before going port from Storage Space 147:

if forgetting:

issue forgetting warning;

stop the action.

 

Chapter 4 – Using the Screwdriver

 

[We have to have rules governing the use of the screwdriver. In this case the command will be USE SCREWDRIVER ON SOMETHING.]

Screwdriving on is an action applying to one thing and one carried thing. Understand “screw [something] with [something]” as screwdriving on. Understand “use [the screwdriver] on [something]” as screwdriving on (with nouns reversed).

 

Check screwdriving on:

if the second noun is not the screwdriver:

say “[The second noun] is not designed for that.” instead;

if the noun is the dispenser machine:

say “[We][]ll need more than [a second noun] to recalibrate [the noun].” instead;

otherwise if the noun is the hatch:

say “[The noun] isn’t broken. Using [the second noun] to force it open will probably break it.” instead;

otherwise if the noun is the teeth:

say “[The second noun] is not designed for that.” instead;

otherwise:

say “[We] tinker with [the noun] for a few minutes, but nothing changes.” instead.

 

Chapter 5 – Using the Toothbrush

 

[We have to have rules governing the use of the toothbrush because chances are the player will try to do all sorts of crazy things with it. In reality, the toothbrush is an unused prop. ]

Brushing with is an action applying to one thing and one carried thing. Understand “brush [something] with [something]” as brushing with. Understand “use [something] to brush [something]” as brushing with (with nouns reversed). Understand “clean [something] with [the toothbrush]” as brushing with. Understand “clean [the teeth] with [something]” as brushing with.

 

Check brushing with:

if the second noun is not the toothbrush:

say “[The second noun] is not designed for that.” instead;

if the noun is not the teeth:

say “[one of][We][]ll ruin [our] toothbrush that way[or]It’ll take years to scrub [the noun] clean that way[or]That’s not the sort of job second technicians normally do[or][We] don’t have a 47-9-stroke-B maintenance work request for that[at random]!” instead.

 

Report brushing with:

if the player is hungry, say “[Our] teeth are cleaner, but all it really did was make [us] more hungry.“;

otherwise say “[Our] teeth are cleaner.

 

Chapter 6 – Using the 14B Nozzle-Cleaner

 

[We have to have rules governing the use of the nozzle-cleaner. We want to have the commands CLEAN and USE work with this item.]

Cleaning with is an action applying to one thing and one carried thing. Understand “clean [something] with [something]” as cleaning with. Understand “use [the nozzle-cleaner] on [something]” as cleaning with (with nouns reversed).

 

Check cleaning with:

if the second noun is not the nozzle-cleaner:

say “[The second noun] is not designed for that.” instead;

say “[The noun] [regarding the noun][don’t] have a nozzle, so [a second noun] won’t work on [regarding the noun][them].” instead.

 

Chapter 7 – Putting Something Somewhere

 

Understand “put [something] over [something]” as putting it on. Understand “cover [something] with [something]” as putting it on (with nouns reversed).

 

[The only thing that works on the drain is the towel.]

Check putting something on the drain (this is the nothing but the towel goes on the drain rule):

if the noun is not the towel:

say “The drain is too large to be covered by [if the noun is the junk mail]the loose pile of junk mail[else][the noun][end if].” instead;

 

Carry out putting something on the drain (this is the carry out putting the towel on the drain rule):

now the noun is on the drain.

 

Report putting something on the drain (this is the report putting the towel on the drain rule):

say “[The noun] completely covers the drain.“;

stop the action.

 

Putting in front of is an action applying to one carried thing and one thing. Understand “put [something] in front of [something]” as putting in front of. Understand “block [something] with [something]” as putting in front of (with nouns reversed).

 

Check putting in front of:

if the second noun is the robot panel:

let B be the blocked by of the second noun;

if B is not nothing:

say “But [a B] is already in front of [the second noun].” instead.

 

Carry out putting in front of:

now the noun is in Storage Space 147;

if the second noun is the robot panel:

now the blocked by of the second noun is the noun.

 

Report putting in front of:

if the noun is the satchel:

say “Okay, [the noun] is lying on its side in front of the [the second noun].“;

otherwise:

say “Okay, [the noun] is sitting in front of [the second noun].

 

Before taking something:

if the noun is the blocked by of the robot panel:

now the blocked by of the robot panel is nothing.

 

Chapter 8 – Hanging & Putting Things

 

[The natural thing to do with a hook is to hang things on it.]

Understand “hang [other things] on [something]” as putting it on. Understand “use [something] on [the metal hook]” as putting it on.

 

[The only thing you should be able to hang on the hook is the dressing gown.]

Check putting it on:

if the second noun is the hook:

if the noun is not hangable:

say “There doesn’t seem to be a way to put that there.“;

stop the action;

otherwise if the noun is the towel:

say “It slips off the hook.“;

now the noun is in Storage Space 147;

stop the action;

otherwise if the noun is the satchel:

say “Under the weight of the satchel, the hook turns and the satchel slips off.“;

now the noun is in Storage Space 147;

stop the action.

 

Report putting a hangable thing on the hook (This is the hanging gown on hook specific report rule):

if the noun is the dressing gown and the second noun is the metal hook:

say “[We] [put] [the noun] on [the second noun], covering a tiny hole.“;

stop the action;

continue the action.

 

Part 6 – Major Operations

 

Chapter 1 – The Dispenser Machine

 

The dispenser machine is a device in Storage Space 147. It is scenery. The description is “The dispenser is tall, has a button at around eye-level, and says ‘YUMMY GUMMY SUPER FOOD’ in large letters. Anything dispensed would probably come out of the slot at around knee-level. It bears a small label which reads ‘Another fine product of the Sirius Cybernetics Corporation.” The dispenser machine is switched on. Understand “dispenser“, “dispensing“, “machine“, “label” or “slot” as the dispenser machine.

 

The dispenser button is a part of the dispenser machine.

 

Understand “use [the dispenser machine]” as dispensing. Understand “use [the dispenser button]” as dispensing. Understand “push [the dispenser button]” as dispensing. Dispensing is an action applying to one thing.

 

Before dispensing:

if the player carries the packet:

say “The button seems to be stuck. Anyway, when [we] push it the dispenser makes an annoying grinding noise.” instead.

 

Check dispensing:

if the player carries the packet:

say “The button seems to be stuck. Anyway, when [we] push it the dispenser makes an annoying grinding noise.” instead.

 

Carry out dispensing:

if the dressing gown is not on the metal hook:

say “A single yummy gummy shoots out of the slot. It sails across the room and through a small hole in the wall, just under a metal hook.” instead;

otherwise:

say “A single yummy gummy shoots out of the slot. It sails across the room and hits the dressing gown. [run paragraph on]“;

if the towel is not on the drain:

say “The gummy slides down the sleeve of the gown and falls to the floor, vanishing through the grating of a hitherto unnoticed drain.” instead;

otherwise:

say “The gummy slides down the sleeve of the gown and falls to the floor, landing on the towel. [run paragraph on]“;

if the blocked by of the robot panel is nothing:

say “A split second later, a tiny cleaning robot whizzes across the floor, grabs the gummy, and continues its breakneck pace toward a tiny robot panel at the base of the wall. The robot zips through the panel, and is gone.” instead;

otherwise if the blocked by of the robot panel is not the satchel:

say “A split second later, a tiny cleaning robot whizzes across the floor, grabs the gummy, and continues its breakneck pace toward a tiny robot panel at the base of the wall. The robot zips around [the blocked by of the robot panel], through the panel, and is gone.” instead;

otherwise:

say “A split second later, a tiny cleaning robot whizzes across the floor, grabs the gummy, and continues its breakneck pace toward a tiny robot panel at the base of the wall. The robot plows into the satchel, [run paragraph on]“;

if the satchel is not occupied:

say “sending the yummy gummy flying through the air in a graceful arc. A small upper-half-of-the-room cleaning robot flies into the room, catches the yummy gummy (which is all the flying junk it can find), and exits.” instead;

otherwise if the junk mail is not on the satchel:

let L be the list of things on the satchel;

repeat with item running through L:

now the item is nowhere;

say “sending the yummy gummy and [the L with indefinite articles] flying through the air in a graceful arc. A small upper-half-of-the-room cleaning robot flies into the room, catches the yummy gummy and also manages to catch [the L with indefinite articles], and exits.” instead;

otherwise:

let L be the list of things on the satchel;

repeat with item running through L:

increase the half gone of the item by 1;

now the description of the item is “There are many pieces of mail, but only about half what there used to be. The official letter from the personnel officer, dated some two months ago and inexplicably not delivered until now, explaining that [our] latest attempt to pass the engineer’s exam was a utter failure is still here. [We] still can’t remember more from the exam other than writing ‘I AM A FISH’ 400 times and then passing out.“;

if the half gone of the item is greater than 1:

now the item is nowhere;

now the letter is on the satchel;

now the player carries the packet;

say “sending the yummy gummy flying through the air in a graceful arc surrounded by a cloud of junk mail. Another robot flies in and begins madly collecting the cluttered plume of mail. The yummy gummy continues its flight, landing with a loud ‘squish’ in [our] hand.” instead.

 

Chapter 2 – The Gummy

 

The gummy is an edible thing. The printed name of the gummy is “Yummy Gummy Super Food“. The description of the gummy is “It’s a tiny, soft, gummy thing [we] can eat. It is shaped like [the current shape][if the packet is closed]. It is wrapped neatly and sealed tightly in a plastic packet[end if][if the player is satiated]. There’s some writing on the packet that says ‘DO NOT EAT MORE THAN ONE YUMMY GUMMY SUPER FOOD GUMMY DURING A 24-HOUR PERIOD'[end if].“. Understand “yummy“, “gummy“, “super” or “food” as the gummy.

 

The packet is a container. The carrying capacity of the packet is 1. The packet is transparent, closed and openable. The printed name of the packet is “Yummy Gummy Super Food packet“. The description of the packet is “This is a clear plastic packet about 5 centimeters square. It has some tiny writing[if the player is hungry] that [we] can’t quite make out[else] that reads ‘DO NOT EAT MORE THAN ONE YUMMY GUMMY SUPER FOOD GUMMY DURING A 24-HOUR PERIOD'[end if].” The packet contains a gummy. [Understand “yummy”, “gummy”, “super” or “food” as the packet.]

 

[The gummy comes in a packet. What we’re going to do is let the word gummy apply only to the gummy, so the player has to use “packet” to do anything with the packet.]

Instead of eating the gummy when the player is hungry:

now the gummy is in the packet;

now the packet is closed;

now the packet is nowhere;

say “[We] eat the Yummy Gummy Super Food and [our] hunger is satiated. It tasted like [the current flavor].“;

set the gummy shape;

set the gummy flavor;

now the player is satiated;

stop the action.

 

Before examining the packet while the player is satiated:

now the warning read is true.

 

Before eating the gummy when the packet is closed:

say “(first opening packet)[command clarification break]“;

try silently opening the packet.

 

Before eating the gummy when the player is satiated:

say “Have [we] read the warning on the packet? (Please answer YES or NO)[line break]“;

if the player consents and the warning read is false:

say “Ooh, ya big fat liar! Go ahead and eat another gummy. See if I care.[paragraph break]“;

otherwise:

say line break;

say “Are [we] sure [we] want to eat another Yummy Gummy Super Food Gummy? (Please answer YES or NO)[line break]“;

if the player consents:

say “Okay, [we][]ve been warned.[paragraph break]“;

otherwise:

say “Okay.“;

stop the action.

 

Instead of eating the gummy when the player is satiated:

now the gummy is in the packet;

now the packet is closed;

now the packet is nowhere;

now the grim reaper is true;

say “[We] eat the Yummy Gummy Super Food. It tasted like [the current flavor].

 

Part 7 – Special Operations

 

Chapter 1 – The No Coffee Joke

 

[Stop the player doing anything with the no coffee, which is merely a joke.]

After reading a command (This is the what can you do with no coffee rule):

if the player’s command matches the text “no coffee“, case insensitively:

say “If I understand [us] correctly [we] want to [the player’s command]. [We][]re talking complete nonsense; pull [ourselves] together.“;

reject the player’s command;

otherwise if the player’s command matches the text “coffee“, case insensitively:

say “Sorry. [We] have [italic type]no[roman type] coffee.“;

reject the player’s command.

 

Chapter 2 – Buying A Potion From Gandalf

 

[In an episode of Red Dwarf, Lister is playing a text adventure game. The Cat suggests buying a potion from Gandalf. This joke addresses that specific command.]

Understand “buy a potion from gandalf” as potion-buying. Potion-buying is an action applying to nothing.

 

Carry out potion-buying:

say “A mechanical hand with an eye the size of a meatball attached to its mid-digit climbs onto the desk and types: ‘That never works.’

 

Chapter 3 – Magic Words

 

Understand “xyzzy” or “plover” or “plugh” as magic-wording. Magic-wording is an action applying to nothing.

 

Carry out magic-wording:

say “Right, next [we][]ll want to slay a dragon with [our] bare hands.

 

Chapter 4 – Dirty Words

 

Understand “****/******/******/****/****/*******/********/******/*************” as “[curse-words]“.

 

After reading a command (This is the watch your bloody language rule):

if the player’s command includes “[curse-words]“:

say “There’s really no need for such language.“;

reject the player’s command.

 

The watch your bloody language rule is listed first in the after reading a command rulebook.

 

Chapter 5 – Helping, Not Really

 

Understand “help [text]” or “help about [text]” as getting help about. Getting help about is an action applying to one topic.

 

Carry out getting help about:

if the grim reaper is false:

say “There’s a document around here somewhere that might help [us] with ‘[the topic understood].’“;

otherwise:

say “I’m sorry, [we][]re beyond my help at this point.

 

Understand the commands “instructions” or “hint” or “hints” or “menu” or “info” or “about” as “help“. Understand “help” as summoning help. Summoning help is an action applying to nothing.

 

Carry out summoning help:

if the grim reaper is false:

say “Why? Is something crawling up [our] leg? Buy a potion from Gandalf. That’s what I always do.“;

otherwise:

say “I’m sorry, [we][]re beyond my help at this point.

 

Chapter 6 – Waiting More

 

Waiting more is an action applying to nothing.

 

Carry out waiting more:

let the target time be the time of day plus 5 minutes;

decrease the target time by one minute;

while the time of day is not the target time:

follow the turn sequence rules.

 

Report waiting more:

report stage of death.

 

Chapter 7 – Panicking

 

Understand “panic” as panicking. Understand “scream for help” as panicking. Understand “panic again” as panicking.

Panicking is an action applying to nothing.

 

Carry out panicking:

if Death Throws is happening:

increase the death stage by 1;

say “Not surprised.“;

try waiting more instead;

otherwise:

say “Not surprised.” instead.

 

Understand “don’t panic” as panicking anyway.

Panicking anyway is an action applying to nothing.

 

Carry out panicking anyway:

if Death Throws is happening:

increase the death stage by 1;

say “Very clever. It looks like there’s a lot [we] should be panicking about.“;

try waiting more instead;

otherwise:

say “Why not? [Our] position appears quite hopeless.” instead.

 

Part 8 – The End

 

Chapter 1 – Ending the Game

 

[Here are the ending types.]

To end the game in victory:

end the story saying “Hooray! [We] won!“.

 

To end the game in death:

end the story saying “[We] die a grisly, painful death.

 

To report stage of death:

If the death stage is:

— 1: say “Suddenly [our] stomach begins to complain, and [we] get an unmistakable bloated feeling.“;

— 2: say “Moments later [our] joints feel stiff and [our] hands, arms, legs, and feet begin to swell.“;

— 3: say “Now there is an odd ringing in [our] ears, and [our] hair starts falling out.“;

— 4: say “[We] [don’t] feel well at all.“;

— 5: end the game in death.

 

Chapter 2 – Death Throws

 

[If the player is satiated and eats a gummy, bad things happen and then he dies, ending the game in death]

Death Throws is a scene. Death Throws begins when the grim reaper is true.

 

When Death Throws begins:

say “[We] are in [our] death throws.

 

Instead of doing anything other than panicking, panicking anyway, getting help about, summoning help or waiting more during the Death Throws:

increase the death stage by 1;

try waiting more.