Adventure Book

version 1/110101 by Edward Griffiths

  • Home page
  • Beginning
  • Previous



  • Example: **** Placebo! - A complete adventure game in Adventure Book format.

    Placebo! is an example of how to make a game that behaves more or less like a traditional piece of interactive fiction using the Adventure Book interface. There are commands that allow the player to move between different locations, interact with his surroundings, and acquire and use inventory items. Play through it to see the sorts of effects that are possible with Adventure Book, and read through the code at your own pace to see how it's done. Feel free to adopt or adapt any of the techniques in this story to your own projects.

        "Placebo!" by Edward Griffiths
        
        Include Adventure Book by Edward Griffiths
        
        The bread, the sack, the amusing, the sword, the stone, the goldenpear, the wand, and the license are inventory items.
        
        The First Page is a page.
        " An evil magician known only as The Mad Hermit is causing terror throughout
        the land of Placebo, and you're as good a person as any to put a stop to him.
        So, laying aside your afternoon plans, you decide to head off on an adventure."
        A choice called tfpa is for The First Page. "Journey forth!" It triggers YourHouse.
        
        YourHouse is a page.
        "Your house is a rather modest little shack near the edge of town. It keeps
        the wind and the rain out on sunny days."
        A choice called yha is for YourHouse. "Venture forth". It triggers Road.
        A choice called yhb is for YourHouse. "Consider the loaf of bread on the table". It triggers Considerbread. It is cancelled by BREADGONE.
        
        Road is a page.
        "A dusty road winds its way through the countryside. Which way would you like
        to follow it?"
        A choice called roada is for Road. "Back to your house". It triggers YourHouse.
        A choice called roadb is for Road. "Into town". It triggers Town.
        A choice called roadc is for Road. "Into the forbidden forest". It triggers Forest1.
        
        Forest1 is a page.
        "You are in a maze of twisty little trees, all alike."
        A choice called Forest1a is for Forest1. "Go North". It triggers Road.
        A choice called Forest1b is for Forest1. "Go South". It triggers Forest2.
        A choice called Forest1c is for Forest1. "Search through the grass for no reason". It triggers FindNothing.
        
        Forest2 is a page.
        "You are in a maze of twisty little trees, all alike."
        A choice called Forest2a is for Forest2. "Go North". It triggers Forest1.
        A choice called Forest2b is for Forest2. "Go East". It triggers Forest3.
        A choice called Forest2c is for Forest2. "Search through the grass for no reason". It triggers FindNothing.
        
        Forest3 is a page.
        "You are in a maze of twisty little trees, all alike."
        A choice called Forest3a is for Forest3. "Go North". It triggers Forest1.
        A choice called Forest3b is for Forest3. "Go West". It triggers Forest2.
        A choice called Forest3c is for Forest3. "Go East". It triggers Forest4.
        A choice called Forest3d is for Forest3. "Search through the grass for no reason". It triggers FindNothing.
        
        Forest4 is a page.
        "You are in a maze of twisty little trees, all alike."
        A choice called Forest4a is for Forest4. "Go North". It triggers Forest5.
        A choice called Forest4b is for Forest4. "Go West". It triggers Forest3.
        A choice called Forest4c is for Forest4. "Search through the grass for no reason". It triggers FindNothing.
        
        LeaveSack is a page.
        "Yeah, no way is that going to turn out to be useful."
        It is followed by Forest5.
        
        KnightSpeak is a page.
        "The knight seems a bit anxious, as though he wishes you were somebody else's
        problem right now. What would you like to try and talk to him about?"
        It is followed by KnightTopics.
        
        KnightGoing is a page.
        "The knight takes no pains to be courteous. 'I'm guarding a bridge. How do
        you think I'm doing?'"
        It is a dead end.
        
        KnightHermit is a page.
         "'We've got the situation well in hand, thank you very much,' the knight
        explains in that cool sort of tone that completely fails to mask the speaker's
        annoyance."
        It is a dead end.
        
        KnightLicense is a page.
        "'Yes, new law that's just been passed,' the knight says brightly, eager to
        pass on any bit of bad news he can. 'Can't have just anyone galavanting off to
        the Mystic Mountains after all. Only licensed adventurers are allowed across
        the bridge. Take it up with the king, if you like.'".
        It gives LICENSEFROMKING. It is a dead end.
        
        King is a page.
        "The king of Placebo likes to have an open-door policy with his subjects, so
        it's no trouble whatsoever to have an audience with him. You're guided through
        the halls of the castle and taken directly to the throne room, well ahead of the
        hundreds of others who had been waiting all day to speak with the king. You
        make no friends this day.
        
        What would you like to speak with the king about?"
        It is followed by KingTopics.
        
        KingGoing is a page.
        "The king chortles. 'Nabad.'".
        It is a dead end.
        
        KingHermit is a page.
        "The king laughs. 'I dunno.'".
        It is a dead end.
        
        NoMoney is a page.
        "The king chuckles. 'Sucks to be you!'".
        It is followed by KingTopics.
        
        CrossBridge is a page.
        "As you approach the bridge, the knight holds out his sword, barring your
        progress. 'License, please,' he demands in a bored tone."
        It gives BRIDGEBARRED.
        A choice called cba is for CrossBridge. "Talk to the knight". It triggers KnightSpeak.
        A choice called cbb is for CrossBridge. "Find a different way across". It triggers ClimbDown.
        A choice called cbc is for CrossBridge. "Return to town". It triggers Town.
        A use called cbd is for CrossBridge. It triggers TakeBridge. It uses the license.
        
        TakeBridge is a page.
        "The knight scowls, takes the license from you, scowls harder, examines it,
        grits his teeth, and returns it to you. 'Fine, cross,' he says.
        
        The bridge swings a bit, but it's sound. You make it safely to the other
        side."
        It is followed by Valley.
        
        FindNothing is a page.
        "Not sure what you expected to find, just searching through the grass at
        random, but it's not here."
        It is a dead end.
        
        FindStone is a page.
        "Not sure what -- oh wait, there's a small, smooth blue stone sitting here.
        Want to take it with you?"
        A choice called fsa is for FindStone. "Take the stone". It triggers TakeStone.
        A choice called fsb is for FindStone. "Leave it where it is". It triggers LeaveStone.
        
        LeaveStone is a page.
        "Yeah, what are the odds of finding something essential to your quest just by
        digging around in the grass twice in one day?"
        It is followed by Valley.
        
        EatPudding is a page.
        "It's some good pudding all right. You eat your fill, but the puddle never
        grows smaller."
        It is followed by Valley.
        
        Wizard is a page.
        "You find the local wizard in the study of his tower, sitting behind a table
        that's covered in dusty tomes. He looks up from his reading and blinks at you
        with bleary eyes. 'Oh hi.' And with that, he returns to his reading.
        
        Did you have anything you wanted to talk to him about?"
        It is followed by WizardTopics.
        
        WizardHello is a page.
        "The wizard doesn't even look up. 'Hey,' he mumbles, distracted."
        It is a dead end.
        
        WizardGoing is a page.
        "The wizard shrugs noncommittally."
        It is a dead end.
        
        WizardHermit is a page.
        "'Yeah, that guy really pisses me off,' the wizard mumbles flatly. 'Gives
        wizards a bad name, y'know?'".
        It is a dead end.
        
        WizardRobbery is a page.
        "You browse the shelves of the wizard's study. He doesn't care. Your eyes
        fall on a rather beautiful gold ring. Wanna take it?"
        A choice called wra is for WizardRobbery. "Take the ring". It triggers TakeRing.
        A choice called wrb is for WizardRobbery. "Leave the ring". It triggers WizardTopics.
        
        TakeRing is a page.
        "As you touch the ring, you suddenly feel your fingertips go numb. The
        feeling spreads down your arm and envelops your body. As you turn to stone, the
        wizard glances up from his reading, blinks once, and looks down again. 'Yeah,
        don't touch anything,' he warns you.
        
        *** You are STONED ***".
        It is followed by The Last Page.
        
        WizardPear is a page.
        "The wizard frowns slightly. 'The dragon guards those,' he mutters. 'Give
        him some bread or something and he'll give you one.'"
        It gives DRAGONDISCUSSED. It is a dead end.
        
        WizardDragon is a page.
        "The wizard bobs his head distractedly. 'Up in the Mystic Mountains.'"
        It is a dead end.
        
        WrongChoice is a page.
        "NO."
        It is a dead end.
        
        DestroyBoulder is a page.
        "You wave the magic wand at the boulder, and presto! No more boulder. You
        continue up the mountain path until you reach a deep, dark cave."
        It gives BOULDERREMOVED. It is followed by DragonLair.
        
        DragonResponse is a page.
        "The dragon considers you for a thoughtful moment and comes to the conclusion
        that you're probably pretty nutritious. He pops you in his mouth and swallows
        you whole. His stomach isn't much of a conversationalist either.
        
        *** You are DIED ***".
        It is followed by The Last Page.
        
        DragonAttack is a page.
        "With what, your bare hands?"
        A choice called daa is for DragonAttack. "Yes". It triggers DragonFight.
        A choice called dab is for DragonAttack. "No". It triggers DragonLair.
        A use called dac is for DragonAttack. It triggers DragonTransform. It uses the wand.
        
        DragonTransform is a page.
        "With a wave of your magic wand, the dragon is transformed into cheese."
        It gives DRAGONCHEESE. It is followed by CheeseLair.
        
        DragonLair is a page.
        "You're in an especially dark and spooky cave, most of which is taken up by a
        very large red dragon, who's lounging about as dragons tend to do."
        A choice called dla is for DragonLair. "Speak with the dragon". It triggers DragonSpeak.
        A choice called dlb is for DragonLair. "Attack the dragon". It triggers DragonAttack.
        A choice called dlc is for DragonLair. "Retreat back down the mountain path". It triggers Valley.
        A use called dld is for DragonLair. It triggers DragonFeed. It uses the bread.
        
        EatCheese is a page.
        "You break off a chunk to munch on. It's some good cheese. A deep
        orange-yellow, creamy and mild."
        It is a dead end.
        
        Town is a page.
        "The streets of Placebo bustle chaotically as people go about their daily
        business. Someone around here must know something about the whereabouts of the
        Mad Hermit. Where would you like to go?"
        A choice called towna is for Town. "See if anyone at the local bar knows anything". It triggers Bar.
        A choice called townb is for Town. "Consult with the king". It triggers King.
        A choice called townc is for Town. "Pay a visit on the wizard". It triggers Wizard.
        A choice called townd is for Town. "Press on to the mystic mountains". It triggers Bridge.
        A choice called towne is for Town. "Take the road into the forest". It triggers Road.
        
        PatronTalk is a page.
        "You sit yourself down next to a particularly inebriated fellow at the bar.
        He looks up at you blankly."
        It is followed by PatronTopics.
        
        PatronResponse is a page.
        "The patron stares at you blankly."
        It is a dead end.
        
        PatronPhilosophy is a page.
        "What follows is a lengthy and enlightening discussion of philosophical
        theories and musings, including a comparison and contrast of Eastern and Western
        religious movements, the strengths and weaknesses of socialism and capitalism,
        and a lively argument about the impact that Aristotle had on modern
        philosophical thought. The hours pass, and round after round of beer is brought
        forth. You find a soulmate in this bar patron, but alas, he has to be moving
        on. As he takes his leave, you muse over the whims of fate that connect two
        people for an afternoon, and the way one life can touch so many others."
        It gives PATRONGONE. It is followed by Bar.
        
        KnightPear is a page.
        "The knight gives you a steady look. 'I'm sorry, I seem to have left my fruit
        cart at home today.'"
        It is a dead end.
        
        KingPear is a page.
        "The king guffaws. 'Pfff, I don't do any of that magic crap.'"
        It is a dead end.
        
        KingTopics is a page.
        A choice called KingTopA is for KingTopics. "'So, how's it going?'". It triggers KingGoing.
        A choice called KingTopB is for KingTopics. "'Where is the Mad Hermit?'". It triggers KingHermit.
        A choice called KingTopC is for KingTopics. "'I understand I need a license to go to the Mystic Mountains.'". It triggers KingLicense. It requires LICENSEFROMKING. It is cancelled by the license.
        A choice called KingTopD is for KingTopics. "'Do you know where I could find a golden pear?'" It triggers KingPear. It requires PEARNEEDED. It is cancelled by the goldenpear.
        A choice called KingTopE is for KingTopics. "Leave the castle". It triggers Town.
        
        PatronTopics is a page.
        A choice called PatronTopA is for PatronTopics. "'So, how's it going?'". It triggers PatronResponse.
        A choice called PatronTopB is for PatronTopics. "'Know where I could find the Mad Hermit?'". It triggers PatronResponse.
        A choice called PatronTopC is for PatronTopics. "'Have you ever heard of the golden pear?'". It triggers PatronResponse. It requires PEARNEEDED. It is cancelled by the goldenpear.
        A choice called PatronTopD is for PatronTopics. "'Care to discuss your philosophical views?'". It triggers PatronPhilosophy.
        A choice called PatronTopE is for PatronTopics. "'I'll just be on my way then.'" It triggers Bar.
        
        WizardTopics is a page.
        A choice called WizardTopA is for WizardTopics. "'Umm... hello?'". It triggers WizardHello.
        A choice called WizardTopB is for WizardTopics. "'How's it going?'". It triggers WizardGoing.
        A choice called WizardTopC is for WizardTopics. "'How about that Mad Hermit then?'". It triggers WizardHermit.
        A choice called WizardTopD is for WizardTopics. "'Do you know where I could find a golden pear?'". It triggers WizardPear. It requires PEARNEEDED. It is cancelled by the goldenpear.
        A choice called WizardTopE is for WizardTopics. "'... A dragon, eh?'". It triggers WizardDragon. It requires DRAGONDISCUSSED. It is cancelled by the goldenpear.
        A choice called WizardTopF is for WizardTopics. "Go through his stuff while he's not looking". It triggers WizardRobbery.
        A choice called WizardTopG is for WizardTopics. "Just turn around and walk away". It triggers Town.
        A use called WizardTopH is for WizardTopics. It triggers WizardStone. It uses the stone.
        
        DragonSpeak is a page.
        "What would you like to talk with the dragon about?"
        A choice called dragspa is for DragonSpeak. "'How's it going?'". It triggers DragonResponse.
        A choice called dragspb is for DragonSpeak. "'Do you know where the Mad Hermit is?'". It triggers DragonResponse.
        A choice called dragspc is for DragonSpeak. "'So tell me a little bit about your political views.'". It triggers DragonResponse.
        A choice called dragspd is for DragonSpeak. "'I don't suppose you know where I could get a golden pear?'" It triggers DragonResponse. It requires PEARNEEDED.
        A choice called dragspe is for DragonSpeak. "'Well, see ya.'". It triggers DragonLair.
        
        SolveMaze is a page.
        "Surprised at how simple the maze was, you continue to the next room of the
        Mad Hermit's dungeon."
        It is followed by Dungeon2.
        
        Dungeon1 is a page.
        "You find yourself in a dungeon corridor that stretches off in all directions,
        with passages winding around like a cow's intestines, with no path leading back
        the way it came from in a perverted orgy of nonlinearity."
        A choice called dun1a is for Dungeon1. "Easily stumble upon the correct way through the maze". It triggers SolveMaze.
        A choice called dun1b is for Dungeon1. "Mess about with the thing for hours and never really get anywhere". It triggers Dungeon1.
        
        Dungeon2 is a page.
        "You find yourself in a room that looks like it was drawn on graph paper, its
        stone walls made in a perfectly straight square. Nine square tiles, each
        exactly five feet long on each side, line the floor. Either end of the room has
        a door, each exactly five feet wide."
        A choice called dun2a is for Dungeon2. "Press on to the next room". It triggers Dungeon3.
        A choice called dun2b is for Dungeon2. "Return to the maze". It triggers Dungeon1.
        A choice called dun2c is for Dungeon2. "Take a closer look at that sword sticking out of the stone in the middle of the room". It triggers ExamineSword. It is cancelled by the sword.
        
        SwordOptions is a page.
        A choice called swoopa is for SwordOptions. "Take the sword". It triggers TakeSword.
        A choice called swoopb is for SwordOptions. "Leave it alone". It triggers Dungeon2.
        A use called swoopc is for SwordOptions. It triggers WandSword. It uses the wand.
        
        ExamineSword is a page.
        "Sure enough, you discover a sword stuck in a rock sitting in the exact center
        of the room. An inscription is carved into the rock:
        
         'Let he who has shown his courage and valour come forward and take this sword
        from the rock, for it will vanquish evil.'".
        It is followed by SwordOptions.
        
        KnightTopics is a page.
        A choice called knigtopa is for KnightTopics. "'So, how's it going?'" It triggers KnightGoing.
        A choice called knigtopb is for KnightTopics. "'So, how about that Mad Hermit guy?'" It triggers KnightHermit.
        A choice called knigtopc is for KnightTopics. "'Wait, what's this about a license?'" It triggers KnightLicense. It requires BRIDGEBARRED. It is cancelled by the license.
        A choice called knigtopd is for KnightTopics. "'I don't suppose you know where I could find a golden pear.'" It triggers KnightPear. It requires PEARNEEDED. It is cancelled by the goldenpear.
        A choice called knigtope is for KnightTopics. "'See you around.'" It triggers Bridge.
        
        Bar is a page.
        "This is a shady little establishment near the edge of town. If anyone knows
        the whereabouts of a rogue wizard, it'd be the people who frequent this place."
        A choice called bara is for Bar. "Speak to the bartender". It triggers BartenderTalk.
        A choice called barb is for Bar. "Speak to a random patron". It triggers PatronTalk. It is cancelled by PATRONGONE.
        A choice called barc is for Bar. "Make good your escape". It triggers Town.
        
        BartenderBeer is a page.
        "The bartender shakes his head. 'No you won't. We don't take kindly to your
        type here.'"
        It is a dead end.
        
        BartenderGoing is a page.
        "The bartender nods solemnly. 'It's been better.'"
        It is a dead end.
        
        BartenderHermit is a page.
        "The bartender grins as well as anyone who's missing half of his teeth can.
        'Well now. That sort of information will cost you.' He lowers his voice. 'You
        want to deal with dark wizards? You bring me some magic power. I want the
        legendary golden pear.'"
        It gives PEARNEEDED. It is followed by BartenderBribe.
        
        BartenderInfo is a page.
        "The bartender grins an especially wicked and nasty grin, pocketing the golden
        pear. 'So, you'd like to meet the Mad Hermit, would you?' You notice for the
        first time that you're standing between two burly-looking humanoids with green,
        warty skin and yellow, crooked teeth. 'Well, allow me to provide an escort for
        you.'
        
        Something strikes you in the back of the head. Everything goes black.
        There's no way to tell how long it's been before you regain consciousness..."
        It removes the goldenpear. It is followed by Dungeon1.
        
        BartenderPear is a page.
        "The bartender smirks. 'Not my problem, is it?'"
        It is a dead end.
        
        BartenderStone is a page.
        "The bartender palms the small blue stone, showing genuine interest. At
        length, he drops it back in your hand. 'Might make a nice magic wand, but it's
        not what I'm looking for. I want something bigger.'"
        It is a dead end.
        
        BartenderTalk is a page.
        "The bartender is a crooked and misshapen man. He looks like he was put
        together from mismatched body parts and they did a rush job on all the joints.
        He eyes you with the sort of look that occurs in the natural world when one
        animal wants another animal to piss the hell off. 'What can I get for you?' he
        asks, the words slithering from his throat."
        It is followed by BartenderTopics.
        
        BartenderTopics is a page.
        A choice called barttopa is for BartenderTopics. "'How's it going?'". It triggers BartenderGoing.
        A choice called barttopb is for BartenderTopics. "'I'll have a beer.'". It triggers BartenderBeer.
        A choice called barttopc is for BartenderTopics. "'Know where I could find the Mad Hermit?'". It triggers BartenderHermit.
        A choice called barttopd is for BartenderTopics. "'Know where I could find a golden pear?'" It triggers BartenderPear. It requires PEARNEEDED. It is cancelled by the goldenpear.
        A choice called barttope is for BartenderTopics. "'I'll be on my way then.'". It triggers Bar.
        
        BartenderWand is a page.
        "The bartender picks up the magic wand you offer him, his face somehow
        managing to contort even further than it already was. He tosses it back at you
        in disgust. 'Don't bribe me with toys,' he spits."
        It is a dead end.
        
        BlockedPath is a page.
        "The trail winds its way up the side of a mountain. About halfway up, the
        path is suddenly blocked by an enormous boulder."
        It is followed by BoulderOptions.
        
        BoulderOptions is a page.
        A choice called boulopa is for BoulderOptions. "Move the boulder". It triggers WrongChoice.
        A choice called boulopb is for BoulderOptions. "Go around the boulder". It triggers WrongChoice.
        A choice called boulopc is for BoulderOptions. "Eat the boulder". It triggers WrongChoice.
        A choice called boulopd is for BoulderOptions. "Take the boulder". It triggers WrongChoice.
        A choice called boulope is for BoulderOptions. "Jump over the boulder". It triggers WrongChoice.
        A choice called boulopf is for BoulderOptions. "Talk to the boulder". It triggers WrongChoice.
        A choice called boulopg is for BoulderOptions. "Burn the boulder". It triggers WrongChoice.
        A choice called bouloph is for BoulderOptions. "Meekly retreat to the valley". It triggers Valley.
        A use called boulopi is for BoulderOptions. It triggers DestroyBoulder. It uses the wand.
        
        Bridge is a page.
        "The town of Placebo ends abruptly at the edge of a cliff. A long suspension
        bridge made of rope and planks leads across a deep, wide chasm. On the other
        side are the mystic mountains. A knight is standing guard by the bridge."
        A choice called bridgea is for Bridge. "Speak with the guard". It triggers KnightSpeak.
        A choice called bridgeb is for Bridge. "Cross the bridge". It triggers CrossBridge.
        A choice called bridgec is for Bridge. "Climb down into the chasm". It triggers ClimbDown.
        A choice called bridged is for Bridge. "Return to town". It triggers Town.
        
        CheeseLair is a page.
        "You're in an especially dark and spooky cave, most of which is taken up by a
        very large yellow cheese, which is lounging around the way a dragon might."
        A choice called chelaa is for CheeseLair. "Eat some of the cheese". It triggers EatCheese.
        A choice called chelab is for CheeseLair. "Go back down to the valley". It triggers Valley.
        
        CheesePath is a page.
        "You climb the mountain path to the dragon's lair."
        It is followed by CheeseLair.
        
        ClearPath is a page.
        "You climb the mountain path to the dragon's lair."
        It is followed by DragonLair.
        
        ClimbDown is a page.
        "You start to lower yourself over the edge of the cliff, feeling with your
        feet for a place to rest your weight. Your arms start to get sore from
        supporting your weight, and you're suddenly terrifyingly aware of the deadly
        drop below you.
        
        'That's not very safe,' the knight calls over helpfully.
        
        But finally, you feel a foothold. You give it a strong kick. It doesn't
        budge. You rest your weight on it. Solid. You take a deep breath.
        
        And then you're suddenly swarmed by thousands of carnivorous centipedes,
        which eat you alive.
        
        *** YOU ARE DIED***".
        It is followed by The Last Page.
        
        Considerbread is a page.
        "It's really a lovely loaf of bread, baked to a golden brown on the outside,
        with the texture of the grain still visible. You could eat it if you like, or
        take it with you."
        A choice called conbreada is for ConsiderBread. "Eat the bread". It triggers EatBread.
        A choice called conbreadb is for ConsiderBread. "Take it with you". It triggers TakeBread.
        A choice called conbreadc is for ConsiderBread. "Leave it here for now". It triggers YourHouse.
        
        EatBread is a page.
        "You devour the bread, every single crumb. It takes you no closer to
        defeating the Mad Hermit, and naturally the game is unwinnable now, but it's
        worth it. It's just that good."
        It gives BREADGONE. It is followed by YourHouse.
        
        TakeBread is a page.
        "Smart thinking. Sooner or later you're bound to run into some sort of
        monster that needs to be fed. You tuck it away until you need it.
        
        (Type BREAD instead of an option when you want to use it.)".
        It gives the bread. It gives BREADGONE. It is followed by YourHouse.
        
        TakeSword is a page.
        "You grab the handle of the sword and gently lift...
        
        ... Then you lift a little harder...
        
        ... Then you pull as hard as you can with both hands...
        
        ... Then you stop trying before you give yourself a hernia."
        It is a dead end.
        
        TakeStone is a page.
        "Hey, they wouldn't give you the option to pick it up if it wasn't important,
        eh? As you touch the stone, you feel a gentle vibration in your fingertips.
        When you stand again, a bolt of electricity suddenly leaps from the stone,
        turning a nearby patch of grass into tapioca pudding. Oh, so it's a magic
        stone. Well that's neat.
        
        (Type STONE instead of an option when you want to use it.)"
        It gives STONEMOVED. It gives the stone. It is followed by Valley.
        
        WizardStone is a page.
        "You pull the blue stone out of your pocket and hold it out for the wizard to
        see. It's the first thing to get his attention since you walked in. He looks
        up, dazed, and takes it from your hand, studying it like a cat would study a
        mouse.
        
        'Huh. Not bad.' He opens a drawer in his desk and pulls out a stick. He
        fastens the stone to the end with a bit of twine and sets the creation in your
        hand. 'There you go.' He's returned to his book before he even finishes
        addressing you. 'Magic wand. That should clear out some obstacles for you.'
        He sniffs loudly to celebrate the end of the conversation.
        
        (Type WAND instead of an option when you want to use it.)".
        It gives the wand. It removes the stone. It is a dead end.
        
        DragonFeed is a page.
        "The dragon perks. Nothing gets a dragon's appetite going like the sweet,
        sweet taste of fresh homemade bread. He snatches it away from you, nearly
        taking your hands with it, gulps it down, and licks his snout clean. So
        grateful is he that he produces from nowhere a single golden pear, which he
        offers to you in a gesture of thanks. And since it's a good idea to accept
        anything a dragon might offer you, you slip it into your pocket.
        
        (Type GOLDENPEAR instead of an option when you want to use it.)".
        It gives the goldenpear. It removes the bread. It is followed by DragonLair.
        
        WandSword is a page.
        "With a wave of your magic wand, the stone turns into a very surprised beaver.
         It screams out in pain and expires one and a half seconds later, unable to
        survive with a sword wedged in its back. The blade comes out easily -- you wipe
        it off on a clean patch of beaver fur and carry it along with you.
        
        (Type SWORD instead of an option when you want to use it.)".
        It gives the sword. It is followed by Dungeon2.
        
        Valley is a page.
        "You're standing in a particularly pleasant valley in the Mystic Mountains.
        It's the sort of place where talking rabbits might sit on giant toadstools and
        have tea parties with little magic fairies. A path leads up into the mountains,
        and the suspension bridge leads back across the chasm to Placebo town."
        A choice called valleya is for Valley. "Follow the path into the mountains". It triggers BlockedPath. It is cancelled by BOULDERREMOVED.
        A choice called valleyb is for Valley. "Follow the path into the mountains". It triggers ClearPath. It requires BOULDERREMOVED. It is cancelled by DRAGONCHEESE.
        A choice called valleyc is for Valley. "Follow the path into the mountains". It triggers CheesePath. It requires BOULDERREMOVED. It requires DRAGONCHEESE.
        A choice called valleyd is for Valley. "Go back across the bridge". It triggers Town.
        A choice called valleye is for Valley. "Search through the grass for no reason". It triggers FindStone. It is cancelled by STONEMOVED.
        A choice called valleyf is for Valley. "Search through the grass for no reason". It triggers FindNothing. It requires STONEMOVED.
        A choice called valleyg is for Valley. "Try some of the tapioca pudding". It triggers EatPudding. It requires STONEMOVED.
        
        HermitZap is a page.
        "You get too close to the Hermit's staff and an arc of electricity leaps into
        your body, frying you to death. The Mad Hermit eats your ears off and fashions
        your arms into hockey sticks.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitWand is a page.
        "You wave the magic wand at the Mad Hermit, but as the wave of magical energy
        hits him, the wand starts to vibrate like it's electrified. The wand kicks back
        and transforms you into a mouse.
        
        'BLINKY!!! Y'AVE COME HOME!!!' the Mad Hermit shrieks. He picks you up by
        the tail and swallows you whole. Then he dances around the room like a chicken
        and makes farting noises.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitKill is a page.
        "Seeing your opportunity, you lunge forward and slice the Mad Hermit's head
        off. His body does a stupid little dance and falls over."
        It is followed by Endgame.
        
        Dungeon3 is a page.
        "You enter a wide, ominous chamber. There are no walls and no ceiling to be
        seen, nothing but the door you entered from. Smoke spills across the floor in
        deep whisps. The darkness is complete, except for a single ray of moonlight
        that shines on a figure in the center of the room. His body is hidden by purple
        robes. Spidery fingers clutch the end of a long wooden staff. His face is thin
        and hairy, and his eyes are wild.
        
        You've found him at last. The Mad Hermit.
        
        'PANCAKES!!!' the wizard screams, waving his staff around wildly. 'IT'S TOO
        LATE!!! YOU'RE THANKSGIVING!!!'"
        A choice called dun3a is for Dungeon3. "Talk to him". It triggers HermitTalk.
        A choice called dun3b is for Dungeon3. "Attack him". It triggers HermitAttack.
        
        HermitTalk is a page.
        "What would you like to say to him?"
        A choice called hermtalka is for HermitTalk. "'So, how's it going?'". It triggers HermitGoing.
        A choice called hermtalkb is for HermitTalk. "'Hey, think you could end your reign of terror?'". It triggers HermitEndreign.
        A choice called hermtalkc is for HermitTalk. "'Get ready to die!'". It triggers HermitGetready.
        A choice called hermtalkd is for HermitTalk. "Never mind." It triggers HermitDontattack.
        
        HermitGoing is a page.
        "'I'M GOING FOR A WHOLE NEW STYLE!!!' He swings his staff like a baseball bat
        and knocks your head clean off your body.
        
        *** YOU ARE DIED***".
        It is followed by The Last Page.
        
        HermitGetready is a page.
        "'AUNTIE WANTS A KISS!!!' The Mad Hermit bends over and points his rear end
        at you, which shoots out a huge burst of flame. As your body smoulders, the Mad
        Hermit beats it with his staff, screaming, 'CHRISTMAS BELLS, CHRISTMAS BELLS,
        CHRISTMAS ALL THE WAY!!!'".
        It is followed by The Last Page.
        
        HermitEndreign is a page.
        "'MAKE ROOM FOR GRANDMA!!!' the Mad Hermit shrieks, exploding with the force
        of a nuclear warhead. You're vaporized instantly, along with the entire city of
        Placebo.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitAttack is a page.
        "With what, your bare hands?"
        A choice called hermattacka is for HermitAttack. "Yes". It triggers HermitBarehands.
        A choice called hermattackb is for HermitAttack. "No". It triggers HermitDontattack.
        A use called hermattackc is for HermitAttack. It triggers HermitWand. It uses the wand.
        A use called hermattackd is for HermitAttack. It triggers HermitSword. It uses the sword.
        
        HermitFallingRocks is a page.
        "As you head for cover, the Mad Hermit raises his staff over his head and
        screams, 'I CAN ALREADY SMELL YOUR JUICY MEATS!!!' And then he launches into
        the air, through the hole in the ceiling high above, into the sky, and far, far
        out of sight until he hurls screaming into the very center of the sun, which
        causes it to explode and take the rest of the solar system with it.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitSword is a page.
        "You draw your sword and attack. The wizard parries your first blow with his
        staff, then the second. With a wild hyena laugh, he grabs his staff in his
        teeth and continues to parry your blows by swinging his head about. When he
        sees a break in your offense, he spins himself in a circle, cracking you over
        the head with either end of his staff.
        
        You slump to the ground, and he starts beating you with his staff, shrieking,
        'WHERE'S MY CANDY!!!'"
        A choice called hermswoa is for HermitSword. "Try to trip him up". It triggers HermitTrip.
        A choice called hermswob is for HermitSword. "Try to block his attacks". It triggers HermitDefend.
        
        HermitDefend is a page.
        "You curl up on the floor, trying to protect your vital organs from attack.
        
        'GET OFF OF HER!!!' the Mad Hermit screams. 'LET HER BREATHE!!!' He grabs
        your head in both hands and twists counterclockwise until it comes off. He
        beats himself over the head with your skull, chanting, 'PORK!!! PORK!!!
        PORK!!! PORK!!! PORK!!! PORK!!!'
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitTrip is a page.
        "You grab the Mad Hermit's feet and yank as hard as you can. Much to your
        surprise, they yank right back. Before you realize what's going on, you're
        pulled off the ground and into the darkness that surrounds you. Your center of
        balance rocks about like dice in a tumbler as you fly a chaotic, zigzagging
        course through the air. The Mad Hermit smacks his staff down into your skull
        repeatedly, cackling, 'PETER PETER PUMPKIN HEATER!!! HAD A WIFE THAT LET HIM
        EAT HER!!!'"
        A choice called hermtripa is for HermitTrip. "Hang on for dear life". It triggers HermitHangon.
        A choice called hermtripb is for HermitTrip. "Let go". It triggers HermitLetgo.
        A use called hermtripc is for HermitTrip. It triggers HermitMidairSword. It uses the sword.
        
        HermitFly is a page.
        "You aren't a quick learner."
        It is followed by HermitSplat.
        
        HermitSplat is a page.
        "The fall isn't so bad, but the sudden stop at the end is a killer. The Mad
        Hermit throws himself into your entrails and rolls around, sobbing, 'I'M NOT
        BUYING ANY MORE APPLES!!!'
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitHangon is a page.
        "'IT TAKES TWO TO TANGO!!!' the Mad Hermit declares, driving his staff
        straight through your eye and into your brain. You forget how to do algebra,
        and then how to breathe. Deprived of the two things that make life worthwhile,
        you expire.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitDontattack is a page.
        "Before you can decide on another course of action, the Mad Hermit screams,
        'MARY!!! YER COVERED WITH LEECHES!!!' He descends upon you like a bird of prey,
        smacking you about with his staff, shrieking at the top of his voice, 'KEEP 'EM
        BACK!!! KEEP 'EM BACK!!! KEEP 'EM BACK!!!'"
        A choice called hermdonatta is for HermitDontattack. "Fight back". It triggers HermitStruggle.
        A choice called hermdonattb is for HermitDontattack. "Go on the defensive". It triggers HermitDefend.
        A use called hermdonattc is for HermitDontattack. It triggers HermitWand. It uses the wand.
        A use called hermdonattd is for HermitDontattack. It triggers HermitSword. It uses the sword.
        
        HermitStruggle is a page.
        "You reach out and grab the Mad Hermit's staff. His eyes go so wide that they
        start to squeeze out of their sockets as a struggle ensues. He gives one good,
        hard twist and sends you rolling to the ground. 'I'M NOT WEARING YOUR BOOTS!!!'
        he cackles victoriously. He waves the staff at you and sends you hurtling up in
        the air. You're several hundred feet high before you start to descend once
        again."
        A choice called hermstruga is for HermitStruggle. "Fall to your death". It triggers HermitSplat.
        A choice called hermstrugb is for HermitStruggle. "Learn how to fly". It triggers HermitFly.
        A use called hermstrugc is for HermitStruggle. It triggers HermitJello. It uses the wand.
        
        HermitLetgo is a page.
        "You let go and tumble through space."
        A choice called hermletgoa is for HermitLetgo. "Plummet to your death". It triggers HermitSplat.
        A choice called hermletgob is for HermitLetgo. "Learn how to fly". It triggers HermitFly.
        A use called hermletgoc is for HermitLetgo. It triggers HermitJello. It uses the wand.
        
        Endgame is a page.
        "The Mad Hermit lies dead at your feet. The reign of terror is finally over,
        and the land of Placebo can once again be free.
        
        You consider the magic staff lying next to the wizard's lifeless body. And
        suddenly, you realize what you must do next."
        It gives amusing. It is followed by EndingChoices.
        
        EndingChoices is a page.
        A choice called endchoicea is for EndingChoices. "Begin your next quest". It triggers EndingHero.
        A choice called endchoiceb is for EndingChoices. "Return to your humble home". It triggers EndingHome.
        A choice called endchoicec is for EndingChoices. "Take up the wizard's staff and continue his work". It triggers EndingEvil.
        A use called endchoiced is for EndingChoices. It triggers AmusingPage. It uses amusing.
        
        HermitMidairSword is a page.
        "You hold onto the Mad Hermit's ankle with one hand and draw your sword with
        the other hand. With one swing of your sword, you manage to hack off the Mad
        Hermit's leg at the shin. Unfortunately, it was the one you were holding onto.
        You fall through space, clutching half of a leg in one hand and a sword in the
        other. And, somehow or other, you manage to impale yourself on your sword upon
        landing, which is great because that way you're dead slightly before every bone
        in your body is broken on impact.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        BartenderBribe is a page.
        A choice called barbribea is for BartenderBribe. "Excuse yourself". It triggers Bar.
        A use called barbribeb is for BartenderBribe. It triggers BartenderWand. It uses the wand.
        A use called barbribec is for BartenderBribe. It triggers BartenderSack. It uses the sack.
        A use called barbribed is for BartenderBribe. It triggers BartenderInfo. It uses the goldenpear.
        A use called barbribee is for BartenderBribe. It triggers BartenderStone. It uses the stone.
        
        BartenderSack is a page.
        "The bartender takes the sack from you and examines the contents with an even
        nastier grin. 'Thank you kindly. Quite a generous donation.' He slips the
        sack away, and you never see it again."
        It removes the sack. It is followed by BartenderBribe.
        
        KingLicense is a page.
        "The king snickers. 'Yeah, it's a bureaucratic thing. It's basically just a
        way to gouge adventurers so the railroads get more business. But whaddaya gonna
        do? I can get you one for a hundred gold pazoozas if you want.'"
        A choice called kinglica is for KingLicense. "'I don't have any money.'" It triggers NoMoney.
        A use called kinglicb is for KingLicense. It triggers BuyLicense. It uses the sack.
        
        BuyLicense is a page.
        "The king cackles. 'Awesome! Here you go.' You trade your gold pazoozas for
        a pretty sheet of paper. Make sure to keep copies for your personal records.
        
        (Type LICENSE instead of an option when you want to use it.)".
        It gives the license. It removes the sack. It is followed by KingTopics.
        
        Forest5 is a page.
        "You are in a maze of twisty little trees, all alike."
        A choice called for5a is for Forest5. "Go South". It triggers Forest4.
        A choice called for5b is for Forest5. "Go West". It triggers Forest1.
        A choice called for5c is for Forest5. "Search through the grass for no reason". It triggers FindSack. It is cancelled by SACKTAKEN.
        A choice called for5d is for Forest5. "Search through the grass for no reason". It triggers FindNothing. It requires SACKTAKEN.
        
        FindSack is a page.
        "Not sure what you expected to find, searching through -- hello! It looks
        like someone's dropped a small sack here. Upon closer inspection, it seems to
        contain about 100 golden pazoozas. How fortunate!"
        A choice called findsacka is for FindSack. "Take the sack with you". It triggers TakeSack.
        A choice called findsackb is for FindSack. "Leave the sack where you found it". It triggers LeaveSack.
        
        TakeSack is a page.
        "Finders keepers! You tie the sack to your belt.
        
        (Type SACK instead of an option when you want to use it.)".
        It gives the sack. It gives SACKTAKEN. It is followed by Forest5.
        
        HermitBarehands is a page.
        "You land a solid punch in the Mad Hermit's face. He spins around in place
        three times from the force of the punch, staggers backwards, and starts dancing
        around the room singing a showtune at the top of his voice. 'OH IT'S HAPPY!!!
        YELLOW SNAPPY!!! IT'S TRIPPY AND WITTY AND TWIRLY AND PURPLE AND GAAAAAAAAAY!!!'
        
        Rocks start to crumble from somewhere up above as he sings, and light starts
        to pour into the room."
        A choice called hermbarhana is for HermitBarehands. "Watch out for falling rocks". It triggers HermitFallingRocks.
        A choice called hermbarhanb is for HermitBarehands. "Rush the wizard before he brings down the roof". It triggers HermitRush.
        A use called hermbarhanc is for HermitBarehands. It triggers HermitWand. It uses the wand.
        A use called hermbarhand is for HermitBarehands. It triggers HermitSword. It uses the sword.
        
        HermitRush is a page.
        "You tackle the Mad Hermit to the ground, and the rocks stop tumbling from
        above. 'CANS BLANGERS AND CORKAMEL!' he curses, writhing beneath you.
        Suddenly, you feel yourself rising into the air. The Mad Hermit is transforming
        beneath you, expanding several times his normal size, into the form of a
        monstrous, nightmare horse. He towers larger than Placebo Castle, and still he
        grows, cackling madly and galloping around the room."
        A choice called hermrusha is for HermitRush. "Hang on for dear life". It triggers HermitHorseride.
        A choice called hermrushb is for HermitRush. "Bail out". It triggers HermitHorsejump.
        A use called hermrushc is for HermitRush. It triggers HermitHorseSword. It uses the sword.
        A use called hermrushd is for HermitRush. It triggers HermitHorseWand. It uses the wand.
        
        HermitHorsejump is a page.
        "You roll over the side of the horse's back and fall safely to the floor.
        You're trampled unsafely into the floor exactly two seconds later. The horse
        takes seventy three victory laps around the room, smearing you into a sick red
        stain on the floor every time he trots across you.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        DragonFight is a page.
        "You land a crushing blow on the dragon's nose. He counters by eating you in
        a single bite. You strangle his stomach. He counters by thoroughly digesting
        you, bones and all. You give him a crippling attack of constipation. VICTORY.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitHorseride is a page.
        "You cling to the horse's back as tightly as you can, a decision that you
        regret when it spontaneously bursts into flame five seconds later. You burn to
        a cinder as the horse starts quacking like a duck.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitHorseSword is a page.
        "Sword in hand, you start to climb the horse's neck, which has grown as tall
        as a hill. As you try to go for a lethal blow at the base of the skull, the
        horse suddenly flips his head back and shakes you loose. As you tumble through
        space, you can see the horse below you. He's staring straight back up at you as
        you seem to be heading straight for him.
        
        His mouth opens wide, and you head right for it.
        
        GULP.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitTackle is a page.
        "When the Mad Hermit sees you approach, he ducks his head down and charges
        full force into your gut. He packs a surprising punch for such a wirey old man.
         'WHO WANTS SOME CAKE!!!' As you double over and fall to the ground, he starts
        stomping repeatedly on your skull until it splits open.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        HermitPeeled is a page.
        "Suddenly, the electricity crawls up the Mad Hermit's arm. He screams and
        drops it to the ground. Now's your chance!"
        A choice called hermpa is for HermitPeeled. "Grab the Mad Hermit's magic staff". It triggers HermitZap.
        A choice called hermpb is for HermitPeeled. "Tackle the Mad Hermit". It triggers HermitTackle.
        A use called hermpc is for HermitPeeled. It triggers HermitKill. It uses the sword.
        A use called hermpd is for HermitPeeled. It triggers HermitWand. It uses the wand.
        
        HermitJello is a page.
        "You wave the wand at the ground, hoping beyond hope that something good will
        come of it. And as you reach the floor, you find that it's turned into
        lime-flavored gelatine. You bounce harmlessly on the surface until you come to
        a complete stop.
        
        When you look up, you see that you're laying at the Mad Hermit's feet. He
        raises his staff high above his head. 'I'M GOING TO PEEL YOU!!!' he declares.
        'I'M GOING TO PEEL YOU!!!' Electricity begins to crackle up and down the length
        of his staff."
        A choice called hermjella is for HermitJello. "Wait to be peeled". It triggers HermitPeeled.
        A choice called hermjellb is for HermitJello. "Tackle him". It triggers HermitZap.
        A use called hermjellc is for HermitJello. It triggers HermitZap. It uses the sword.
        A use called hermjelld is for HermitJello. It triggers HermitWand. It uses the wand.
        
        HermitHorseWand is a page.
        "You wave your magic wand at the horse's head. He screams in shock, and you
        get a sinking feeling as he starts to return to normal size. Suddenly he trips,
        and you both go tumbling.
        
        As you rise to your feet again, you see the Mad Hermit, back in his natural
        form, holding his staff above his head. 'NO MORE WAITING FOR MARY!!!' he
        declares. 'THIS TIME IT'S AUGUST!!!' Electricity begins to crackle up and down
        the length of his staff."
        A choice called hermhorwaa is for HermitHorseWand. "Wait for Mary". It triggers HermitPeeled.
        A choice called hermhorwab is for HermitHorseWand. "Attack him". It triggers HermitZap.
        A use called hermhorwac is for HermitHorseWand. It triggers HermitZap. It uses the sword.
        A use called hermhorwad is for HermitHorseWand. It triggers HermitWand. It uses the wand.
        
        EndingHero is a page.
        "Yes, clearly you were cut out for this sort of thing. A life of righteous
        adventuring! Vanquishing evil, rescuing damsels, all that good stuff! Before
        the Mad Hermit's body even cools, you've already decided that you're going to
        seek someone else who needs killing. With a sword at your side and an
        adventuring license, you set out into the world.
        
        YOU WILL RETURN IN PLACEBO II -- THE MAD HERMIT'S REVENGE!
        
        *** YOU ARE WIN ***".
        It is followed by The Last Page.
        
        EndingEvil is a page.
        "You take up the Mad Hermit's staff as your own, feeling the power flow
        through you. Yes, clearly this was your destiny -- to rule the land of Placebo
        with an iron fist.
        
        You amass an army of hideous green humanoids and wage a war that leads to the
        fall of humanity, enslaving the world and twisting it into your own monstrous
        image. But your comeuppance finally arrives when, one day, you die of old age,
        which just goes to show that all evildoers get it in the end.
        
        *** YOU ARE DIED ***".
        It is followed by The Last Page.
        
        EndingHome is a page.
        "Yes, the evil wizard's reign of terror is over. It's been an exciting
        afternoon, but now it's time to return to your cozy little home and see if
        there's anything interesting on television tonight. Or whatever it is you do in
        the evenings, it was never exactly clear what time period this game took place
        in.
        
        *** YOU ARE WIN ***".
        It is followed by The Last Page.
        
        AmusingPage is a page.
        "It's been at least ten years since I first drew out the map for what would
        turn out to be Placebo, my very first adventure game. I wrote the first version
        on a TI-82 graphics calculator when I should have been paying attention to my
        high school classes. The text was terse, and the interface was simple, but I
        was damned proud of it. I had managed to put a text adventure on a system that
        didn't even allow for string variables.
        
        I've reworked and expanded the game for Jon Ingold's Adventure Book as an
        exercise with the system, and it's been a delightful experience. It is, in many
        ways, much more satisfying than working with a full-blown programming language,
        or even with a game-specific language such as Inform. My only regret is that
        this project barely scratches the surface of what's possible with the system --
        Kingdom Without End is a tough act to follow."
        It is followed by Amusing2.
        
        Amusing2 is a page.
        "There's only so much that you can keep hidden in a game where most of your
        choices are explicitly listed for you. However, there are a couple optional
        amusements you may have missed. Did you try attacking the dragon and using the
        magic wand? Did you try offering a sack of gold or a lesser magic to the
        bartender in exchange for his information? Did you know there are three basic
        decision branches (which converge toward the end) that let you beat the Mad
        Hermit?
        
        I hope the game gave you a giggle. Now choose your ending."
        It is followed by EndingChoices.