Quick note before we begin: This game is a retelling of Jack and the Beanstalk, intended for two players. The players are playing against each other, and shouldn't look at the choices the other player makes. You can choose to play as an individual, in which case the moves of your opponent will be randomized. There's an optional prologue, explaining how you got to the main story. It's intended to be played through once to explain things, but can be skipped on future playthroughs for the sake of time (inspired by the prologue in Sea of Dragons). Additionally, there's an optional tutorial once you complete the game for the first time. I want players to go in blind their first time, but it will help make replaying the game much more enjoyable. (set: _players to (a:"Singleplayer","Multiplayer")) This playthrough will be (link-repeat: "[(print: _players's 1st)]<option|")[(replace: ?option)[(set: _players to (rotated: -1, ..._players))(print: _players's 1st)(set: $is_singleplayer to (_players's 1st is "Singleplayer"))]] Start from the [[prologue->pro-start]] Skip to the [[main story->start]] (set: $is_singleplayer to true)(if:$is_singleplayer is true)[(set:$is_jack to true)(go-to:'entry')] Player 2 should look away starting now. The current player will be displayed in the header, the other player should look away until their turn. Now [[lets do this->entry]] (set:$is_jack to true)(if:$is_singleplayer is false or $is_singleplayer is true)[(text-colour:purple)[''Jack and the Giant''] ((if:$is_singleplayer is true)[Singleplayer](if:$is_singleplayer is false)[Multiplayer])] (if:$is_jack is false or $is_jack is true)[(text-colour:green)[''Current player'':]] (if:$is_jack is true)[(text-colour:blue)[Englishman]] (if:$is_jack is false)[(text-colour:red)[Giant]] You're a little suprised when you wake up this morning. Deep down you hoped that the old man you gave Bessie to was telling the truth. But you never truly believed. That was, until you want outside and saw the [[beanstalk->pro-beanstalk]]It's a massive tower of green, thicker than your house, and shooting into the sky. You get a little dizzy trying to locate the top, a task made impossible by the clouds obscuring the upper parts. Well, the only way to find the top is to [[start climbing->pro-climb]] Or... maybe you should [[ask your mother for advice->pro-searching1]] before doing anything rashWell, only one thing to do now. You think you can climb up some of the leaves. After climbing for a while (how long has it been? The sun is getting pretty high in the sky) you think it might be good to [[stop for a break->pro-rest]]. Although, at this rate, you don't know how long it'll take you to reach the top. It's probably better to [[power through->pro-power]]You head back inside, and see if you can find her. After looking through the house, you can't find her anywhere. That's weird, she usually doesn't go out this early. You don't think she... no... she wouldn't have [[climbed the vine->pro-climb]] right? No of course not. You should just [[wait for her->pro-waiting]] to get back.You wait for a while but... nothing. Where could she be? Your mind keeps going back to the beanstalk. There's no way she would've climbed up. But... where else would she have gone? Plus, your curiosity is starting to get the better of you. Your mother would probably tell you it's okay to check out anyway, right? She's always wanted you to step out of your comfort zone, so why not climb out of it? That's it. You can't take the waiting anymore. It's time to [[climb the beanstalk->pro-climb]]Yeah, good call. You don't know how long you could have continued on like that. You take a quick break on one of the larger leaves you come across. The view from up here really is beautiful. You can see for miles and miles. You're sure you're the only person you know who's ever been up this high. After your break, you feel nice and refreshed. You [[continue climbing->pro-top]] towards the topYeah, you'll be fine. You're in great shape from working the fields all day, so you can continue to climb for a while. You start to feel the burn a little bit, but not enough to make you stop for a rest. You're confident enough in your strength to keep going until you reach the [[top->pro-top]]And before you know it, you can see the top of the beanstalk. The clouds part a little bit so the top can peek through them. As you get closer to the cloud line, the wind picks up. It starts blowing hard enough that you feel like you're going to get blown right off the beanstalk. But you can do this. You feel a surge of energy, and you before you know, you're cutting through the clouds. Just like that, you're at the top. You take a second to look around. The clouds look thick and puffy from up here. You look around, looking for anything interesting. As you turn around to look behind you... You see a giant [[castle->pro-pathway]]There's an ornate pathway leading up to the castle's main doors (how did you not see that as you were climbing up?). Well, you didn't climb up here for nothing. You may as well go check it out. As you walk along the path, the castle grows and grows. You continue walking; the castle is much farther away than you first assumed. It's also much larger than you first assumed. Once you finally reach the front door, it towers over you. You're not sure you could reach the handle without more climbing. With a little searching, you can probably [[find a way in->start]]Well, you've climbed this far, what's a little more? You can probably get to the door handle and [[go in the main entrance->door1]] if you wanted. You decide to do a little looking around the castle exterior. A little ways off from the main entrance, you find a glass room filled with plants. You spot an [[open window->window1]] above you. You sigh to yourself, it seems like you'll be climbing either way. A little farther down you come across a [[crack in the wall->hole1]]. Compared to the size of the castle, it's barely noticeable. But it's big enough for you to squeeze through if you wanted. (set:$can_leave to false) (set:$has_paperclip to false) (set:$has_sword to false) (set:$has_mask to false) (set:$has_bread to false) (set:$has_goose to false) (set:$giant_awake to false) (set:$encountered to false) (set:$escaping to false)You figue that going in the front door is probably your best bet. After all, who knows where you'd end up if you took a different entrance. You start climbing up the doorframe. Luckily, at your size, the small bumps on the stone are actually large enough hadholds to hoist yourself up. Once you get to where the handle is, you [[climb out->door2]] along the ridges in the door. (set:$entry to 'door')You decide to try climbing up to the window you saw. As soon as you cross the threshold of the wnidow, you're hit with a blast of warm humid air. Now that you're inside, you have to figure out how to [[get down->window2]]. (set:$entry to 'window')You're a little sick of climbing, so you decide to try your luck with the hole in the wall. It's a little tight, but you shimmy your way through. The farther in you go, the tighter it gets. There's still enough space to make progress, but you're feeling a little claustrophobic. But you've come this far, and you're not sure you could start going back even if you wanted. So you [[press on->hole2]]. (set:$entry to 'hole')You find yourself in what appears to be a greenhouse. Plants are all around you, and the air is a refreshing warm. (if:$entry is 'window')[The ground is still soaked from tipping the bucket over. ]You see a window up above one of the countertops, but you're not sure how you would even get up there on your own. (if:$has_goose is false)[It doesn't matter, because you're not quite ready to leave yet anyways. You make a mental note for later.](else-if:$has_goose is true)[ The goose, on the other hand, could get up there and out the window easily. All it would need is someone to [[tell it what to do->evacuate-goose]].] In one direction, you see a (link: "cozy looking room")[(if:$giant_room is 'giant-bedroom')[(set:$start_encounter to true)](set:$jack_room to 'bedroom')(goto: 'giant-turn')]. The other way out leads inwards, deeper towards the castle's (link: "center")[(if:$giant_room is 'giant-atrium')[(set:$start_encounter to true)](set:$jack_room to 'atrium')(goto: 'giant-turn')]. In the opposite direction is a hallway leading towards something that (link: "smells nice")[(if:$giant_room is 'giant-kitchen')[(set:$start_encounter to true)](set:$jack_room to 'kitchen')(goto: 'giant-turn')]. Looking around, you see that you're standing in front of a massive ornate door; (if:$entry is 'door')[the one you came in from](else:)[one that resembles the front door from outside]. Because of the different doorframe shape on the inside, you don't think you can climb this door. There's some decorations around, but for the most part the entryway seems pretty empty. It probably doesn't get much use. Directly ahead, is a path leading deeper into the (link: "castle proper")[(if:$giant_room is 'giant-atrium')[(set:$start_encounter to true)](set:$jack_room to 'atrium')(goto: 'giant-turn')]. There's another path leading towards a room with several massive chairs surrounding a (link: "long table")[(if:$giant_room is 'giant-dining-room')[(set:$start_encounter to true)](set:$jack_room to 'dining-room')(goto: 'giant-turn')]. You're at the top of a staircase. It leads down into what seems like a basement, dark and spooky. The other direction leads inwards, toward the center of the castle. There's also a crack in the wall, (if:$entry is 'hole')[the same one you came in from](if:$entry is not 'hole')[one seemingly big enough to fit through]. (if:$can_leave is true)[](if:$can_leave is false)[However, you don't think you're quite ready to leave yet](else:)[Now that you've gotten the goose out, you're all set to [[leave this place->leaving]]]. (if:$giant_room is not 'staircase')[ It's best to head inwards, towards the (link: "center of the castle")[(if:$giant_room is 'giant-atrium')[(set:$start_encounter to true)](set:$jack_room to 'atrium')(goto: 'giant-turn')]. Or, maybe take your chances and head (link: "down the stairs")[(if:$giant_room is 'giant-dungeon')[(set:$start_encounter to true)](set:$jack_room to 'dungeon')(goto: 'giant-turn')]. ]You enter the cozy looking room, with a masize bed up against one wall. There's dirty clothing all over the floor. Most of it is far too large for you to consider wearing, only fitting someone many times your own size.(if:$has_mask is false)[ Among the clothes is a night mask. It's still much larger than would fit you, but you could probably pick it up if (if:$escaping is true)[you weren't trying to get away from the giant](else:)[you (link:"wanted")[(set:$has_mask to true)(go-to:'giant-turn')]]] Your only way out of here is to head bcak to the (link: "greenhouse")[(if:$giant_room is 'giant-greenhouse')[(set:$start_encounter to true)](set:$jack_room to 'greenhouse')(goto: 'giant-turn')(if:$giant_room is 'giant-greenhouse')[(set:$start_encounter to true)]]. You're in a long room, with a gargantuan table surrounded by equally large chairs. It apppears to be some sort of dining room, if the crumbs all around are any indication. (if:$has_sword is false)[ On the ground is a loose toothpick... which happens to be around the size of a sword. If (if:$escaping is true)[you weren't already escaping from the giant](else:)[you (link:"wanted")[(set:$has_sword to true)(go-to:'giant-turn')]] you could grab it and use it for self defense] There's not a whole lot else here. You decide to head back to the main (link: "entryway")[(if:$giant_room is 'giant-entryway')[(set:$start_encounter to true)](set:$jack_room to 'entryway')(goto: 'giant-turn')].You enter a big open space, with paths leading in 4 different directions. You reckon that by now you're close to the center of the castle (which seems much smaller now that you're inside it). In one direction, you can make out a door. That way most likely leads to the castle's (link: "front entrance")[(if:$giant_room is 'giant-entryway')[(set:$start_encounter to true)](set:$jack_room to 'entryway')(goto: 'giant-turn')]. In another direction, you can feel warm air blowing towards you, and see some green. That makes you think that this way leads to (link: "plants")[(if:$giant_room is 'giant-greenhouse')[(set:$start_encounter to true)](set:$jack_room to 'greenhouse')(goto: 'giant-turn')]. On the opposite side is a shorter path, abruptly turning to the left. You can't see what's past the turn, but you think you can make out the beginning of a (link: "staircase")[(if:$giant_room is 'giant-staircase')[(set:$start_encounter to true)](set:$jack_room to 'staircase')(goto: 'giant-turn')]. Finally, the last direction leads to an ornate hall, filled with paintings and trinkets. Down that hall you're sure to find some sort of (link: "collection")[(if:$giant_room is 'giant-display-hall')[(set:$start_encounter to true)](set:$jack_room to 'display-hall')(goto: 'giant-turn')].You enter a long hallway, filled with ornate paintings and beautiful sculptures. And at the very center of it all, is (if:$has_goose is false)[a large goose in a cage](else:)[the empty cage that had the goose in it]. You get closer, and climb up onto the pedestal the cage is on.(if:visits is 1)[ That's when you realize that the cage is made out of sold gold bars. You don't know why, but you know for a fact you need to save this goose from its imprisonment. You'd wager that's the whole reason you're here, in this giant castle in the sky.](if:$has_goose is false)[ The cage is locked. You're small enough that you can see the inner workings of the lock, (if:$has_paperclip is true)[and can probably [[use your paperclip->unlock-cage]] to unlock the cage)](else:)[but still need something thin (at least relative to the lock) to open it up].] One way out leads to a room that has several (link: "scents")[(if:$giant_room is 'giant-kitchen')[(set:$start_encounter to true)](set:$jack_room to 'kitchen')(goto: 'giant-turn')] coming from it. The other way out leads back towards the (link: "center of the castle")[(if:$giant_room is 'giant-atrium')[(set:$start_encounter to true)](set:$jack_room to 'atrium')(goto: 'giant-turn')].You find yourself in what appears to be an oversized kitchen. Ignoring the grinding wheel stained with what appears to be... cranberry juice... it looks just like a bigger version of your kitchen at home. (if:$has_bread is false)[ There's a huge crumb on the ground, around the size of your head. It appears to be bread, so it's light enough to carry with you if you (if:$escaping)[weren't already on your way out](else:)[wanted a (link:"snack")[(set:$has_bread to true)(go-to:'giant-turn')] for later].] Down one hall, you can see a lot of green. There's also a warm draft coming from (link: "that direction")[(if:$giant_room is 'giant-greenhouse')[(set:$start_encounter to true)](set:$jack_room to 'greenhouse')(goto: 'giant-turn')]. The other way looks like it leads somewhere important, with lots of (link: "fine art")[(if:$giant_room is 'giant-display-hall')[(set:$start_encounter to true)](set:$jack_room to 'display-hall')(goto: 'giant-turn')] hanging from the walls.You climb down the stairs, and find yourself in what appears to be a dungeon Everything is dark and moldy, and you can't really see your surroundings. (if:$has_paperclip is false)[As you stumble around, you come across a gargantuan paperclip, easily the size of your torso. It might come in handy, if you (if:$escaping)[weren't in such a hurry to leave the giant](else:)[(link:"picked it up")[(set:$has_paperclip to true)(go-to:'giant-turn')]]] There's not much to do down here, so it's probably best to (link: "head back upstairs")[(if:$giant_room is 'giant-staircase')[(set:$start_encounter to true)](set:$jack_room to 'staircase')(go-to: 'giant-turn')].(if:$is_singleplayer is true)[(set:$giant_room to 'giant-display-hall')(go-to:'jack-turn')]You're in the middle of checking in on your prize possession, when you hear a loud noise. That's odd, as you're the only one who lives here, in your grand castle among the clouds. (if:$entry is 'window')[The sound was a loud splash, then what sounds like rushing water. Did you leave your watering bucket too close to the edge of the counter or something? That's going to be a pain to clean up, but it won't be the first time.](if:$entry is 'door')[The noise was a loud //thud//, almost like a door slamming shut. That's odd... you're sure the door was secured when you got back this morning. But what else could that noise have been?](if:$entry is 'hole')[The sound was a loud crunch, followed by the tinkling sounds of pottery shards. If it's the vase you're thinking of, you really shouldn't be suprised. It was perched on a rickety old stool anyway, just a matter of time before it fell off.] Regardless of how harmless it seems, you figure you should go investigate the noise. You make sure your prize posession is all safe and sound, then head out to [[investigate->jack-turn]] (set:$giant_room to 'giant-display-hall')(if:$is_singleplayer is true)[(set:$is_jack to false)(set:$escaping to false)(if:visits is 1)[(go-to:'giant-awakening')](else-if:$start_encounter is not true)[(go-to:$giant_room)](else-if:$start_encounter is true)[(goto: 'start-giant-encounter')]](else-if:visits is 1)[Switch to player two (they will play as the giant), then (link: "continue")[(go-to:'giant-awakening')]](else:)[Switch to player two (the giant), then (if:$start_encounter is not true)[(link: "continue")[(goto: $giant_room)]](if:$start_encounter is true)[(link: "continue")[(goto: 'start-giant-encounter')]]] (set:$is_jack to false) (set:$escaping to false)(if:$is_singleplayer is true)[(if:(random:1) is 0)[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')](else:)[(if:$jack_room is 'dining-room')[(set:$start_encounter to true)](set:$giant_room to 'giant-dining-room')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You head into the main entryway.(if:$entry is 'door')[ There's a new dent in the wall where the door opens all the way, almost like someone slammed the door open against the wall.(if:$encountered is true)[Undoubtedly the Englishman just trying to distract you.]] There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'entryway')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] Nothing much to see here, so you'll head to the (link: "atrium")[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')]. Actually, you decide to go check out the (link: "dining room")[(if:$jack_room is 'dining-room')[(set:$start_encounter to true)](set:$giant_room to 'giant-dining-room')(goto: 'jack-turn')].(if:$is_singleplayer is true)[(if:$jack_room is 'entryway')[(set:$start_encounter to true)](set:$giant_room to 'giant-entryway')(goto: 'jack-turn'](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]The dining room looks the same as it always does. Plates with half eaten food, crumbs all over, (if:$has_sword is false)[a used toothpick on the floor, ]and dirty dishes all about. There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'dining-room')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] Well, the only place to go from here is the (link: "entryway")[(if:$jack_room is 'entryway')[(set:$start_encounter to true)](set:$giant_room to 'giant-entryway')(goto: 'jack-turn')].(if:$is_singleplayer is true)[(if:$jack_room is 'greenhouse')[(set:$start_encounter to true)](set:$giant_room to 'giant-greenhouse')(goto: 'jack-turn')](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You go into your bedroom. It's a little messy, as there are clothes all over. Shirts, pants, (if:$has_mask is false)[your nightmask, ]and socks are all strewn on the floor. There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'bedroom')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] The only place to go from here is to the (link: "greenhouse")[(if:$jack_room is 'greenhouse')[(set:$start_encounter to true)](set:$giant_room to 'giant-greenhouse')(goto: 'jack-turn')].(if:$is_singleplayer is true)[(if:(random:2) is 0)[(if:$jack_room is 'bedroom')[(set:$start_encounter to true)](set:$giant_room to 'giant-bedroom')(goto: 'jack-turn')](else-if:(random:1) is 0)[(if:$jack_room is 'kitchen')[(set:$start_encounter to true)](set:$giant_room to 'giant-kitchen')(goto: 'jack-turn')](else:)[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You head into the greenhouse. (if:$entry is 'window')[The bucket you use to water the plants has fallen over, spilling everywhere.(if:$encountered)[ Probably the Englishman, trying to cause chaos and confusion so he can steal your prize possession.]](else:)[Everything looks like it should, and the watering bucket is on the ground where you left it.] There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'greenhouse')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] You should go check on your (link: "bedroom")[(if:$jack_room is 'bedroom')[(set:$start_encounter to true)](set:$giant_room to 'giant-bedroom')(goto: 'jack-turn')]. Or maybe grab a quick bite in the (link: "kitchen")[(if:$jack_room is 'kitchen')[(set:$start_encounter to true)](set:$giant_room to 'giant-kitchen')(goto: 'jack-turn')]. No, you have places to be, so you'll head to the (link: "atrium")[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')].(if:$is_singleplayer is true)[(if:(random:2) is 0)[(if:$jack_room is 'entryway')[(set:$start_encounter to true)](set:$giant_room to 'giant-entryway')(goto: 'jack-turn')](else-if:(random:1) is 0)[(if:$jack_room is 'staircase')[(set:$start_encounter to true)](set:$giant_room to 'giant-staircase')(goto: 'jack-turn')](else:)[(if:$jack_room is 'display-hall')[(set:$start_encounter to true)](set:$giant_room to 'giant-display-hall')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You arrive in the atrium. If you're trying to get somewhere, this is the place to pass through. There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'atrium')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] You decide to go check out the front (link: "entryway")[(if:$jack_room is 'entryway')[(set:$start_encounter to true)](set:$giant_room to 'giant-entryway')(goto: 'jack-turn')]. Anyone coming or going would go through there, right? Although, when was the last time you watered the plants in the (link: "greenhouse")[(if:$jack_room is 'greenhouse')[(set:$start_encounter to true)](set:$giant_room to 'giant-greenhouse')(goto: 'jack-turn')]? That can wait tough, you realize you had something to check out at the (link: "staircase")[(if:$jack_room is 'staircase')[(set:$start_encounter to true)](set:$giant_room to 'giant-staircase')(goto: 'jack-turn')]. But maybe you should check on your prize possession in the (link: "display hall")[(if:$jack_room is 'display-hall')[(set:$start_encounter to true)](set:$giant_room to 'giant-display-hall')(goto: 'jack-turn')] instead?(if:$is_singleplayer is true)[(if:(random:1) is 0)[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')](else:)[(if:$jack_room is 'dungeon')[(set:$start_encounter to true)](set:$giant_room to 'giant-dungeon')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]At the top of the stairs to the basement, you take a second to look at (if:$entry is 'hole')[the broken shards of your favorite vase.(if:$encountered is true)[The Englishman must have broken it to try and manipulate your emotions]](else:)[your favorite vase, perched up on a stool]. There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'staircase')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] Back to business. You were on your way to the (link: "atrium")[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')]. Or, no, you wanted to head to the (link: "dungeon")[(if:$jack_room is 'dungeon')[(set:$start_encounter to true)](set:$giant_room to 'giant-dungeon')(goto: 'jack-turn')] for something.(if:$is_singleplayer is true)[(if:(random:1) is 0)[(if:$jack_room is 'greenhouse')[(set:$start_encounter to true)](set:$giant_room to 'giant-greenhouse')(goto: 'jack-turn') will help soothe you](else:)[(if:$jack_room is 'display-hall')[(set:$start_encounter to true)](set:$giant_room to 'giant-display-hall')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You head into the kitchen. You forgot how little food there is here. You've been meaning to make bread, but you keep forgetting to pick up the ingredients for it.(if:$has_bread is false)[ You really need to clean up in here, there's massive crumbs all over the place.] There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'kitchen')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] Looking at some plants in the (link: "greenhouse")[(if:$jack_room is 'greenhouse')[(set:$start_encounter to true)](set:$giant_room to 'giant-greenhouse')(goto: 'jack-turn') will help soothe you]. Actually, better to check in on your prize possession in the (link: "display hall")[(if:$jack_room is 'display-hall')[(set:$start_encounter to true)](set:$giant_room to 'giant-display-hall')(goto: 'jack-turn')].(if:$is_singleplayer is true)[(if:$jack_room is 'staircase')[(set:$start_encounter to true)](set:$giant_room to 'giant-staircase')(goto: 'jack-turn')](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]The dungeon has always spooked even you. It's too dark, and you can hardly see where you're going.(if:$has_paperclip is false)[ Heck, you nearly just impaled your foot on a loose paperclip.] There doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'dungeon')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] You should get out of here, and head back up the (link: "staircase")[(if:$jack_room is 'staircase')[(set:$start_encounter to true)](set:$giant_room to 'giant-staircase')(goto: 'jack-turn')].(if:$is_singleplayer)[(set:$is_jack to true)(if:$start_encounter is not true)[(goto: $jack_room)](else-if:$start_encounter is true)[(goto: 'start-jack-encounter')]]Switch to player 1 (Jack) then (if:$start_encounter is not true)[(link: "continue")[(goto: $jack_room)]](if:$start_encounter is true)[(link: "continue")[(goto: 'start-jack-encounter')]] (set:$is_jack to true)(if:$is_singleplayer is true)[(if:(random:1) is 0)[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')](else:)[(if:$jack_room is 'kitchen')[(set:$start_encounter to true)](set:$giant_room to 'giant-kitchen')(goto: 'jack-turn')]](if:$alarm is true)[(set:$alarm to false)(alert:"All of the sudden, you hear a distinct //honk// coming from the display hall...")]You enter the display hall, the place you show off all of the marvelous wonders you've collected. At the very center is where you keep your prize possession (if:$has_goose is not false)[Although, from this angle it almost looks like the cage is unlocked. Wait... the cage //is// unlocked! (if:$encountered is true)[The Englishman](else:)[Someone] stole your prize possession!](else:)[Your prize possession is in its cage, as beautiful as ever. You walk over, and stare at it for a little bit, just to soothe yourself.] Otherwise, there doesn't look like there's anything interesting here.(if:$encountered is true)[Although, you decide to (link:"search")[(if:$jack_room is 'display-hall')[(go-to:'search-succeed')](else:)[(go-to:'search-failed')]] for the Englishman, just to be safe.] You should head back out to the (link: "atrium")[(if:$jack_room is 'atrium')[(set:$start_encounter to true)](set:$giant_room to 'giant-atrium')(goto: 'jack-turn')]. Or, a quick snack in the (link: "kitchen")[(if:$jack_room is 'kitchen')[(set:$start_encounter to true)](set:$giant_room to 'giant-kitchen')(goto: 'jack-turn')] couldn't hurt.Once you've made it to the hande, your weight starts turning it open. The door starts swigning open, slow at first but quickly picking up speed. Before you know it, the door slams against the inner wall, and you're flung off. You land in what seems like a giant carpet; it cushions your fall, but you'll definitely still feel it tomorrow. Just as quickly as it opened, the door behing you slams shut with a loud //''thud''//. Now that you're in, you realize you're in some sort of (link:'entryway')[(set:$jack_room to 'entryway')(go-to:'giant-turn')].Eventually the crack you're in starts widening up again, and you start picking up the pace. Near what you assume is the end of the crack, you can see something covering up the opening out of the wall. Not wanting to go back through the tunnel, you decide to shove the thing as hard as you can. To your suprise, it gives and moves out of the way! As you fully step out of the crack, something falls near you and shatters. After checking it out, the thing you shoved aside was a massive stool leg, upon which a (now shattered) vase was sitting. Well, at least you're inside. After looking around, you find yourself at the top of a massize (link:'staircase')[(set:$jack_room to 'staircase')(go-to:'giant-turn')].You see a massive bucket filled with water easily big enough to fully submerge yourself in, and figure that's your best bet. Without thinking about it too hard, you decide to jump into the bucket of water Your impact make a big splash, and water goes everywhere. As you climb out, you can feel the bucket start to tip over. Oh well, that's one way to do it. The bucket tips over, falling with a crash and sending a wave of water out around you. You try and dry yourself off (or at least as best you can) and take a look around. You're in a (link:'greenhouse')[(set:$jack_room to 'greenhouse')(go-to:'giant-turn')].(if:$encountered is not true)[(go-to:'first-encounter-jack')]Right as you're walking in, you notice the giant. It seems to be looking for something (probably you...). Yet it doesn't seem to have spotted you yet. Your mind starts racing once again, your heart pounding in your chest. What can you do? Your best bet is to (link:"run away")[(set:$jack_action to 'run')(go-to:'switch-jack-encounter')] and hope for the best. No, that's the cowardly thing to do. You should use the element of suprise to your advantage and (link:"fight")[(set:$jack_action to 'fight')(go-to:'switch-jack-encounter')].(if:$is_singleplayer is false)[ Hmm, but that might not work. There's a few things laying around the room, and you're pretty small. If you (link:"hide")[(set:$jack_action to 'hide')(go-to:'switch-jack-encounter')] you might be able to avoid detection entirely.] (if:$has_sword is true)[Or, you still have that (link:"toothpick sword")[(set:$jack_action to 'sword')(set:$has_sword to 'used')(go-to:'switch-jack-encounter')] from the kitchen. With that, you're confident you can fight off the giant] (if:$has_mask is true)[Or maybe you can use that giant (link:"night mask")[(set:$jack_action to 'mask')(set:$has_mask to 'used')(go-to:'switch-jack-encounter')] from the bedroom. If you sneak up on the giant, you should be able to use the mask to blind it!] (if:$is_singleplayer is true)[(set:$start_encounter to false)(if:$is_jack is true)[(set:$is_jack to false)(go-to:'end-jack-encounter')](else:)[(set:$is_jack to false)(go-to:'resolve-jack-encounter')]](if:$is_jack is true)[Switch to player two (the giant), then [[continue->end-jack-encounter]](set:$is_jack to false)](else:)[Switch to player one (the Englishman), then [[continue->resolve-jack-encounter]] (set:$is_jack to true)] (set:$start_encounter to false)(if:$is_singleplayer is true)[(if:(random:1) is 0)[(set:$giant_action to 'run')](else:)[(set:$giant_action to 'fight')](go-to:'outcome-jack-encounter')](if:$jack_action is 'hide')[(go-to:$giant_room)](else:))(if:$jack_action is 'mask' or $jack_action is 'sword')[(set:$giant_action to 'run')(go-to:'outcome-jack-encounter')](else:)[As you enter the room, you see the small Englishman once again. It seems he's already noticed you, and is trying to do... something. It looks like he's running away, so you should (link:"give chase")[(set:$giant_action to 'run')(go-to:'outcome-jack-encounter')] Or wait, maybe he's getting ready to attack? In that case, you should (link:"fight back")[(set:$giant_action to 'fight')(go-to:'outcome-jack-encounter')]](if:$jack_action is 'sword')[You use your toothpick sword to stab the giant in the leg while they're not paying attention. It takes them a couple seconds to recover, during which you (link:"make your escape")[(go-to:$jack_room)]](else-if:$jack_action is 'mask')[While the giant still hasn't noticed you, you climb up to their level, and jump down onto their head. Using the mask as a sort of parachute, then wrapping it around their eyes, they are momentarily stunned. While they're figuring out what's going on, you (link:"make a break for it")[(go-to:$jack_room)]](else-if:$jack_action is 'run')[You turn around and start dashing away. You don't hear the giant following... did they really expect you to stay and fight? Well, you use their hesistation to your advantage to (link:"get out of there")[(go-to:$jack_room)]](else-if:$jack_action is 'fight')[You stand your ground, and brace yourself. The giant clearly thought you were going to run away, and they run right past you. You decide to take this opportunity to get away, running in the opposite direction. You don't look back, and the giant doesn't (link:"catch you")[(go-to:$jack_room)]]. (set:$jack_action to '') (set:$giant_action to '') (set:$escaping to true) (set:$is_jack to true)(if:$is_singleplayer is true)[(alert:"Both players may return to looking at the screen")]Despite your best efforts, there's no escaping the giant. You wonder what's going to happen to you. That is, until you hear something about "grinding bones to make my bread". [[//*gulp*//->end]] (set:$victor to 'giant')You look all around the room, searching from the floor to the ceiling. However, you don't find the Englishman anwhere. You determine he must not be hiding anywhere near here. Oh well, you could have sworn you smelled the blood of an [[Englishman->jack-turn]].You search the room, leaving no nooks unchecked. Just as you're finishing up, you see something moving out of the corner of your eye. The Englishman tried repositioning themself behind a piece of furniture, but wasn't fast enough! Before they figure out what's happening, you rush over and [[grab them->game-over]].(if:$encountered is not true)[(go-to:'first-encounter-giant')](if:$is_singleplayer is true)[(if:(random:1) is 0)[(set:$giant_action to 'fight')](else:)[(set:$giant_action to 'run')](go-to:'switch-giant-encounter')]As you're surveying the room, you see motion out of the corner of your eye. The Englishman just walked in and, miraculously, hasn't noticed you yet. This is your chance to get them, and make them pay for trying to steal your prize possession. But how to get them? Surely when he sees you he'll run away screaming. In that case it's best to (link:"chase after him")[(set:$giant_action to 'run')(go-to:'switch-giant-encounter')]. Although, this one's a tough nut. Something tells you he might stand his ground, in which case you should just stright up (link:"attack him")[(set:$giant_action to 'fight')(go-to:'switch-giant-encounter')].(if:$is_singleplayer is true)[(set:$start_encounter to false)(if:$is_jack is true)[(set:$is_jack to false)(go-to:'resolve-giant-encounter')](else:)[(set:$is_jack to true)(go-to:'end-giant-encounter')]] (if:$is_jack is true)[Switch to player two (the giant), then [[continue->resolve-giant-encounter]] (set:$is_jack to false)] (else:)[Switch to player one (the Englishman), then [[continue->end-giant-encounter]] (set:$is_jack to true)] (set:$start_encounter to false)Right as you're walking in, something massive catches your eye. The giant noticed you walking in, and looks like it's about to do something. With no time to think, you (if:$has_sword is true)[pull out your (link:"toothpick sword")[(set:$jack_action to 'sword')(set:$has_sword to 'used')(go-to:'outcome-giant-encounter')]](else-if:$has_mask is true)[pull out your (link:"mask")[(set:$jack_action to 'mask')(set:$has_mask to 'used')(go-to:'outcome-giant-encounter')]](else:)[make a split second decision] It's either (link:"fight")[(set:$jack_action to 'fight')(go-to:'outcome-giant-encounter')] or (link:"flight")[(set:$jack_action to 'run')(go-to:'outcome-giant-encounter')].(if:$is_singleplayer is true)[(set:$jack_action to '')(set:$giant_action to '')(set:$escaping to true)(go-to:'jack-turn')](if:$jack_action is 'sword')[As you get closer to the Englishman, he stabs you in the leg with what looks like a toothpick. It doesn't hurt much, but does suprise you long enough for him to tun away. Probably on his way to steal your prize possession... you tell yourself you [[won't let that happen->jack-turn]].](else-if:$jack_action is 'mask')[You rush over to the Englishman, but at the last second trip over something and topple over. You see the Englishman wielding... your night mask? He drops it and leaves you to pick yourself up. By the time you're back on your feet, he's [[long gone->jack-turn]]](else-if:$jack_action is 'run')[You expect the Englishman to fight you, but he turns away and dashes for the closest exit. Before you realize what's going on, he's out the door and long gone. You try to find where he went, but it's [[no use->jack-turn]].](else:)[You charge at the Englishman with reckless abandon... only for him to sidestep your advance. When you turn back around, he's already [[gone->jack-turn]].] (set:$jack_action to '') (set:$giant_action to '') (set:$escaping to true)(if:$jack_action is 'sword')[Just as the giant gets close enough, you sidestep them and slam the tooothpick sword into their leg. They aren't stopped, but are suprised for long enough to give you a chance to (link:"escape")[(set:$jack_action to 'sword')(go-to:'switch-giant-encounter')]](else-if:$jack_action is 'mask')[As the giant rushes towards you, you sidestep their charge and use the night mask as a sort of tripwire. The giant stumbles and topples over, letting you (link:"run free")[(set:$jack_action to 'mask')(go-to:'switch-giant-encounter')]](else-if:$jack_action is 'run')[(if:$giant_action is 'run')[You turn tail and try to get the heck out of there. Unfortunately, there's just no beating the giant in a race, it's legs are far too long. You put up a good chase, but are soon [[caught->game-over]]](else:)[You start running in the other direction. Although you expect the giant will catch up with you, you're pleasently suprised when it doesn't give chase. Before you know it, you've [[gotten away->switch-giant-encounter]].]](else-if:$jack_action is 'fight')[(if:$giant_action is 'run')[You plant your feet, and hold your ground. The sight of the giant rushing towards makes your knees a little weak, but you stay upright. At the last second, you step to the side, and the giant completely misses you. You take that chance to run away from the giant, into the [[other room->switch-giant-encounter]].](else:)[You climbed up an entire beanstalk, why wouldn't you be able to take on a giant? It saunters over, clearly looking forward to the ensuing fight. It swings out a massive arm, which you jump over. Or at least try; it clips your feet and sends you tumbling. The giant is immediately on you, and before you know your hope of escape is [[gone->game-over]]]](if:$is_singleplayer is true)[(go-to:'first-encounter-switch')]As you're looking around the room, you see something moving out of the corner of your eye. You look over, and see... a tiny person? They seem to notice you, and take advantage of your shock to run away. Who was that? What do they want with you? Are they here to steal your prize possession? The very idea is enought to make you start shaking wth anger. You //really// can't let that happen. By now they're long gone, but you resolve to find them and make them regret ever even //thinking// about robbing you. You'll show them.. you just need to [[find them->first-encounter-switch]] first.You walk in, to find a mountain of a person at the other end of the room. You both see each other at the same time, and freeze. You can see the gears turning in this giant's head... their expression turns from confused to furious. Maybe they know about the (if:$entry is 'hole')[broken vase](else-if:$entry is 'window')[spilled water](else:)[breaking in]? No time to worry about that, you decide the best thing to do at the moment is to [[get out of there->first-encounter-switch]](if:$is_singleplayer is true)[(set:$encountered to true)(set:$start_encounter to false)(set:$escaping to true)(if:$is_jack is true)[(go-to:$jack_room)](else:)[(set:$is_jack to true)(go-to:'first-encounter-jack')]](if:$encountered is not true)[(if:$is_jack is true)[Switch to player 2 (the giant) then (link:"continue")[(set:$is_jack to false)(go-to:'first-encounter-giant')]](else:)[Switch to player 1 (Jack) then (link:"continue")[(set:$is_jack to true)(go-to:'first-encounter-jack')]]](else:)[(if:$is_jack is true)[(go-to:$jack_room)](else:)[Switch to player 1 (Jack) then (link:"continue")[(set:$is_jack to true)(go-to:$jack_room)]]] (set:$encountered to true) (set:$start_encounter to false) (set:$escaping to true)Thank you so much for playing! Congratulations to the $victor for winning! If this was you first time playing, it's recommended you check out the [[tutorial]] before jumping back in. It has information on how to better understand the game, and explain some of the mechanics that were never explained. I wanted players to go into their first playthrough completely blind, to better emulate what the characters are going through. However, for repeat playthoughs, knowing some of how the game works is vital for forming a strategy, and fostering a competition between the other player. Once you're ready to play again, you can (link:"head back to the start")[(restart:))].Welcome to the tutorial! Click on a topic to learn more about it. [[Number of players]] [[Items]] [[Movement]] [[Objectives]] [[Encounters]] [[Back->end]](if:$is_singleplayer is true)[(if:$jack_action is 'run' and $giant_action is 'run')[You start making a mad dash for the exit, but so does the giant. While you might be nimbler than it, you can't make up for its sheer size. Before too long, it has you [[in its clutches->game-over]]](else-if:$jack_action is 'fight' and $giant_action is 'fight')[You get ready to fight, and so does the giant. But there's no way you can take it in a fight. While you are definitely more agile, all it takes is one massive sweep of its arm and [[you're theirs->game-over]]](else:)[(go-to:'switch-jack-encounter')]](else:)[(if:$jack_action is 'sword')[You're not really paying attention as you walk into the room... which is shame because the Englishman sure was. Before you know what's happening, you feel a piercing pain in your leg, and see the Englishman running away. You look down to see a toothpick sticking out of your calf. Ouch. You take a second to pull it out, but by then the Englishman is long gone. You'll get 'em [[next time->switch-jack-encounter]]](else-if:$jack_action is 'mask')[Right after walking into the room, everything goes black. You stat to panic, and can hear the pitter patter of tiny feet running away. You tear something off from over your eyes... your night mask? The Englishman must have picked it up, so they could use it against you. By now they're nowhere to be seen. You vow that you won't let them get away [[next time->switch-jack-encounter]].](else-if:$jack_action is 'run')[(if:$giant_action is 'run')[The Englishman starts making a mad dash for the exit, but so do you. While they might be nimbler than you, they can't make up for your sheer size. Before too long, you have the Englishman [[in your clutches->game-over]]](else:)[Expecting a fight, you brace yourself... only to see the Englishman running away. Before you can build up enough speed to follow them, they're out of sight [[once more->switch-jack-encounter]].]](else-if:$jack_action is 'fight')[(if:$giant_action is 'run')[You start chasing after the Englishman, who is... standing their ground? Much to your suprise, the Englishmanlooks like they're ready for a fight. Unfortunately, you can't slow down fast enough, and end up running right past them. They take off in the other direction, and by the time you've stopped yourself, they're [[out of sight->switch-jack-encounter]].](else:)[The Englishman gets ready to fight, and so do you. But there's no way they can take you in a fight. While they are definitely more agile than you, all it takes is one massive sweep of your arm and [[they're yours->game-over]].]]]You use your paperclip to pick the lock on the goose's cage. You're somewhat familiar with how locks work, and being able to see the inner workings definitely helps. After jimmying the the paperclip, the lock pops open, and the cage door swings out. The goose looks at you, and (thankfully) decides not to eat you. It does seem hungry though, and opens its mouth to start crying for food. (if:$has_bread is true)[Before it can do so, you offer up the bread crumb from the kitchen, and it happily takes the tiny bit of food from you.](else:)[When it realizes you don't have any food on you, it lets out a loud //honk//(set:$alarm to true)]. You climb down the pedestal, and the goose follows you. You try thinking of how to get the goose out(if:$entry is 'hole')[; the crack you fit through to get in the castle definitely isn't big enough for the goose]. Well, you'll (link:"figure something out")[(set:$has_goose to true)(go-to:'giant-turn')] (set:$has_bread to 'used') (set:$has_paperclip to 'used')You're out! You run over to where the goose should have been, if it stayed put. Luckily, it's still there, and you start both start heading back towards the beanstalk. About halfway there, you hear a roar behind you. The giant realized you left, and is chasing you and the goose down the pathway. You start running faster, although you're not sure how long you can keep it up. You get to the beanstalk just in time, and start climbing down. The goose follows carefully, hopping from leaf to leaf. After a little bit of climbing, you look up... to see the giant [[following you->epilogue1]].The giant is a much faster climber than you, considering the size difference. In no time, it's caught up to you. You try avoiding it, but it's no use. One of its attacks knocks you off of the vine, and you start [[free falling->epilogue2]].You fall for what feels like an eternity. The ground is rapidly rising, and you're too far from the beanstalk to slow your fall. Just as you give up hope, you hear a //honk// from above you. Suddenly, you're riding on top of something soft, slowing down drastically. The goose saved you! Once it reaches the ground, the massive goose sets you down in front of your house. It was happy to save you, but you get the feeling that now you're even. Without thinking, you run to the tool shed, and grab an axe. Sprinting back over to the beanstalk, you start [[hacking away->epilogue3]].Chopping down the beanstalk is quick work, as it's suprisingly soft on the inside. After no time, the whole thing starts to topple over. You look up at what that means for the giant. You see it falling through the air, smilar to how you were a few minues ago. Unfortunately for it, there's no massive goose to save it. It drifts a little bit as it falls, and eventually lands with a resounding //thump// about 150 feet from your house. You get the feeling the giant won't be bothering you [[anymore->end]] (set:$victor to 'Englishman')You show the goose the open window, and it seems to get the idea. It flies up to the countertop, sticks its head out of the window, then flaps out with a joyful //honk//. Now you just need to figure out a way to [[get yourself out->giant-turn]] (set:$has_goose to 'free')(set:$can_leave to true)You dive (if:$entry is 'hole')[back ]into the hole in the wall, eager to get out of the giant's reaches. The journey through the wall is long and narrow, but you eventually [[make it out->escaped]] in one piece''Number of Players'' The game will change depending on how many players are playing. If both players are playing, hen the game is played as normal. If only one player is playing, then they will control the Englishman (AKA Jack). The Giant's moves will be randomized. Additionally, Jack won't have the ability to hide (see [[encounters->Encounters]]). [[Back->tutorial]]''Items'' There are several items that help the Englishman (AKA Jack) in his adventure. They are: -Night mask (used to instantly win a single encounter with the Giant, found in the Bedroom) -Toothpick sword (used to instantly win a single encounter with the Giant, found in the Dining Room) -Paperclip (used to unlock the cage containing the golden goose, found in the Dungeon) -Bread crumb (used to stop the Giant from being alerted when Jack unlocks the Golden Goose, found in the Kitchen) -Goose (the item Jack is trying to steal, to win the game, found in the Display Hall) [[Back->tutorial]]''Movement'' The game is played turn by turn, on a 3 by 3 grid. Each player takes turn moving one grid space to a connected room (not all adjacent rooms are connected). Jack's starting space is determined by how the player chose to enter the castle. Each method results in a different starting grid space. If a player moves into a space where the other player is currently in, an [[encounter->Encounters]] is started. The Englishman (AKA Jack) is also able to spend their turn on an alternate action, such as pickin up an item or unlocking the cage. [[Back->tutorial]]''Objectives'' Each player has a different objective, or how to win the game. The Englishman (AKA Jack) must unlock the Golden Goose's cage (using the paperclip found in the Dungeon), escort the goose to the greenhouse window, and then leave through the hole in the staircase wall. Jack also has to avoid the Giant as much as possible The Giant is trying to run into Jack as much as possible. The Giant wins by beating Jack in an [[encounter->Encounters]]. [[Back->tutorial]]''Encounters'' Whenever a player moves into the room the other player is in, an encounter is started, This is basically the two players going head to head against each other. The Englishman (AKA Jack) can sometimes use [[items->Items]] to help in encounters. However, most of the time it will be left up to chance. Each player can choose to run or fight. The giant wins if both players choose the same option, and the Englishman wins if the players choose opposite options. If Jack wins, they live to run away. If the Giant wins, then the game is over and they win whole game. Additionally, when the Giant moves into Jack's space, Jack has an extra ability he can use. Jack is able to hide, which will hide the encounter from the Giant (i.e. the player controlling the Giant won't be told that an encounter was started). Play willl continue, but if the Giant chooses to Search a room that Jack is hiding in, then Jack loses. [[Back->tutorial]](text-colour:green)[Jack and the Giant] By Ryan Hoff [[Begin->Author-note]]