Meet our protagonist. He's male, five-foot-five, has a job over at 2845 Wreden Avenue, and he's living his life out normally. Maybe his name is Stanley, but it doesn't really matter yet. { (set: $random to (random: 1, 8)) (if: $random is 1)[ <br></br> His likes include pizza, crossword puzzles, smooth jazz, and taking long walks on the beach. His dislikes include rainy days, oversleeping, language arts, and pineapple on pizzas. <br></br>] (elseif: $random is 2)[ <br></br> Despite how normal he is, there //was// something odd about him. He thought he was never alone--that someone was always there. Someone who could see every movement of his. Someone who could tell him what to do. He had dismissed these thoughts as his crazy imagination, of course. <br></br> ] (else:)[] } He was going to perform another day's worth of work today, fantastic. It was the same day-in, day-out for five years at this point, yet he didn't seem to mind that much. Sure, his job could be repetitive, but it wasn't boring, was it? Maybe it was. Maybe he shouldn't be such a stickler to the same old schedule he had adhered to for five years, and that he should make a [[change|Conflict]], if at least for a few minutes. It's not like he could let the day pass [[without anything interesting happening|Boring]].Nothing happened. Well, there's nothing to be accomplished by this. Let's try again, shall we? Ahem. The next day, he was going to do something different, right? * [[Yes|Conflict]] * [[No|Nothing Loop]]Hello, reader! You're here to play through this story, I bet, and how stories, tropes, and their twists unfold. Even if you're not, well, I thank you for just taking time out of your day to look at this project. Let's get started by creating |eight>[the shell of a narrative]. We can file in whatever turns we may want to input as we develop the story. To make choices on how the narrative should proceed, simply click on a link to progress to the next event. I hope you have fun! { (set: $random to (random: 1, 8)) (click: ?eight)[ (if: $random is 8)[(goto: "Eight")] (else:)[(goto: "The Narrative")] ] <p id="Graph links" style="display:none">[[The Narrative]] and [[Eight]]</p> }Apparently, nothing of interest happened today. Nothing happened? You're going to create a story without some sort of inciting incident? Well, I can't exactly criticize that given the structure of the narrative. It would be considered an innovative twist on a story, but, well... it can't be a twist if there is no story to begin with! Well, I can accept that, so long as the story goes //somewhere//. Perhaps our hero had meandered this day, seeing |randlink>[oddends] here and there, but eventually, he realizes how boring the rut of his life was. Every day was the same day-in, day-out, and it seemed like he was getting nowhere. { (set: $random to (random: 1, 2)) (click: ?randlink)[ (if: $random is 1)[(goto: "Distracted")] (else:)[(goto: "Labyrinth")] ] <p id="Graph links" style="display:none">[[Distracted]] and [[Labyrinth]]</p> } The next day, as he was fed up with idling, he was going to do something different, right? * [[Yes|Conflict]] * [[No|Nothing]]The elephant was of a bright pink color, and there was muzak playing out of its trunk. Behind the elephant was a creature resembling an assemblage of noodles, and then he notices his wife... and then //himself//? There was something //strange// going on here, but our protagonist is merely a bystander to this phenomenon. Some kid heroes must have tinkered with a board game, magical artifact of doom, or spellbinding contract, while he was caught in the middle without any means to change it. This was not the story of our protagonist. All he could do was to wait until the heroes who were //actually// meant to resolve the bizarre events occuring around New Kyoto fixed things up. He had to at least survive until then, which might not be as easy as he expects, now that one of his legs had gained the consistency of rubber and there was a tricycle where his car was normally parked. It was going to be one of those days. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/GainaxEnding" class="external">End</a>''On one day, our protagonist gets caught up in oddends after finishing his work day. He had to buy laundry detergent for this upcoming Saturday, but as he was on his way home, he notices that the local cinema was premiering that acclaimed historical fiction docudrama by Stephen Steinbeck, so of course he had to stop in to see the movie. He steps out thinking that while the theatrics were technically fascinating, the story was less than inspiring. When he walks out, an [[elephant|Confusion]] was strutting down the city street. Oh, right. Mardi Gras, a festival of everything glamorous and kitchy. How could he have forgotten? Surely, he had to get [[involved|Mardi Gras]]?Today, before coming into work, our protagonist decides to stop by another floor. He checks his watch, which displays the time as 8:50. That was enough time to visit another floor before needing to clock in. { (set: $random to (random: 1, 8)) (if: $random is 1)[ <br></br> My, that was a dapper watch he had. It scintillates with melamine and resonates of quartz, and it ticks sharp and true; he had to keep it well-maintained in order to preserve his schedule, of course. There was something else special about that watch, but who knows if we'll discover what it is? <br></br>] (elseif: $random is 2)[ <br></br> ...That is, if he did need to check in at 9:00. It was 9:00, right? And it was 9:00 //AM// and not //PM//? He hadn't seen anyone else arrive through the doors today. <br></br><br></br> Our protagonist contemplates the question. His alarm is set for 7:30 AM, and it takes him an hour to go through his morning ritual, leaving him 30 minutes to drive here. ...Or did he give himself 90 minutes for traffic? <br></br><br></br> Well, either way, he should be on time. <br></br> ] (else:)[] } He presses the elevator button, and its doors open. Inside were the buttons [[B|Basement]], [[1|Valhalla]], and [[2|Office]]. He was assigned to work on the second floor, so he should likely choose a different floor to peruse.Before anything else happens, our protagonist slams his palm down on the 'deactivate' button. He feels a tingly sensation around his brain stem, as if years of habit and ritual were unraveling, and that he was getting a much more acute sense of himself. Actually, it was //exactly// that. Behind him, Maria doubles over and heaves a gasp, and she blinks, seemingly more aware of her surroundings. "You did it!" she says, picking herself back up. "Oh, god, I couldn't think straight with that thing on. "How long have you been here? How long have //I// been here? How much of our lives have we wasted?" Our protagonist says, "Well, I've been here for--" "What I mean is that we should really get out of here. Find some place new and enjoy ourselves, you know?" "Sure, uh... that sounds great," our protagonist says. "We could get a [[coffee|Coffee]]."Before anything else happens, our protagonist slams his palm down on the 'activate' button. The computer hums to life behind him, and all of the monitors flicker with life. Our protagonist starts flickering, too. It was as if his brain was being disassembled and reassembled. Pieces of his consciousness were eroding away, and his memory was getting fuzzy. From behind, Maria was shaking her head and rolling her eyes. Now, why did he do that? Did he think that there was something to be gained--power or freedom, perhaps, by digging himself deeper into the unknown? While I do applaud the effort, I fear it is wasted here. I'm afraid that the twist here is that there is no twist. Our protagonist here will have his mind drained within the next two minutes, and, just to add insult to injury, he'll be fired. But if that's his fate, then why am I presenting you with these buttons? Maybe one certain combination of them gives our protagonist his freedom back. Maybe there are certain combinations will give him an alternate ending, an escape of sorts. Or maybe, if you're familiar with //The Stanley Parable//, these buttons are red herrings that just bait the reader into thinking that there are endings beyond them, while there may not be any. Did I give you enough clues to piece together which buttons to press in which order? (Yes, I know that you can reset the timer to buy you more time to run through every permutation. Take that as you will.) { |b1>[* <tw-link id="b1">A button labeled 1</tw-link>] |b9>[* <tw-link id="b9">A button labeled 9</tw-link>] |b5>[* <tw-link id="b5">A button labeled 5</tw-link>] |b7>[* <tw-link id="b7">A button labeled 7</tw-link>] |br>[* <tw-link id="br">A red button</tw-link>] |bg>[* <tw-link id="bg">A green button</tw-link>] |bb>[* <tw-link id="bb">A blue button</tw-link>] |bw>[* <tw-link id="bw">A white button</tw-link>] <p id="eventText"> </p> <p id="stageText"> </p> <p id="Graph links" style="display:none">[[Incinerator]]</p> <script type = "text/javascript"> var b1 = document.getElementById("b1"); var b9 = document.getElementById("b9"); var b5 = document.getElementById("b5"); var b7 = document.getElementById("b7"); var br = document.getElementById("br"); var bg = document.getElementById("bg"); var bb = document.getElementById("bb"); var bw = document.getElementById("bw"); var eventText = document.getElementById("eventText"); b1.onclick = function(){press("a button labeled 1");}; b9.onclick = function(){press("a button labeled 9");}; b5.onclick = function(){press("a button labeled 5");}; b7.onclick = function(){press("a button labeled 7");}; br.onclick = function(){press("a red button");}; bg.onclick = function(){press("a green button");}; bb.onclick = function(){press("a blue button");}; bw.onclick = function(){press("a white button");}; var stageText = document.getElementById("stageText"); var stage = 1; var presses = 0; var value = 0; var javaHash = function(str) { var hash = 0; var l = str.length; for (var i = 0; i < l; i++) {hash = (hash << 5) - hash + str.charCodeAt(i);} return hash >> 0; }; var press = function(buttonStr) { var message = "You press " + buttonStr + "."; var stageMessage = ""; presses++; value += javaHash(buttonStr); if (presses % stage === 0) { if (value % stage !== stage - 1) { stageMessage = " Stage " + stage + " failed. Resetting."; stage = 1; } else { stageMessage = " Stage " + stage + " complete."; stage++; } presses = 0; value = 0; } eventText.innerHTML = message; stageText.innerHTML = stageMessage; }; </script> }{ |timerText>[] (set: $timer to 120) (live: 1s)[ (set: $timer -= 1) (if: $timer > 1)[(replace: ?timerText)[$timer seconds remaining.]] (elseif: $timer is 1)[(replace: ?timerText)[$timer second remaining.]] (else:)[(goto: "Incinerator")] ] }Our protagonist heads toward the basement. What could possibly of interest in the depths of 2845 Wreden Avenue? Well, for one, there was a [[broom closet|Broom Closet]] a short ways down the dimly-lit hall. More interestingly, though, there was an [[office|Mind Control]] filled to the brim with monitors. It looked as if it were a normal security center, if it weren't for the fact that under each monitor, there were the names of employees--and, quite frankly, his company shouldn't have been able to afford so many high-tech monitors. Surely, though, it was illegal to keep track of the business's employees to such discretion.After the elevator doors close, our protagonist presses the button for the first floor. He was just on the first floor, though, so we should expect the doors to open back up. Instead, the elevator plunges up approximately 5,630 feet upwards. The elevator dings, and its doors open to a gigantic chamber of apparently Nordic design. Our protagonist takes a second to readjust himself before exiting the elevator. As soon as he does so, a voice booms, "WELCOME TO THE HALLS OF VALHALLA!" (What?) "Valhalla?" our protagonist echoes. "Didn't they write 'Unchained'?" Suddenly, a figure appears in a great burst of light, a rugged viking decked out in plate armor, hoisting a warhammer over his shoulder. "You must be the new warrior I've heard about! I see you like to jest!" he bellows. "Oh, but I'm no warrior," our protagonist says to the viking. "I'm just a QA engineer over at Initech." The viking gives a leer at our protagonist. "You //were// a kew-ay engineer. Now you have the afterlife to enjoy glorious battle!" Afterlife, hmm? Last time he checked, he was alive--and besides, [[how did he even get here|Stage]] from the mortal realm? It was an interesting change of events, at least. He considers [[accepting|Genre]] the viking's offer, but he also considers the [[consequences|Consequences]]....Apparently, no one else had thought in to come in early this morning; it was evident that our protagonist was the first one to make it to work. He was quite content with that turn of events, if it could be called a turn at all. There was no need to learn about any dark secrets that lay in the depths of 2845 Wreden Avenue. If he had a choice between lolling and sitting at his cubicle, launching his computer, and pressing buttons on websites, he would have found it more productive to do the latter, as was expected. There really wasn't any reason to take a look-around when you weigh those options, was there? The thought doesn't cross his mind again, and he lives his life unaware of any deeper turn of events. Unless our protagonist is named Stanley, but that's another story. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/MissedTheCall" class="external">End</a>''Even if there was an element of... let's say, silliness, in this sort of festivity, it was still a good time for him. There was energy in the air. That, and the stale scent of alcohol. It couldn't hurt to have a sip or two, could it? Sure, our protagonist had been staying clean for the last four years at the behest of his daughter, but he figured that he deserved to have a good time. As day creeps into night, he finds himself ambling toward the nearest bar to order drink a few cocktails. For all of the glitz that was present in midday, night was remarkably dim. It was dim enough, actually, that a vehicle had smashed into a black, human-shaped object at 1:28 AM, while our protagonist had decided to return home from a night of partying at 1:25 AM. 2845 Wreden Avenue would be short one janitor that morning. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/GeckoEnding" class="external">End</a>''Nothing happened again. There's nothing to be accomplished by this. Let's try again, shall we? The next day, he was going to do something different, right? * [[Yes|Conflict]] * [[No|Nothing Loop 2]]Nothing happened. There's nothing to be accomplished by this. Really. Let's try again, shall we? The next day, he was going to do something different, right? * [[Yes|Conflict]] * [[No|Nothing Loop 3]](Okay, you win....) Nothing happened at all. Congratulations on your twist--it's quite engaging, isn't it? We came into the story expecting a story to go somewhere, and we ended up going nowhere. If you were going for that, you've found it! If you were looking for secrets, well, I'm sorry, but you're in the wrong place. Either way... ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/NoEnding" class="external">End</a>''"Cut!" yells the director. The scenery drifts away on hidden wheels, motioned by stagehands. The walls unfold and the viking drops his hammer. Our protagonist exhales and his shoulders sink, now that the camera had stopped rolling. He walks off the set and checks the footage they had just shot before heading toward his trailer to prepare for the next scene. "Bob from Valhalla" was going to be a smash hit. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/NestedStoryReveal" class="external">End</a>''No, he couldn't simply accept such a sudden shift in events. He would be scrapping everything he worked toward in his life, without any sort of closure. With such concerns weighing down on his mind, our protagonist frowns and says to the viking, "I can't yet. I have other things to take care of. I need to look after my wife, and she's expecting. I'm sure that my co-workers need me as well. I can't give that up, either. I'll come back after I've settled everything." The viking twists the corners of his mouth into a frown. "If that is what you believe, then I must respect your decision." He bows his head and gestures a farewell to our protagonist. Our protagonist steps back into the elevator to head back down, and its doors close. Two minutes later, one of our protagonist's co-workers discovers an inert body in the elevator of 2845 Wreden Avenue. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/DeadAllAlong" class="external">End</a>''Our protagonist accepts the viking's offer, and a battleaxe, rough iron shield, and tankard of mead magically appear in front of our protagonist, and he picks the items up. The next battle would be in 20 minutes, and he was feeling... well, not too bad for a disenfranchised receptionist. ---- "Are you serious?" Marcus says to Kyle. "That is literally the worst backstory I've ever heard. Like, how does some dude from America even get to a Norse heaven?" "Shut up," Kyle retorts. "It's just a game, and backstories mean nothing after the tutorial. I might as well have fun with it." ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/FramingDevice" class="external">End</a>''"Maria!" our protagonist exclaims, turning around. "I, hah, I didn't know you were here. I don't suppose you know what this is doing here?" Maria looks a bit... ashamed, was it? Or was it dourness? Regardless, she responds, "You know, during orientation, I specifically told you that the lower level was off-limits to the techology department; that doesn't exclude you." There was no arguing against that. Our protagonist responds, "I didn't mean anything by coming down here. I just wanted to see what our other departments were doing." But wait. "If we shouldn't be down here, what about you? It'd be more responsible to report me or something, right?" There's a wry grin on Maria's face, and she saunters over to the hub computer. "You're the first employee to think of these things. The first to ask about changes to your assigned schedule, the first to become curious toward what's down here, the first to wonder what I'm doing, and the first to gain //sentience//. By company policy, that means I'll have to fire you. Sorry." The [[activate|Activate]] and [[deactivate|Deactivate]] panels on the computer were looking quite attractive at the moment, but he had his reservations against not [[listening|Listen]] to his superior."You know, you're right," our protagonist says. "I was wrong to step outside of my lines, and I promise I won't do it again. Look, I'll even go to some remedial classes or change my hours as needed. Just... please don't fire me. I need this job." There was sympathy on Maria's face, but her eyes were glancing away. "If I don't do my own duties, they'll fire me, too." "It doesn't have to be this way, though!" our protagonist says, waving his hands. "We could both never speak word of this again, and everything'll be normal." Maria sharply exahales and glances away from our protagonist, shaking her head. "Well, it's at least nice to see someone else here that has a brain." She glances up, her eyes meeting with his. "Let's talk during lunch." ---- The next day, our protagonist was back to the same day-in, day-out again. This time, though, he greets Maria on his way into his cubicle, and during lunch hour, the two of them talk about the banal events surrounding their lives. Even if they had behaved outside the confines of the business, at least they could confide in each other. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/MetaTwist" class="external">End</a>''"That sounds great," Maria responds. "I'm more of a hot chocolate sort of girl, you know what I mean? But I mean, it sounds like a great idea!" So our protagonist and Maria go down to the nearest Queequegs coffeehouse and enjoy their day free of the confining limits of their previous workplace. ---- Unfortunately, the next place they find for work for also had a Mind Control Facility, and it was back to the same day-in, day-out for the both of them. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/ShaggyDogStory" class="external">End</a>''On second thought, why bother changing his schedule? He had a full day of [[work|Inspector]] ahead of him, and he could add that ten minutes to his overtime. He presses the '2' button to go up. The elevator bell makes a pleasant 'ding' and the door opens to a sequence of [[cubicles|Cubicle]] that wrap around the floor.Our protagonist pulls out a notepad from his suitcase and starts circling the floor. This museum was planning on being furnished in a scant three days, and he was called in to perform a gratuitous safety inspection. It takes him a four hours to complete his round, after poring over the locations of egresses, elevators, and stairwells, as well as the presence of safety equipment. As he was jotting down remarks in his form, he hesitates. The layout of the floor was long-winded and confusing enough to make a lab rat back out, and there was only a single fire extinguisher tucked away in a maintenance room across all three floors. In all practicality, the construction was sure to cause issues, yet he could not technically put it at fault. He instead makes a final remark on the form, "Insufficient data for meaningful answer." Their grand opening would have to wait. ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/ToBeContinued" class="external">End?</a>''Woah-woah-woah--woah! Now, how did you get here? Finding the secret? Diving through the source code? Importing the project into Twine? A strike of random luck? Or were you simply the author who wanted to include a juicy secret to delight those people engaged in this project? In that case, give yourself a pat on the back, because it was successful! (Cough.) Either way, I'm impressed by your tenacity to explore this project! Send me a message about a broom cabinet--not a broom closet--and I'll get you a pint of lemonade for your trouble.Oh, come now. You elect to visit a broom closet over that [[shiny wall of monitors|Mind Control]] that hinted to spy and regulate our protagonist's life? You deserve at least an iota of narration, at least. There was a cupboard filled with... oh, I don't know. Cleaning supplies. Disinfectant. Brooms. Somehow, our protagonist finds the simple pleasures of brooms more interesting than the Mind Control Facility just down the hall. <tw-collapsed id="BROOM CLOSET SECRET"> <p id="SECRET" style="display:none"> Well, well, well. You're going to look through the source code for a secret? There is nothing to be gained from searching around in a broom closet, unless you're the sort of person to think of soap and towels as amazing secrets (and if you're that sort of person, you have odd taste for both cleaning supplies and markup languages). <p id="SECRET" style="display:none"> You must be kidding me! You're not discouraged to look toward the other parts of this narrative? Surely the Mind Control Facility or Mardi Gras or vikings are more interesting than a simple broom closet? <p id="SECRET" style="display:none"> Oh, who am I kidding? If you're looking at the code, those big, flaring 'SECRET' tags surely imply //some// sort of secret. Fine, you deserve something, but I'm not just going to give you the link. If you've gotten this far, I bet you could figure it out. <br></br><br></br> Here's my hint: The name of this passage is "Broom Closet", and you want to click a link to a passage with the name "Secret". </p> </p> </p> </tw-collapsed> There are no secret messages or endings //here//, and there are certainly no links to any interesting pages, so why not head back?In the middle of the room was a computer, and a label on the desk reads "Mind Control Facility". ...Mind control? Like, controlling the minds of employees like him? Now that he thinks about it, how //did// he muster the motivation to follow the same day-in, day-out schedule every day for the last five years? He had asked his superiors for a change, but that didn't seem to get anywhere, and he recalls he was fine with that decision. Our protagonist starts wondering; what if the only reason he was so punctual was because of mind control? Would he accept things as they were if he had another choice? On the computer were two large buttons--[[deactivate|Deactivate]] and [[activate|Activate]]. It sounded like pressing the 'deactivate' button would break any effects of mind control and the 'activate' button would make them worse. (Well, isn't that familiar?) Them. from behind our protagonist, a woman's voice says, "What do you think you're doing?" He knew that voice. It was the voice of his co-worker and mentor, a voice that usually stayed up on the second floor. [[Maria.|Trouble]]Damdadaadam daadamdaa, damdadaadam daadam daadam Damdadaadam daadamdaa, damdadaadam daadam daadam Damdadaadam daadamdaa, damdadaadam daadam daadam Damdadaadam daadamdaa, damdadaadam daadam daadam Babababum bum bum doo doo doo doo Babababum bum bum doo doo doo doo Babababum bum bum doo doo doo doo Babababum bum bum doo doo doo doo (repeat × infinity) Credits: Everything: Yijing Chen Other links: * (link:"Twine Documentation")[(gotoURL:"http://twine2.neocities.org/")] * (link:"Twine Arrays")[(gotoURL:"twinery.org/forum/discussion/2749/")] * (link:"The Stanley Parable transcript")[(gotoURL:"https://github.com/angelXwind/Localization/blob/master/The%20Stanley%20Parable/subtitles_english.txt")]{ (if: $twists is 0)[...Maybe not so splendid. The streets on this side of the city looked labyrinthine, winding in directions not at all orthogonal--or even Euclidean! He isn't even sure which road he took to get here, and he is much less sure of how to get out. <br></br><br></br>] (set: $twists += 1) }Before our protagonist is a { (set: $random to (random: 1, 12)) (if: $random is 1)[little maze of twisting passages] (elseif: $random is 2)[little maze of twisty passages] (elseif: $random is 3)[little twisting maze of passages] (elseif: $random is 4)[little twisty maze of passages] (elseif: $random is 5)[maze of little twisting passages] (elseif: $random is 6)[maze of little twisty passages] (elseif: $random is 7)[maze of twisting little passages] (elseif: $random is 8)[maze of twisty little passages] (elseif: $random is 9)[twisting little maze of passages] (elseif: $random is 10)[twisting maze of little passages] (elseif: $random is 11)[twisty little maze of passages] (elseif: $random is 12)[twisty maze of little passages] (else:)[straightforward maze of large passages] }, all alike. { (set: $directionArray to []) (set: $n to (random: 0, 1)) (set: $e to (random: 0, 1)) (set: $w to (random: 0, 1)) (set: $s to (random: 0, 1)) (if: $n is 1)[(set: $dummy to $directionArray.push("north"))] (if: $e is 1)[(set: $dummy to $directionArray.push("east"))] (if: $w is 1)[(set: $dummy to $directionArray.push("west"))] (if: $s is 1)[(set: $dummy to $directionArray.push("south"))] (set: $directions to $n + $e + $s + $w) } { (if: $directions is 0)[ We've hit a dead-end, it seems, and from the looks of it, our protagonist is no closer out of this maze than in. The more he tries to backtrack and find his way through the maze, the more he gets lost. Is there any hope of him finding his way out to the light of day? <br></br><br></br> My answer is 'no', but you're free to keep trying! With that, I leave you with an ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/AlienGeometries" class="external">end</a>''. ] (elseif: $directions > 0)[ There (if: $directions is 1)[is $directions direction] (else:)[are $directions directions] to go in the maze: (if: $n is 1)[* [[North|Twisty]]] (if: $e is 1)[* [[East|Twisty]]] (if: $w is 1)[* [[West|Twisty]]] (if: $s is 1)[* [[South|Twisty]]] (set: $streetNumber to (random: 20, 80)) (set: $direction to (random: 0, $directions - 1)) (set: $directionName to $directionArray[$direction]) "In a quarter mile, turn $directionName onto (if: $streetNumber % 10 is 1)[$streetNumber<span></span>st] (elseif: $streetNumber % 10 is 2)[$streetNumber<span></span>nd] (elseif: $streetNumber % 10 is 3)[$streetNumber<span></span>rd] (else:)[$streetNumber<span></span>th] Street," the GPS chirps helpfully. (if:$twists % 10 is 0 and $twists > 0)[ <br></br><br></br> Okay, we've turned around in this maze $twists times already, and we seem to be getting nowhere. I suggest we backtrack before we hit what will probably be a disappointing ending.] ] } Our protagonist had gotten in his automobile, started his engine, and started on his route to work, the same way he had, day-in, day-out for the last five years. But, as luck would have it, the route he normally takes was today a forest of orange traffic cones, with construction vehicles highlighting the scene. Of course, being the economic individual our protagonist is, he pulls over, takes a break, and flips open that Pasz GPS application on his smartphone. Surely there were alternative ways of getting to where he needs to be! "In half a mile, turn [[east|Twisty]] onto 42nd Street." Ah, splendid. { (set: $twists to 0) }Not a moment later, our protagonist was sent toward his ''<a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/TheUntwist" class="external">end</a>'' via the incinerator.<tw-link id="eight">8</tw-link> Wait a moment. We're not supposed to be here. This isn't my project's story. This is just a page with a button that says '8' on it! Did you do anything, reader? How did we lose track of the story before we even start it? I had hoped to show you the wonders of interactive fiction and get you immersed in a world of tropes, but... this? This is giving you completely the wrong impression of my project! Do you see a way to get a story out of this page, reader? I suppose we should [[head back|The Start]], because I don't see anything. {} <script type="text/javascript"> var presses = 0; var eight = document.getElementById("eight"); eight.onclick = function(){pressEight();}; var messages = new Array(8); for (var i = 0; i < 8; i++) { messages[i] = document.createElement("p"); messages[i].innerHTML = ""; } messages[0].innerHTML = "\"EIGHT,\" a booming voice exclaims from the nether. Oh, so that's what the button does. It doesn't seem to take us anywhere, so let's head back."; messages[1].innerHTML = "\"EIGHT,\" the voice booms again. Reader, you can press this marvelous '8' button as much as you like, but it's not the story we're going for."; messages[2].innerHTML = "\"EIGHT.\" My goodness, do you really think that this button goes anywhere or does anything different? It is literally a button that says 'eight'."; messages[3].innerHTML = "\"EIGHT.\" This button was not the way to the story, no matter how much the reader presses it. Perhaps the reader was familiar with <i>The Stanley Parable</i> or had eight as a favorite number. Maybe that's why we've been at this page for so long.</p><p>Oh, dear, I'm narrating <i>you</i> now. You see, this is what happens when we introduce a diversion before I even show you the character whose story we would create."; messages[4].innerHTML = "\"EIGHT.\" Let me guess. You think that this button is part of the game, or that there's a secret to it--maybe after you press it eight times? It's not going to take us anywhere, believe me. I've checked the script."; messages[5].innerHTML = "\"EIGHT.\" But now that I've said that, you must <i>absolutely</i> think that there's a secret to this button! Oooh, yes, click on it eight times. Eighty eight times. <sup>8</sup>8 times (that's tetration). The more you click, the closer you're getting to some secret, right?"; messages[6].innerHTML = "\"EIGHT.\" You know, I wonder. How many times are you willing to click on that button? Until this page takes up all of your computer's RAM and lets your browser crash? If that happens, that's your fault, not mine."; messages[7].innerHTML = "\"EIGHT.\" Or... maybe you just want to hear what I have to say? You're entertained by my drivel, and you're wondering where I'll say the next time you press that button. I can't believe it. You're <i>that</i> sort of reader. You know, I'm honestly flattered by your persistence, but--and I mean this sincerely--there are no secrets from this point onward, and I will be shutting up so you can go see another page."; var pressEight = function() { if (presses < 8) { eight.parentNode.appendChild(messages[presses]); } else { var eightVoice = document.createElement("p"); eightVoice.innerHTML = "\"EIGHT.\""; eight.parentNode.appendChild(eightVoice); } window.scrollTo(0, eight.parentNode.scrollHeight); presses++; }; </script>