Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<div align="center">
!RECURRENCE
</div>\
<h4 align="center"><b>by Nate Robs</b></h4>
Thanks for play testing this prototype IF narrative. At the end there are some [[feedback|FEEDBACK]] notes (contains spoilers). Hopefully you can help me improve the next iteration and guide me toward a satisfying conclusion. Welcome to early-access. Enjoy!
<div style="text-align: center">
<<button "BEGIN" "WHO">><</button>>\
</div>
<div align="center">\
!!!CONTACT
E-MAIL:
<a href="mailto:nate@squareship.com" target=”_blank”>nate@squareship.com</a>
TWITTER:
<a href="https://twitter.com/n8bomb" target=”_blank”>@n8bomb</a> | <a href="https://twitter.com/primematerialca" target=”_blank”>@primematerialca</a>
LINKEDIN:
<a href="https://www.linkedin.com/in/nate-robs-37761622/">Nate Robs</a>
TWITCH:
<a href="https://www.twitch.tv/primematerialcast" target=”_blank”>Prime Material Cast</a>
DISCORD:
n8bomb#8674
</div>
<<silently>>
Would you rather be skilled or lucky?
<<button "SKILLED" "WHO">><<set $skilled = true>><</button>>\
<<button "LUCKY" "WHO">><<set $lucky = true>><</button>>
|ALAN:|<span id="alan1">...</span>|
|NORA:|<span id="nora1">...</span>|
<div id="test2">
<<button "NEXT 1">>
<<replace "#alan1">>"My name is Alan."<</replace>>
<<replace "#test2">>
<<button "NEXT 2">>
<<replace "#alan1">>"..."<</replace>>
<<replace "#nora1">>"Mine is Nora."<</replace>>
<</button>>
<</replace>>
<</button>>
</div>
----
INSPECTOR: From the Department of Defence.
<</silently>>You've been going out for walks lately. You're starting to get more familiar with the neighbourhood. It's a bit cold out, but the weather seems to be getting warmer every day. This slow progression is encouraging.
<div id="askDiv" align="center">
<<button "GET A COFFEE">>
<<if $routine != "run" && $routine != "bench">>
<<set $routine = "coffee">><<goto "Coffee">>
<<else>>
<<replace "#mindSpan">>But I didn't get coffee...<</replace>>
<</if>>
<</button>>
<<button "GO FOR A RUN">>
<<if $routine != "coffee" && $routine != "bench">>
<<set $routine = "run">><<goto "Run">>
<<else>>
<<replace "#mindSpan">>But I didn't go for a run...<</replace>>
<</if>>
<</button>>
<<button "SIT ON A BENCH">>
<<if $routine != "run" && $routine != "coffee">>
<<set $routine = "bench">><<goto "Bench">>
<<else>>
<<replace "#mindSpan">>But I didn't sit on a bench...<</replace>>
<</if>>
<</button>>
</div>\
<span id="mindSpan"></span>
<<silently>>
You go into the cafe down the street. Other people sit and sip large mugs of coffee, some eating pastries. But your attention is on the board. You read the roast of the day. Dark roast is your favorite.
You run
Sitting on a park bench
<</silently>>As you walk the halls you see mounted plaques, some of which bear your name. Prizes for advancement in the field of quantum mechanics and the discovery of quantum gravity. You feel no ownership of these accomplishments, only sadness for the vast knowledge you must have lost.
[[BOARDROOM]]
\
\
<<silently>>
<<button "RELOAD">>
<<script>>state.display(state.active.title, null, "back")<</script>>
<</button>>
"Take a seat, please."
"Let's just go around the room here, we've got $npcDOE from the Department of Energy. $npcOST from the Office of Science and Technology. And $npcDEF from the Department of Defense.
Office of Science and Technology -- department of the EOP. Science Advisor.
Defense Research & Development -- military presumably
Department of Energy -- Only recently learned what the project really was.
---
In the halls you see plaques bearing your name, for the discovery of one strange thing or another.<<if $time == 1>>Who was I?<</if>><<if $time == 2>>"Quantum Theory of Gravity"? Wait something about unifying Relativity with Quantum Field Theory.<</if>>
<</silently>>\
!!!//Who are you?//
This is the question you've asked yourself as far back as you can remember. In this case, that's 8 months. You have no memories of anything before waking up in a hospital. No people. No places. Even words at first, though slowly they've come back to you, as if hidden deep within the recesses of your mind.
That first month's a blur now, but since then you've been trying to piece things together. You spent the first 4 months in the hospital. You were asked a lot of questions by your doctors and people from a company called $company, but no one would tell you anything. After 4 months a man claiming to be your father came to take you home.
Apparently you're Dr. $name $nameLast. You've been staying with your father, $father $nameLast, for 4 months now. This is the house you grew up in apparently. There are pictures of you as a child. Pictures of your mother. But none of it is familiar. Your father seems like a decent man though, willing to answer your questions.
[[QUESTIONS|Questions]]
<<if $carQs.includes("none")>>\
<<else>>\
<<button "What did I do at this lab?">>
<<set $carQs.push("lab")>>
<<if $carQs.length == 2>>
<<goto "CAR HIGHWAY">>
<<elseif $carQs.length == 3>>
<<goto "CAR FERRY">>
<<else>>
<<goto "SCREENING">>
<</if>>
<</button>>
<</if>>\
<<silently>>
<<link "QUESTIONS" "Questions">>...<</link>>
----
[[ROUTINE]]
----
* "After you went away to Stanford it was just the 2 of us. Empty nest and all that. I guess she needed a change. Whether she wanted to be alone, or with someone else, I don't really know. Haven't heard from her in years."
* "Curious. Maybe a little too curious for your own good. (He laughs.) I remember you trying to take apart a power cell in the garage and getting a hell of a shock. 40 volts! It nearly killed ya! I mean it's funny now, but it wasn't so funny when we had to race across town to the E.R."
* "I wish I knew. Whatever happened it seems like the government is involved now. They wouldn't let me talk to your doctors, I had to go through them. And they wouldn't say much."
* "The same person you are now. You'll always be my pride and joy, remember that."
----
"You're doing so much better now. I think you're ready."
A) "You're right, I want to know what happened."
B) "Some days I'd agree with you. But I guess I'm as ready as I'm gonna be."
C) "I disagree. I'm not ready for this."
A) "
---
From what they've told me, I guess you were, uh, teleported. You disappeared from your lab and showed up on Harbor Island. The doctors ran all kinds of tests, and they seem to think your head's ok. They're not sure how you got -- you know, why you can't remember so good.
<</silently>>He goes over to the whiteboard and draws a point.
|$BOSS:|"This point has zero dimensions; no length, no width, no height. If you draw a 2nd point and connect the two by a line, suddenly you've got a 1 dimensional system. The line has length. Someone in this system could move back and forth, but that's it. If two 1-dimensional people ran into each other they couldn't go around, because there //is// no 'around' for them."|
He pauses to make sure everyone's following.
[[NOD|2nd DIMENSION]]Double-click this passage to edit it.You were a scientist at PathTech. The corporation invests heavily in theoretical research into the emerging field of Quantum Worlds.
Hilbert space: the space of all possible wave functions. (Infinite dimensional)
WHAT HAPPENED?
You were teleported. You disappeared from the lab, and appeared in the next town over. You used to live there. What really happened is that prior to leaving this timeline, you were already in that old house, looking for something. This is not the first time you've changed timelines. When you activated the HYPERCUBE you branched to that quantum state. Your consciousness passed to the You in the house. This effectively erased your past. But there are timelines in which you disappeared completely, erasing your future.
Someone else you know disappeared once. As you progress, people begin to disappear as well.
Double-click this passage to edit it.<<set $time = 0>>
<<set $line = 0>>
<<set $asked = 0>>
<<set $carQs = ["none"]>>
<<set $city = "Seattle">>
<<set $town = "Bellevue">>
Near Olympic National Park
<<set $codename = "Tesseract">>
<<set $frog = "Kurt">>
<<set $father = "David">>
Made his living off a few patents he owns. He was an engineer. Mostly retired now, but he's contributing to several open source projects (including Neuralink).
CIA
<<set $agent = "Lisa">>
<<set $agentLast = "Soo">>
<<set $AGENT = "AGENT SOO">>
<<set $company = "PathTech">>
<<set $boss = "Alan">>
<<set $bossLast = "Ziedler">>
<<set $BOSS = "DR. ZIEDLER">>
Older man. Most of his friends have died. He watched his oldest friend turn to life extending technologies, trying to live long enough to upload himself into a digital simulation with adequate fidelity.
<<set $partner = "Nora">>
<<set $partnerLast = "Vitali">>
<<set $PARTNER = "NORA VITALI">>
Works tirelessly to secure funding for the program. She gave up her daughter when she was very young. She dreams of undoing that choice.
<<set $tech = "Lloyd">>
<<set $techLast = "Prince">>
<<set $TECH = $tech.toUpperCase()>>
Young. Started as an idealistic grad student. He idolizes you. But he fears what the tech could do in the wrong hands. He also has a neural implant which malfunctions some times. It is an open source model, as he doesn't trust the Alpha model.
<<set $admin = "Darla">>
<<set $adminLast = "Marigold">>
<<set $ADMIN = $admin.toUpperCase()>>
Husband died 3 years ago. She was going to retire, but now she has to work several more years. She can be a downer sometimes, but she's sweet.
DEPARTMENT OF DEFENSE
<<set $npcDOD = "James">>
<<set $npcDODlast = "Falkner">>
<<set $NPCDOD = "JAMES FALKNER:<br>(D.O.D.)">>
DEPARTMENT OF ENERGY
<<set $npcDOE = "Erol">>
<<set $npcDOElast = "Fields">>
<<set $NPCDOE = "EROL FIELDS:<br>(D.O.E.)">>
OFFICE OF SCIENCE AND TECHNOLOGY
<<set $npcOST = "Viane">>
<<set $npcOSTlast = "Advani">>
<<set $NPCOST = "DR. ADVANI:<br>(O.S.T.)">>
----
<<set $askMom = false>>
<<set $askChild = false>>
<<set $askHappened = false>>
<<set $askWho = false>>
<<set $askHelp = false>>
<<set $askTrouble = false>>
<<set $askDad = true>>
----
Defense = American
Defence = British
"Let's just go around the room here, we've got $npcDOE from the Department of Energy. $npcOST from the Office of Science and Technology. And $npcDEF from the Department of Defense.
You return home in the rain. There's a car you don't recognize parked in the driveway. You walk in the front door, noticing a pair of unfamiliar shoes. There are voices coming from the dining room. As you walk in, you see your father having coffee with a woman in a business suit.
|FATHER:|"$name. Come on in. This is agent $agent $agentLast. I've spoken to her on the phone a couple times, but this is the first time we've met in person."|
|$AGENT:|"Nice to meet you, Dr. $nameLast. Your father tells me you're feeling much better."|
|FATHER:|"Can't hold a $nameLast down, ain't that right?"|
You get a strange vibe off your dad, but you're not sure what it is.<<if $time == 1>> <span id="insSpan">Ohhhh, I get it. He's into her. Way to go dad.</span><</if>> You dry your hands on a tea towel before extending it for a handshake.
|YOU:|"Nice to meet you agent $agentLast."|
|$AGENT:|"I'm from the Federal Bureau of Investigation, and I've been assigned to your case. So I wanted to check in on you; see how you're doing."|
<div id="replyDiv" style="text-align: center">
<<button "I'VE BEEN ALRIGHT">>
<<if $ok == false>>
<<set $diverge = true>>
<<replace "#mindSpan">>But that's not what I said...<</replace>>
<<else>>
<<set $ok = true>>
<<goto "Offer">>
<</if>>
<</button>>\
| \
<<button "IT'S BEEN TOUGH">>
<<if $ok == true>>
<<set $diverge = true>>
<<replace "#mindSpan">>But that's not what I said...<</replace>>
<<else>>
<<set $ok = false>>
<<goto "Offer">>
<</if>>
<</button>>\
</div>
<span id="mindSpan"></span>
<<silently>>
"Come on in $name. Have a seat. I just made coffee, you want some?"
* ACCEPT
* REJECT
if $takeCoffee == true ||
----
[[CAR ROAD]]
<</silently>>The agent taps a button on a small remote and the side of the vehicle opens up, revealing a luxurious interior. It seems less a vehicle than a mobile lounge. She lays in a course and the vehicle soundlessly glides onto the street, then pilots itself toward your destination. Along the way there is time to ask questions.
<<include "Car Questions">>
<<silently>>
From the highway you can see downtown Seattle. It looks intimidating at this distance, although apparently you lived there for many years. Hard to imagine those streets being familiar. But your destination isn't the city. Your lab is deep below the great mountains in the distance, across the bay. PathTech, the company you used to work for, has a particle accelerator under Mount Olympus.
QUESTIONS:
"What did I do at this lab?"
"What can you tell me about my accident?"
"Why is everyone so secretive?"
----
The agent taps a button on small remote and the side of the vehicle opens up, revealing a luxurious interior. It's like a small lounge with comfortable counches, a couple touch-screens, and what you believe is a small fridge. She ushers you in and you make for the furthest seat, which seems like it can also turn into a bed. You father lets the agent get in first, then enters as the door closes behind him. The vehicle soundlessly glides out onto the street, locks in its course and pilots itself toward its destination.
On the ride you ask questions about your lab. Agent $agentLast tries to convey some of the details, but admits that much of it is beyond her. Something to do with quantum mechanics, although you're not really sure what that means. When you ask about what happened to you, she tells you that she doesn't know that either. Just that a project you were working on malfunctioned.
From the highway you can see downtown Seattle. It looks intimidating at this distance, although apparently you lived there for many years. Hard to imagine those streets being familiar. But your destination isn't the city. Your lab is deep below the great mountains in the distance, across the bay. PathTech, the company you used to work for, has a particle accelerator under Mount Olympus.
You cross Elliot Bay on a ferry that drops you on Bainsbridge Island. From there you continue, crossing bridges until you arrive at the foot of the mountain. You drive through old, untamed forest as you come up around the tip. It opens up and looking out, you can see the Pacific Ocean, its tide slamming against the rocks. For all the force of the waves however, they are dwarfed by the power that lies beneath the mountain.
<span id="insSpan"><<if time == 1>> The universe is quantum -- probabilistic.<</if>><<if $diverge == true>> Then why can't I change things?<</if>></span>
You drive for about an hour, in the direction of Mount Olympus. Your father points it out.
"The ice caps are not what they once were. Even when you were a child.
---
66 miles to Mt Olympus
----
<</silently>>
You are dropped off at a set of sliding glass doors. Outside waits a stocky woman in her late 50's, professionally dressed in a blazer and long skirt. She has short died blonde hair, bulky gold earings and bracelets. She looks toward the arriving kart with anticipation, and you catch a look of recognition as you approach.
|$ADMIN:|"Oh my stars! Dr. $nameLast, you had us all worried!"|
|$AGENT:|"This is Mrs. $adminLast, the administrative assistant here at Olympus."|
|YOU:|"You know me?"|
|$ADMIN:|"You poor thing. Of course I know you. It's me, $admin. We've seen each other every day for nearly 6 years."|
|YOU:|"I'm...sorry."|
|$ADMIN:|"Oh dear, it's not your fault. I just hope they get to the bottom of all this."|
She leads you in through the automatic doors and you enter a lavish reception area. Panels of diffuse, white light cover the pillars that hold up a cavernous ceiling; a vestige of the of mountain above you. The long reception desk is also illuminated, along with the PathTech sign behind it.
To the LEFT stand a row of 4 people in suits.
To the RIGHT a pair of male scientists. They all turn to face you as you enter.
<div id="replyDiv" style="text-align: center">
<<button "LEFT">>
<<if $direction == "right">>
<<set $diverge = true>>
<<replace "#mindSpan">>But that's not what I said...<</replace>>
<<else>>
<<set $direction = "left">>
<<goto "LEFT">>
<</if>>
<</button>>\
| \
<<button "RIGHT">>
<<if $direction == "left">>
<<set $diverge = true>>
<<replace "#mindSpan">>But that's not what I said...<</replace>>
<<else>>
<<set $direction = "right">>
<<goto "RIGHT">>
<</if>>
<</button>>\
</div>
<span id="mindSpan"></span>
<<silently>>
[[LEFT]]
[[RIGHT]]
[[ENTER]]
<</silently>>
* You see $name, you were part of a Skunkworks project, codenamed: Tesseract.Double-click this passage to edit it.<<set $name = "Firstname">>\
<<set $nameLast = "Lastname">>\
!!!//Who are you?//
(Enter your character's name and pronoun.)
<div style="text-align: center;">
DR. <<textbox "$name" $name>> <<textbox "$nameLast" $nameLast>>
<<button "THEY/THEM" "AMNESIA">><<set $gender = "nb">><</button>>\
<<button "HE/HIM" "AMNESIA">><<set $gender = "male">><</button>>\
<<button "SHE/HER" "AMNESIA">><<set $gender = "female">><</button>>
</div>
<<silently>>
----
[[AMNESIA]]
<</silently>>
[[Blackjack]] Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it."$name, this is Agent $agent of the Department of Science and Technology."
"Hello. We haven't met before, have we?"
"No don't worry. This is the first time. How are you feeling?"
"Better I guess. Still can't remember a whole lot."
"That's ok. As I was explaining to your dad here, we have an idea for something that might help. We think it's time to go back to the facility where you worked."<<set $routine = "run">>\
Your footsteps fall into rhythm with your breath. You feel the air filling your lungs and your mind clears. For a moment, you stop worrying about the past. You are present, as the world races by.
You stick to the streets you know. Things are still unfamiliar. You search your mind for past memories, any context for this place. But you find none and the effort causes you to lose your rhythm, so you abandon the attempt. Anyway, your father says your memories will come back in their own time.
Eventually your knees begin to ache and you slow your pace. Then it starts to rain. Perhaps your knees knew this was coming. The rain is refreshing. You try to walk off the pain as you make for home.
[[HOME]] <<set $routine = "coffee">>\
You take a seat by the window and set down your hot beverage. The steam rises off the coffee as the aroma wafts toward you, bringing waves of anticipation. But you must be patient. You blow on the coffee, waiting for it to cool.
Your mind begins to wonder, thinking over the last 8 months. You can't help but feel like you're missing something. Something about the whole situation seems utterly absurd, although you don't know why. With no basis of comparison, who's to say this kind of thing doesn't happen all the time?
You absently take a sip. SHIT! Too hot still. Now your burnt tongue will barely be able to taste the coffee. Better give it a while longer. You play through the scenes over and over again, but nothing makes any more sense. Eventually you give up and stare blankly out the window, until you realize that your coffee's probably the perfect temperature.
You finish your coffee as clouds roll in, and it looks like it's about to rain. You should head home.
[[HOME]] <<set $routine = "bench">>\
Here on this park bench, the world seems to unfold around you. A mother cleans her child's hands after some chocolatey treat. An old man feeds geese that swim up off the lake. A group of teenagers pass around a cigarette and laugh at whichever one of them coughs.
The persistant wind ripples along the surface of the lake, echoing the noise of your thoughts. You let your mind wander where it will, hoping that it will find its way to some buried memories. You begin to concoct scenes in your mind, based on pictures, videos and stories your father's told you. But you know these aren't memories; they feel too vague.
The wind picks up, blowing in rain clouds that begin to drizzle. Everyone seems to be leaving the park. Whatever clarity you were hoping to find on this bench, it seems to be washed away by the rain. Time to head home.
[[HOME]]
<<silently>>
It's cold, but maybe this is the warmest it gets. The pictures and old videos your father showed you seem to be on nicer days than this. You find yourself hoping for better weather. It starts to rain, and you head back to the house.
<</silently>>You pass through a reinforced metal threshold in the stone. It seems to house large blast doors that could lock down in the event of an emergency. Just beside them is a glowing sign that reads:
<div style="text-align: center">\
!!!''PATHTECH''
And below that: ''OLYMPUS''
</div>\
|YOU:|"So this is Olympus."|
|FATHER:|"Starting to look familiar?"|
|YOU:|"No, not yet."<<if $time == 1>> <span id="insSpan">Wait, yes it is.</span><</if>>|
|FATHER:|"It will<<if $gender == "male">>, son.<<elseif $gender == "female">>, my girl.<<else>>.<</if>> Don't you worry. It will."|
You're not sure who he's trying to convince. But the cart rolls on through a wide open hub that looked like it once was once bustling with scientists.
[[FORWARD|RECEPTION]]
<<silently>>
You pass through a wide open hub where other karts move scientists around the facility. <<if $time == 1>><span id="insSpan">They're looking at me.</span><</if>>
<</silently>>
* What happens when it's turned on?
* Remain silent
(After turned on, there is an argument between scientists and gov't. Now's your chance.)
<<button "PLAY BLACKJACK">>
<<script $Blackjack>>
<</button>>Double-click this passage to edit it.Double-click this passage to edit it.<<include "Questions">>\
----
|YOU:|"Where is my mom now?"|
|FATHER:|"After you went away to Stanford it was just the 2 of us. Empty nest and all that. I guess she needed a change. Whether she wanted to be alone, or with someone else, I don't really know. Haven't heard from her in years."|<<include "Questions">>\
----
|YOU:|"What was I like as a child?"|
|FATHER:|"Curious. Maybe a little too curious for your own good."<br>//(He laughs)//<br>"I remember you trying to take apart a power cell in the garage and getting a hell of a shock. 40 volts! It nearly killed ya! I mean it's funny now, but it wasn't so funny when we had to race across town to the E.R."|<<include "Questions">>\
----
|YOU:|"What happened to me?"|
|FATHER:|"I wish I knew. Whatever happened, it seems like the government is involved now. They wouldn't let me talk to your doctors. I had to go through their agents, and they wouldn't tell me much."|<<include "Questions">>\
----
|YOU:|"Who was I before the accident?"|
|FATHER:|"The same person you are now.<<if $gender == "male">> You're my son, and don't you forget it.<<elseif $gender == "female">> You'll always be my girl; remember that.<<else>> You're my pride and joy; remember that.<</if>>"|
<<if $time == 1>><span id="insSpan">Am I the same though?</span><</if>>Double-click this passage to edit it.
----
/*
This program lets the user play Blackjack. The computer acts as the dealer. The user has a stake of $100, and makes a bet on each game. The user can leave at any time, or will be kicked out when he loses all the money.
House rules: The dealer hits on a total of 16 or less and stands on a total of 17 or more. Dealer wins ties. A new deck of cards is used for each game.
*/
public class Blackjack {
public static void main(String[] args) {
int money; // Amount of money the user has.
int bet; // Amount user bets on a game.
boolean userWins; // Did the user win the game?
TextIO.putln("Welcome to the game of blackjack.");
TextIO.putln();
money = 100; // User starts with $100.
while (true) {
TextIO.putln("You have " + money + " dollars.");
do {
TextIO.putln("How many dollars do you want to bet? (Enter 0 to end.)");
TextIO.put("? ");
bet = TextIO.getlnInt();
if (bet < 0 || bet > money)
TextIO.putln("Your answer must be between 0 and " + money + '.');
} while (bet < 0 || bet > money);
if (bet == 0)
break;
userWins = playBlackjack();
if (userWins)
money = money + bet;
else
money = money - bet;
TextIO.putln();
if (money == 0) {
TextIO.putln("Looks like you've are out of money!");
break;
}
}
TextIO.putln();
TextIO.putln("You leave with $" + money + '.');
} // end main()
static boolean playBlackjack() {
// Let the user play one game of Blackjack.
// Return true if the user wins, false if the user loses.
Deck deck; // A deck of cards. A new deck for each game.
BlackjackHand dealerHand; // The dealer's hand.
BlackjackHand userHand; // The user's hand.
deck = new Deck();
dealerHand = new BlackjackHand();
userHand = new BlackjackHand();
/* Shuffle the deck, then deal two cards to each player. */
deck.shuffle();
dealerHand.addCard( deck.dealCard() );
dealerHand.addCard( deck.dealCard() );
userHand.addCard( deck.dealCard() );
userHand.addCard( deck.dealCard() );
TextIO.putln();
TextIO.putln();
/* Check if one of the players has Blackjack (two cards totaling to 21).
The player with Blackjack wins the game. Dealer wins ties.
*/
if (dealerHand.getBlackjackValue() == 21) {
TextIO.putln("Dealer has the " + dealerHand.getCard(0)
+ " and the " + dealerHand.getCard(1) + ".");
TextIO.putln("User has the " + userHand.getCard(0)
+ " and the " + userHand.getCard(1) + ".");
TextIO.putln();
TextIO.putln("Dealer has Blackjack. Dealer wins.");
return false;
}
if (userHand.getBlackjackValue() == 21) {
TextIO.putln("Dealer has the " + dealerHand.getCard(0)
+ " and the " + dealerHand.getCard(1) + ".");
TextIO.putln("User has the " + userHand.getCard(0)
+ " and the " + userHand.getCard(1) + ".");
TextIO.putln();
TextIO.putln("You have Blackjack. You win.");
return true;
}
/* If neither player has Blackjack, play the game. First the user
gets a chance to draw cards (i.e., to "Hit"). The while loop ends
when the user chooses to "Stand". If the user goes over 21,
the user loses immediately.
*/
while (true) {
/* Display user's cards, and let user decide to Hit or Stand. */
TextIO.putln();
TextIO.putln();
TextIO.putln("Your cards are:");
for ( int i = 0; i < userHand.getCardCount(); i++ )
TextIO.putln(" " + userHand.getCard(i));
TextIO.putln("Your total is " + userHand.getBlackjackValue());
TextIO.putln();
TextIO.putln("Dealer is showing the " + dealerHand.getCard(0));
TextIO.putln();
TextIO.put("Hit (H) or Stand (S)? ");
char userAction; // User's response, 'H' or 'S'.
do {
userAction = Character.toUpperCase( TextIO.getlnChar() );
if (userAction != 'H' && userAction != 'S')
TextIO.put("Please respond H or S: ");
} while (userAction != 'H' && userAction != 'S');
/* If the user Hits, the user gets a card. If the user Stands,
the loop ends (and it's the dealer's turn to draw cards).
*/
if ( userAction == 'S' ) {
// Loop ends; user is done taking cards.
break;
}
else { // userAction is 'H'. Give the user a card.
// If the user goes over 21, the user loses.
Card newCard = deck.dealCard();
userHand.addCard(newCard);
TextIO.putln();
TextIO.putln("User hits.");
TextIO.putln("Your card is the " + newCard);
TextIO.putln("Your total is now " + userHand.getBlackjackValue());
if (userHand.getBlackjackValue() > 21) {
TextIO.putln();
TextIO.putln("You busted by going over 21. You lose.");
TextIO.putln("Dealer's other card was the "
+ dealerHand.getCard(1));
return false;
}
}
} // end while loop
/* If we get to this point, the user has Stood with 21 or less. Now, it's
the dealer's chance to draw. Dealer draws cards until the dealer's
total is > 16. If dealer goes over 21, the dealer loses.
*/
TextIO.putln();
TextIO.putln("User stands.");
TextIO.putln("Dealer's cards are");
TextIO.putln(" " + dealerHand.getCard(0));
TextIO.putln(" " + dealerHand.getCard(1));
while (dealerHand.getBlackjackValue() <= 16) {
Card newCard = deck.dealCard();
TextIO.putln("Dealer hits and gets the " + newCard);
dealerHand.addCard(newCard);
if (dealerHand.getBlackjackValue() > 21) {
TextIO.putln();
TextIO.putln("Dealer busted by going over 21. You win.");
return true;
}
}
TextIO.putln("Dealer's total is " + dealerHand.getBlackjackValue());
/* If we get to this point, both players have 21 or less. We
can determine the winner by comparing the values of their hands. */
TextIO.putln();
if (dealerHand.getBlackjackValue() == userHand.getBlackjackValue()) {
TextIO.putln("Dealer wins on a tie. You lose.");
return false;
}
else if (dealerHand.getBlackjackValue() > userHand.getBlackjackValue()) {
TextIO.putln("Dealer wins, " + dealerHand.getBlackjackValue()
+ " points to " + userHand.getBlackjackValue() + ".");
return false;
}
else {
TextIO.putln("You win, " + userHand.getBlackjackValue()
+ " points to " + dealerHand.getBlackjackValue() + ".");
return true;
}
} // end playBlackjack()
} // end class Blackjack
|$AGENT:|"Listen, I know it must be hard losing all that time, all those memories. But the doctors say your brain is ok, so with any luck they'll start coming back to you."|
|YOU:|"I hope so."|
|$AGENT:|"But in the meantime, I've got something that might help. How would you like to see your old lab? It might jog some memories. You did spend a lot of time there."|
|YOU:|"Really? I can see it? When?"|
|$AGENT:|"Well...how long do you need to get ready?"|
<<if $routine == "run">>\
|YOU:|"I'd need to shower first."|
<<elseif $routine == "coffee">>\
|YOU:|"Are you kidding? I'm ready to go now!"|
<<elseif $routine == "bench">>\
|YOU:|"I'd just need to grab an umbrella."|
<</if>>\
<<if $routine == "run">>\
|$AGENT:|"Go on ahead and get cleaned up. Your father and I can amuse ourselves for a while."|
<<elseif $routine == "coffee">>\
|$AGENT:|"Sounds great, my car's out front."|
<<elseif $routine == "bench">>\
|$AGENT:|"Don't worry. There's umbrellas in the car. You can //have// one."|
<</if>>\
|YOU:|"Can my dad come?"|
|$AGENT:|"Suuuure. Bring him along. He's good company."<<if $time == 1>><span id="insSpan"> Wait a minute. I think she's into him too.</span><</if>>|
<<if $routine == "run">>\
You run upstairs to shower, leaving your father with the agent. As the water rolls over you, your chest pounds as you try to imagine this lab that you gave so much of your life to. Once you are dressed you head back downstairs, ready to face your past.
<<else>>\
You get ready as the agent finishes up her coffee. Your chest begins to pound as you try to imagine this lab that you gave so much of your life to. When everyone's ready you step outside, ready to face your past.
<</if>>\
[[TO THE CAR|CAR ROAD]]
The agent taps a button on small remote and the side of the vehicle opens up, revealing a luxurious interior. It's like a small lounge with comfortable counches, a couple touch-screens, and what you believe is a small fridge. She ushers you in and you make for the furthest seat, which seems like it can also turn into a bed. You father lets the agent get in first, then enters as the door closes behind him. The vehicle soundlessly glides out onto the street, locks in its course and pilots itself toward its destination.
On the ride you ask questions about your lab. Agent $agentLast tries to convey some of the details, but admits that much of it is beyond her. Something to do with quantum mechanics, although you're not really sure what that means. When you ask about what happened to you, she tells you that she doesn't know that either. Just that a project you were working on malfunctioned.
From the highway you can see downtown Seattle. It looks intimidating at this distance, although apparently you lived there for many years. Hard to imagine those streets being familiar. But your destination isn't the city. Your lab is deep below the great mountains in the distance, across the bay. PathTech, the company you used to work for, has a particle accelerator under Mount Olympus.
You cross Elliot Bay on a ferry that drops you on Bainsbridge Island. From there you continue, crossing bridges until you arrive at the foot of the mountain. You drive through old, untamed forest as you come up around the tip. It opens up and looking out, you can see the Pacific Ocean, its tide slamming against the rocks. For all the force of the waves however, they are dwarfed by the power that lies beneath the mountain.
[[THE GATE|SCREENING]]
$tech was a kid with a lot of ideas.
"Everybody laughed at me when I proposed my thesis. Everybody except you."
"In undergrad I studied a lot of philosophy -- as you do when you're young and think there's a cure for existential dread. Spoiler: that only makes it worse. But there's this idea that always stuck with me, all through my years at Stanford, and when we started this project. It's this idea that Nietzche called Eternal Recurrence."
<<if $crossed == true>>
|$TECH:|"Listen man, don't l
<<else>>
|$TECH:|"Listen man, don't l<<set $time++>>
[[RESTART|AMNESIA]] <<if $carQs[4] == "lab">>
<<include "ANSWER Lab">>
<<elseif $carQs[4] == "accident">>
<<include "ANSWER Accident">>
<<elseif $carQs[4] == "secret">>
<<include "ANSWER Secret">>
<<else>>\
<</if>>\
You drive along side a set of tracks that lead you to a large gate, built into the side of the mountain. There are guards that come out to check the agent's credentials and have a look inside the vehicle. Then they wave you through as the gates part. You continue to follow the tracks until they diverge from the road. Eventually you come up to an area with a few parking spaces.
You get out of the car and you're led through a metal dectector. Following that you go through a 30 minute contamination screening. Once you pass your tests, you're issued temporary credentials. Then you board some kind of motorized cart that takes you deeper into the facility.
[[FACILITY]] You reach the bottom and step out onto scaffolding. You travel along a curving wall of tubes and wires. The pulsing seems to be coming from there. Dr. $bossLast leads everyone into a control room.
|$BOSS:|"Please, nobody touch anything. $tech and I will prep the device."|
|$TECH:|"Let's spin her up!"|
You are shuffled off to the side as the two scientists get to work, flipping switches and calibrating machines. A large screen at the front of the room comes on, showing a round chamber with a platform in the center.
|$BOSS:|"Ok. Time for a demonstration."|
[[DEMONSTRATION|TRIAL]]The two scientists to the right are both male. One is younger, with shaggy red hair. The older one appears to be in his 50's, with a grey beard, fairly clean-cut. He spots you as you enter and seems to immediately stop paying attention to whatever the younger one is saying. He rushes over to you.
|$BOSS:|"$name! I can't believe -- I'm just glad you're ok."|
|$TECH:|"You made it! You crossed over, man! What's it like?!"<br>//(Then he quietly adds)// "Come on, just between us. Forget about these suits..."|
Those "suits" are walking over now. Two men and two women, all wearing credentials like yours, plus badges from various governmental agencies. Except one of the women. She's dressed in white, less drab than the 3 other government agents. You get a look of familiarity from her, but it's one of the other agents that steps foward.
[[INTRODUCTIONS|INTROS]]
<<silently>>
"Before you go overwhelming Dr. $nameLast with wild speculation, I'd just like to remind everyone that the DoD is in charge of this investigation."|
He seems to look toward $tech when he says that. The younger scientist bites his tongue, but he rolls his eyes in quiet defiance. Agent $agentLast steps forward.
|$AGENT:|"Let's also just remind everyone that Dr. $nameLast is still recovering, so let's go easy on <<them>>, <<they>>'s gone through a lot in the last 8 months."|
|$PARTNER:|""|
<</silently>><<widget "they">>\
<<if $gender == "male">>he\
<<elseif $gender == "female">>she\
<<else>>they<</if>>\
<</widget>>\
<<widget "them">>\
<<if $gender == "male">>him\
<<elseif $gender == "female">>her\
<<else>>them<</if>>\
<</widget>>\
<<widget "their">>\
<<if $gender == "male">>his\
<<elseif $gender == "female">>her\
<<else>>their<</if>>\
<</widget>>\
<<widget "child">>\
<<if $gender == "male">>son\
<<elseif $gender == "female">>daughter\
<<else>>child<</if>>\
<</widget>>\
<<widget "person">>\
<<if $gender == "male">>man\
<<elseif $gender == "female">>woman\
<<else>>person<</if>>\
<</widget>>\<<silently>>
[[TEST END]]
[[MENU]]
[[CAR ROAD]]
[[FAST TRAVEL]]
[[ALBINO]]
<</silently>>
[[FEEDBACK]] <div id="askDiv" align="center">\
<<set $linkMom = "\"Where is my mom now?\"">>\
<<set $linkChild = "\"What was I like as a child?\"">>\
<<set $linkHappened = "\"What happened to me?\"">>\
<<set $linkWho = "\"Who was I before the accident?\"">>\
<<if $askMom == false>>\
<<button $linkMom>>\
<<set $askMom = true>>
<<replace "#askDiv">><<include "DAD: Mom?">><</replace>>
<</button>>
<</if>>\
<<if $askChild == false>>\
<<button $linkChild>>\
<<set $askChild = true>>
<<replace "#askDiv">><<include "DAD: Child?">><</replace>>
<</button>>
<</if>>\
<<if $askHappened == false>>\
<<button $linkHappened>>\
<<set $askHappened = true>>
<<replace "#askDiv">><<include "DAD: Happened?">><</replace>>
<</button>>
<</if>>\
<<if $askWho == false>>\
<<button $linkWho>>\
<<set $askWho = true>>
<<replace "#askDiv">><<include "DAD: Who?">><</replace>>
<</button>>
<</if>>\
<<button "(GET SOME FRESH AIR)" "ROUTINE">>...<</button>>
</div>\
<div id="dialogDiv">
|$PARTNER:|<span id="partnerSpan">...</span>|
|$BOSS:|<span id="bossSpan">...</span>|
|$TECH:|<span id="techSpan">...</span>|
|$ADMIN:|<span id="adminSpan">...</span>|
|$NPCDOD|<span id="dodSpan">...</span>|
|$NPCDOE|<span id="doeSpan">...</span>|
|$NPCOST|<span id="ostSpan">...</span>|
|$AGENT:<br>(F.B.I.)|<span id="agentSpan">...</span>|
|FATHER:|<span id="dadSpan">...</span>|
|YOU:|<span id="youSpan">...</span>|
</div>\
<div style="text-align: center;">
<<button "NEXT">>
<<set $line++>>
<<if $line == 0>>
<<elseif $line == 1>>
<<replace "#dodSpan">>"Well, now that introductions are out of the way, we should get down to business."<</replace>>
<<elseif $line == 2>>
<<replace "#dodSpan">>...<</replace>>
<<replace "#dadSpan">>"And what business is that, exactly?"<</replace>>
<<elseif $line == 3>>
<<replace "#dadSpan">>...<</replace>>
<<replace "#ostSpan">>"Mr. $nameLast, the work of your <<child>> has the potential to change the world of quantum physics. But only <<they>> knows what happened here. We simply wish to..."<</replace>>
<<elseif $line == 4>>
<<replace "#ostSpan">>...<</replace>>
<<replace "#dodSpan">>"Dr. $npcOSTlast, before you go crossing legal lines and find yourself in hot water, let me spare you. Suffice it to say, Mr. $nameLast, that we need to have a conversation with your <<child>>. One that is highly classified and for which you do not have clearence."<</replace>>
<<elseif $line == 5>>
<<replace "#dodSpan">>...<</replace>>
<<replace "#dadSpan">>"Don't give me all that clearence horseshit! I'm tired of the secrecy. I'm <<their>> father, and I want to know what's going on."<</replace>>
<<elseif $line == 6>>
<<replace "#dadSpan">>...<</replace>>
<<replace "#dodSpan">>"I'm sorry, Mr. $nameLast, but that's not gonna happen. You'll have to wait with Mrs. $adminLast."<</replace>>
<<elseif $line == 7>>
<<replace "#dodSpan">>...<</replace>>
<<replace "#adminSpan">>"Don't worry Mr. $nameLast, the restaurant is closed but we've still got tea and biscuits."<</replace>>
<<elseif $line == 8>>
<<replace "#adminSpan">>...<</replace>>
<<replace "#dadSpan">>"You wanna work in the shadows, huh? Put my <<child>> at risk?? Steal <<their>> life from <<them>>?!"<</replace>>
<<elseif $line == 9>>
<<replace "#dadSpan">>...<</replace>>
<<replace "#agentSpan">>"$father..."<</replace>>
<<elseif $line == 10>>
<<replace "#agentSpan">>...<</replace>>
<<replace "#youSpan">>"I'll go --"<</replace>>
<<replace "#dadSpan">>"Don't $father me! You told me I could come."<</replace>>
<<elseif $line == 11>>
<<replace "#youSpan">>...<</replace>>
<<replace "#dadSpan">>...<</replace>>
<<replace "#doeSpan">>"Mr. $nameLast, this isn't up for debate."<</replace>>
<<elseif $line == 12>>
<<replace "#youSpan">>"I'll go --"<</replace>>
<<replace "#doeSpan">>...<</replace>>
<<replace "#agentSpan">>"Listen $father, I know you want to protect $name, but this might be <<their>> best chance of remembering. Of getting those memories back. Isn't that what you want?"<</replace>>
<<elseif $line == 13>>
<<replace "#youSpan">>...<</replace>>
<<replace "#agentSpan">>...<</replace>>
<<replace "#dadSpan">>"I //want// to make sure these people don't lose my <<child>> again!"<</replace>>
<<elseif $line == 14>>
<<replace "#youSpan">>"I said I'LL GO!! I'll do it..."<</replace>>
<<replace "#dadSpan">>...<</replace>>
<<elseif $line == 15>>
<<replace "#youSpan">>"I want to understand..."<</replace>>
<<elseif $line == 16>>
<<goto "SETTLE w DAD">>
<<else>>
<</if>>
<</button>>\
</div>\
\
<<silently>>
LINE = $line
[[SETTLE w DAD]]
<</silently>>\The room quiets down and your father looks at you with concern. You have difficulty returning his gaze. You empathize with the man, but the only thing you care about in this moment is unravelling this mystery.
|YOU:|"I'll be ok."|
|$NPCDOD|"Of course you will. $partner please, lead the way."|
|$NPCDOE|"That is if we're done with all the drama..."|
|$AGENT:|"A little respect, ok? They've been through a lot."|
That seems to silence the short, balding man from the Department of Energy who seems to be trying to suck up to Mr. $npcDODlast. Then you head off down the hall, looking back as $admin takes your father off toward another room; presumably one with tea and biscuits.
[[HALLWAYS]] |$NPCDOD|"Dr. $nameLast. I'm $npcDOD $npcDODlast from the United States Department of Defense. This is $npcDOE $npcDOElast from the Department of Energy. And Dr. $npcOST $npcOSTlast from the Office of Science and Technology."|
|YOU:|"Uh-huh."|
|FATHER:|"Pleasure to meet you. I'm $father $nameLast, Dr. $nameLast's father."|
|$PARTNER:|"I'm $partner $partnerLast, the Chief Technical Officer here at PathTech. I've interfaced with your <<child>> numerous times. We're all glad that you're back."|
<<if $direction == "left">>\
The woman in white. She seems to be fumbling a bit; awkward about the whole amnesia thing. The two scientists walk over.
<<elseif $direction == "right">>\
The woman in white. She seems to be fumbling a bit; awkward about the whole amnesia thing.<<if $time == 1>> <span id="insSpan">I feel like I should reassure her.</span><</if>>
<<else>>
ERROR
<</if>>
|$PARTNER:|"And of course, your colleague Dr. $bossLast. And $tech $techLast, your lab technician."|
|$TECH:|"Soon to be Dr. $techLast."|
You take a moment to process, trying to internalize all these names.
[[NAMES|MEET w DAD]]Then he draws a line perpendicular to the one connecting the 2 points.
|$BOSS:|"But if we add a 2nd dimension, now suddenly we have width. X and Y. Length and width. Like Edwin Abbott's 'Flatland', or an old top-down video game where you can walk forward and back, left or right. Now the people can go around each other on this 2-dimensional plane."|
[[NOD|3rd DIMENSION]]
<<silently>>
But the probabilistic nature of quantum mechanics, as per Everett's interpretation, suggests that
<</silently>>His words settle the matter, and the boardroom clears. Ms. $partnerLast leads the way down the hall toward a large cargo elevator. Everyone is given hardhats and safety glasses. You all load into the elevator. It starts up and you begin to sink deeper into the heart of Olympus.
The elevator descends for a long time. You feel a building pressure on your ear drums. $tech offers you a stick of gum, telling you that it helps. He's right. As your ears pop you can hear a thrumming that pulses through the stone around you.
[[THE ELEVATOR STOPS|BELOW]] On the monitor you see $tech entering the round chamber. He steps up to the platform and sets down bowl with a small white frog in it.
|$BOSS:|"This is $frog. He is a common frog: //rana temporaria//. Although this one is not so common. He has a genetic mutation which makes him white. He is an albino, which makes him very unique. Amoung amphibians he is maybe 1 in 2000."|
As he speaks, he splits his attention between his audience and monitoring various dials as he types commands into the computer. $tech has left the chamber and sealed the door. A moment later he returns to the control room.
|$BOSS:|"In our timeline he is white, but in most other timelines he is not. By folding through the 5th dimension, we can access another $frog from one of those other timelines."|
The machine gets louder and louder, until there is a crackle and a bright light from the screen.
[[RESULTS]]
<<silently>>
The device moves a person from one timeline into another. To show this they could put a frog into it, but the frog will be teleported away, sucked into a parallel timeline, slightly different from this one. So frog disappears.
<</silently>>
[[HALLWAYS]]
[[TOUR]]
[[ENDING]] When the light fades, the albino is gone, replaced by a green and brown frog. It seems a fairly unremarkable trick, aside from Dr. $bossLast's explanation.
|$BOSS:|"And here we have $frog version 2. Once $tech has sequenced its DNA, we'll see that it shares almost all of its genetic information with the first frog. All except for some minor variation. Enough to make it green."|
|$NPCDOD|"So you turned a white frog green?"|
|$NPCDOE|"How can we be sure it's the same frog?"|
|$BOSS:|"It's not the same frog. This frog is a variant; a version of the first frog who was born without albino gene expression."|
|$NPCOST|"So are you saying it switched places with the other frog?"|
|$BOSS:|"Maybe. We don't know if this frog is //from// anywhere, or if existed only as a probability."|
[[HUH...|ALBINO]] |YOU:|"And if it didn't exist?"|
The room quiets down again as everyone's eyes turn to you.
|$BOSS:|"That is certainly one possibility. But it's hard to ask a frog where he was an hour ago."|
|YOU:|"You can ask me."|
Dr. $bossLast pauses nervously. It's a question he's not sure he wants answered.
|$NPCOST:|"Dr. $nameLast, did you exist 9 months ago?"|
<div id="replyDiv" style="text-align: center">\
<<button "I DID" "I DID">>...<</button>>\
<<button "I DIDN'T" "I DIDN'T">>...<</button>>
</div>
<<silently>>
|$BOSS:|"Then it came into being before our eyes. It sprung fully-formed from the ether of probability space.
And if that IS the case, then it would require some revisions to our idea of the Many Worlds interpretation of quantum mechanics. If we see the electron here, then there is no alternate version of events, in which we see it there."
<</silently>>|YOU:|"Of course I did. I didn't just materialize out of thin air. I'm a person, I had a life. Even if I can't remember it."|
|$BOSS:|"Maybe you did. Maybe we were colleagues, and maybe you were pulled from a timeline very much like this one. But the <<person>> I knew disappeared when <<they>> stepped onto that platform. And I don't know how to bring <<them>> back."|
[[WHAT HAPPENS NEXT?|ENDING]]Dr. $bossLast slowly nods his acknowledgement. This seems to confirm his worries.
|$BOSS:|"It would explain why you remember nothing, and yet you show no signs of retrograde amnesia."|
|$NPCDOD|"Are you saying this //isn't// Dr. $nameLast?"|
|$BOSS:|"Not the one I knew anyway..."|
In spite of himself, a tear escapes the man. He quickly brushes it aside and busies himself with the control panel.
[[WHAT HAPPENS NEXT?|ENDING]]!!WHAT HAPPENS NEXT?
If you made it this far, thanks!
The story isn't over yet. From here, $tech would pull you aside and have a philosophical chat in which you would be presented with the option to step back into the machine. It would move you to an alternate timeline, which would allow you to replay your choices, this time with some additional insights that would appear in the text.
If you choose not to, there would be some narration to describe how the rest of your life goes. Then when you die, you re-start anyway, but you find you can't make different choices. This is explained through $tech as Eternal Recurrence, a deterministic philosophy adopted by Nietzche in which we are fated to play out the same choices in life again and again. The journey then becomes more about trying to break out of the same series of choices, again culminating with the option to step into the machine.
So as you can see it's kinda complicated, so it'll take a bit to sort out. Going to need to figure out what choices you have in the first pass. Also might consider summarizing to condense subsequent iterations. The first iteration could use tightening up too. But overall hopefully you see some potential.
Thanks for playing! Feel free to reach out on twitter or by e-mail.
''NATE ROBERTSON''
<a href="http://www.twitter.com/n8_bomb">@n8_bomb</a>
<a href="mailto:nate@squareship.com">nate@squareship.com</a><<if $carQs[1] == "lab">>
<<include "ANSWER Lab">>
<<elseif $carQs[1] == "accident">>
<<include "ANSWER Accident">>
<<elseif $carQs[1] == "secret">>
<<include "ANSWER Secret">>
<<elseif $carQs[1] == "silent">>
You remain silent, prefering to quietly contemplate the possibilities ahead.
<<else>>
NOTHING
<</if>>\
From the highway you can see downtown Seattle. It looks intimidating at this distance, although apparently you lived there for many years. Hard to imagine those streets being familiar. But your destination isn't the city. Your lab is deep below the great mountains in the distance, across the bay. PathTech, the company you used to work for, has a particle accelerator under Mount Olympus.
<<include "Car Questions">>
<<if $carQs[2] == "lab">>
<<include "ANSWER Lab">>
<<elseif $carQs[2] == "accident">>
<<include "ANSWER Accident">>
<<elseif $carQs[2] == "secret">>
<<include "ANSWER Secret">>
<<elseif $carQs[2] == "silent">>
You remain silent, prefering to quietly contemplate the possibilities ahead.
<<else>>
NOTHING
<</if>>\
You reach the ferry docks, and load your vehicle onto the boat that takes you across Elliott Bay. After you make land on Bainsbridge Island, there's still another hour or so drive. So you take the opportunity to stretch your legs.
<<include "Car Questions">><<set $direction = "left">>\
You head toward the people in the suits. Perhaps it's that you sense a chain of command here. Better to appease the ones in charge. They stiffen up as you approach. Two men and two women, all wearing credentials like yours, plus badges from various govermental agencies. Except one of the women. She's dressed in white, less drab than the 3 other government agents. You get a look of familiarity from her, but it's one of the other agents that steps foward.
[[INTROS]] <<set $direction = "right">>\
There are 2 scientists. One younger, with too much shaggy red hair. And one in his 50's, with a grey beard, fairly clean-cut. He spots you as you enter and seems to immediately stop paying attention to whatever the younger redhead is saying. He rushes over to you.
|$BOSS:|"$name! I can't believe -- I'm just glad you're ok."|
|$TECH:|"You did it, baby! You crossed over! What's it like?!"<br>//(Then he quietly adds)// <br>"Come on, just between us. Forget about these suits..."|
Those "suits" are walking over now. Two men and two women, all wearing credentials like yours, plus badges from various governmental agencies. Except one of the women. She's dressed in white, less drab than the 3 other government agents. You get a look of familiarity from her, but it's one of the other agents that steps foward.
[[INTROS]]
|$BOSS:|"Choice. Coincidence. Randomness. All of these things exist in our world at a fundamental level. The nature of the universe is probabilistic according to the equations of quantum mechanics. An electron might be here, or it might be there. When we look, we see that it's 'here'. But that's because we're in the timeline where we saw it 'here'. There was an equal chance that the electron could have been 'there', and in another timeline we observed the electron there."|
|$NPCDOD|"With due respect Dr. $bossLast, can you please tell us how any of this relates to the $codename project?"|
|$BOSS:|"You see, all of these possibilities exist Mr. $npcDODlast. As we continue along our 4-dimensional line, new timelines are constantly being created, branching out from our own. The device that Dr. $nameLast was working on was designed to move between branches."|
[[STARE BLANKLY|IMPLICATIONS]] |$NPCDOE|"Doctor, are you suggesting some kind of time travel?"|
|$BOSS:|"Not time travel, Mr. $npcDOElast. That would involve moving along our 4 dimensional timeline here. Instead the device allows one to move through this 5th dimensional probability space."|
|$NPCOST|"'Allows?' Are you saying this device works?"|
Dr. $bossLast puts down the marker and nervously checks his hands for ink, avoiding eye-contact.
|$BOSS:|"...Perhaps."|
|$NPCOST|"Well can we see it?"|
|$PARTNER:|"We can set up a time to do a full tour of the facility --"|
|$NPCDOD|"We do it now. I didn't fly all the way out here for some story about dots and lines. I wanna see this thing."|
[[TOUR]] <div id="askDiv">
<<if $carQs.includes("lab")>>\
<<else>>\
<<button "What did I do at this lab?">>
<<set $carQs.push("lab")>>
<<if $carQs.length == 2>>
<<goto "CAR HIGHWAY">>
<<elseif $carQs.length == 3>>
<<goto "CAR FERRY">>
<<elseif $carQs.length == 4>>
<<goto "TRACKS">>
<<else>>
<<goto "SCREENING">>
<</if>>
<</button>>
<</if>>\
<<if $carQs.includes("accident")>>\
<<else>>\
<<button "What can you tell me about my accident?">>
<<set $carQs.push("accident")>>
<<if $carQs.length == 2>>
<<goto "CAR HIGHWAY">>
<<elseif $carQs.length == 3>>
<<goto "CAR FERRY">>
<<elseif $carQs.length == 4>>
<<goto "TRACKS">>
<<else>>
<<goto "SCREENING">>
<</if>>
<</button>>
<</if>>\
<<if $carQs.includes("secret")>>\
<<else>>\
<<button "Why is everyone so secretive?">>
<<set $carQs.push("secret")>>
<<if $carQs.length == 2>>
<<goto "CAR HIGHWAY">>
<<elseif $carQs.length == 3>>
<<goto "CAR FERRY">>
<<elseif $carQs.length == 4>>
<<goto "TRACKS">>
<<else>>
<<goto "SCREENING">>
<</if>>
<</button>>
<</if>>\
<<button "(REMAIN SILENT)">>
<<set $carQs.push("silent")>>
<<if $carQs.length == 2>>
<<goto "CAR HIGHWAY">>
<<elseif $carQs.length == 3>>
<<goto "CAR FERRY">>
<<elseif $carQs.length == 4>>
<<goto "TRACKS">>
<<else>>
<<goto "SCREENING">>
<</if>>
<</button>>
</div>\|YOU:|"What did I do at this lab?"|
|$AGENT:|"If I'm completely honest, I do not understand a lot of the details. It's something with quantum physics. They briefed us on it, but a lot of it was over my head."||YOU:|"What can you tell me about my accident?"|
|$AGENT:|"I don't have a lot of details for you, unfortunately. I just know that some kinda quantum experiment at the lab malfunctioned. You were missing for a time, and then they found you off-site."||YOU:|"Why is everyone so secretive?"|
|$AGENT:|"PathTech has been running tests to see what exactly happened. Until they could figure it out, they didn't want to misinform the public."|<<if $carQs[3] == "lab">>
<<include "ANSWER Lab">>
<<elseif $carQs[3] == "accident">>
<<include "ANSWER Accident">>
<<elseif $carQs[3] == "secret">>
<<include "ANSWER Secret">>
<<elseif $carQs[3] == "silent">>
You remain silent, prefering to quietly contemplate the possibilities ahead.
<<else>>
NOTHING
<</if>>\
When you arrive at the ferry docks, everyone gets into their vehicles. They pour out from the ferry boat like a swarm, filing into lines that branch and splinter toward their destinations. You cross bridges through the islands, toward Olympic National Forest, at the foot of Mount Olympus.
<<include "Car Questions">>Ms. $partnerLast holds the door open as everyone enters the boardroom, taking their seats around a large table. Dr. $bossLast steps up to the front where $tech helps him set up his presentation. Ms. $partnerLast joins him, quieting the room down.
|$PARTNER:|"Alright then. Thanks for coming, everyone. It's taken some time to analyze the data and understand what happened. Dr. $bossLast has been working on this tirelessly, with the help of Mr. $techLast who was the lab technician at the time of the incident. So, Dr. $bossLast, if you would like to present your findings."|
The older man steps forward, checking his watch once before he begins.
[[HE BEGINS]] |$BOSS:|"Right. So, I am going to do my best to make sense of Dr. $nameLast's work. I was present throughout much of the development of this project, codenamed: $codename. The project was an attempt to explore the dimensionality of Hilbert space..."|
|$AGENT:|"Yes, and for those of us in the room who don't understand what you just said."|
There is a slight chuckle from everyone at the table, and even $bossLast himself.
|$BOSS:|"Of course. Let me explain it like this. Let's start with a point."|
[[POINT|1st DIMENSION]]Double-click this passage to edit it.He turns around again, gesturing to the room around him.
|$BOSS:|"But of course our world is 3-dimensional. We are constrained by gravity, but we //can// move up and down. We evolved in the trees, and we got very good at thinking about the world in 3 dimensions."|
He draws an isometric view of a 3D grid, showing a 3rd Z-axis.
|$BOSS:|"And then time passed, and we realized //'Time! That is another dimension.'// And people say: //'Well what does it look like?'//."|
[[THINK|4th DIMENSION]]He draws a point on the board. And then another.
|$BOSS:|"Well, if we think of the entire universe at one moment in time as a single point, and then the universe 5 minutes from now as another point, we can draw a line between those two points and call that //'Time'//. Time is linear. It moves inexorably forward, from one point to another, obeying the laws of causality."|
After drawing the connecting line he caps the marker, turning to face everyone.
[[NOD|Point Line Plane]]|$BOSS:|"0 dimensions: point. 1 dimension: line. 2 dimensions: plane."|
He points at each of his drawings in turn.
|$BOSS:|"3 dimensions: point. 4 dimensions: line..."|
Then he uncaps the marker again, as he writes.
|$BOSS:|"...5 dimensions?"|
|$NPCOST|"Plane?"|
|$BOSS:|"Precisely. Just as a 2-dimensional plane branches off of a 1-dimensional line, a 5-dimensional plane branches off of 4-dimensional spacetime. See everything that has happened since the beginning of time exists along this 4-dimensional line. But what about everything that could happen, but doesn't?"|
There is some confusion in the audience.
[[THINK|5th DIMENSION]] |$NPCOST|"So what happened to the albino frog?"|
|$BOSS:|"Well, if the 2nd frog did exist on another timeline, then it is possible that our albino friend ended up there."|
|YOU:|"And what if it didn't exist?"|
Dr. $bossLast nods, looking down in self-reflection. You can tell he's considered this question thoroughly. Whether he doesn't know, or he has a suspicion that he is reluctant to share, you're not sure.
|$BOSS:|"That is the question, isn't it? Not so easy to ask a frog where he was 10 minutes ago."|
|YOU:|"...You could ask me."|
Dr. $bossLast looks up at you. You feel like this is the first time he's actually looked you in the eye.
|$BOSS:|"Did you exist 9 months ago?"|
<div id="replyDiv" style="text-align: center">\
<<button "I DID" "EXIST Y">>...<</button>>\
<<button "I DIDN'T" "EXIST N">>...<</button>>
</div>The tone of the room changes suddenly and dramatically. People start to talk about the implications, but as they do $npcDOD $npcDODlast shuts them down.
|$NPCDOD|"Hold on, hold on. This doesn't //prove// anything."|
|$NPCOST|"But if Dr. $nameLast switched places with this variant, then we have to find out what happened to <<them>> --"|
Again, more uproar from the suits. Dr. $npcOSTlast looks to Dr. $bossLast for validation, but he busies himself looking at a screen, avoiding the confrontation. $npcDOD $npcDODlast once again shouts over the noise.
|$NPCDOD|"Hold on a second! Everyone stop for just one second!"|
|$NPCDOE|"Listen up people!"|
[[LISTEN UP]]The tone of the room changes suddenly and dramatically. People start to talk about the implications, but as they do $npcDOD $npcDODlast shuts them down.
|$NPCDOD|"Hold on, hold on. This doesn't //prove// anything."|
|$NPCOST|"But if Dr. $nameLast was created by this device, then we have to consider the very real possibility that it also destroyed the previous Dr. $nameLast --"|
Again, more uproar from the suits. Dr. $npcOSTlast looks to Dr. $bossLast for validation, but he busies himself looking at a screen, avoiding the confrontation. $npcDOD $npcDODlast once again shouts over the noise.
|$NPCDOD|"Hold on a second! Everyone stop for just one second!"|
|$NPCDOE|"Listen up people!"|
[[LISTEN UP]]The room quiets down as all eyes seem to fall on you.
|$NPCDOD|"Thank you, $npcDOE. Now, Dr. $nameLast, I appreciate significance of this situation, and how it affects you. But I think my colleagues and I need a moment to discuss with Dr. $bossLast. If you wouldn't mind stepping into the hallway for a moment."|
Everyone waits and watches you; everyone except Dr. $bossLast. They wait for you to exit the room.
[[STEP OUT]]You step into the hallway and the thick industrial door closes behind you. Unfortunately you can't hear anything on the other side once it closes. So you're left alone with your thoughts. After a few moments you hear another door open down the hall. $tech $techLast steps out from one of the other rooms. He walks over.
|$TECH:|"Kicked out of the cool kids club, huh?"|
|YOU:|"I guess so. They needed to talk about me in private."|
|$TECH:|"Tired of being treated like a lab experiment yet?"|
|YOU:|"It's better than it was in the hospital. At least I'm starting to understanding what happened."|
|$TECH:|"Listen man, I know this sucks. It's like you don't even know who you are. But trust me, as someone who spent a lotta time with you, you're a great <<person>>. I mean, you're a genius, for one thing. And maybe it doesn't feel like that right now since you can't remember all the genius things you've done. But even if you're only a variant of Dr. $name $nameLast, you still have <<their>> mind; a mind that will stop at nothing to discover the fundamental truths of the universe. You stepped into a goddamn portal to the abyss, man! You're a legend!"|
[[MAYBE]]|YOU:|"Maybe..."|
|$TECH:|"That machine in there, you made that! You opened up a rift in the spacetime continuum, and changed the rules of causality! You broke the linearity of time! Dude, that is some fuckin' wizard shit!"|
It all sounds very impressive, and yet you still don't know what that means for you.
|$TECH:|"You know, I did my first undergrad in philosophy. I was a moody kid, I did my thesis on Nietzsche. He introduced me to the idea of Eternal Recurrence. It's this deterministic theory that the universe repeats, over and over again; the same way every time. So when we die, the universe keeps going, until it gets to the end. Then it starts over, evolving the same way, until it gets to the point when you were born. Then BAM! you're alive again. So from your perspective, you die, and then you're born again. You relive your life, making the same decisions all over again. And so it goes."|
You try to follow the logic. You're not sure if you believe in predeterminism or not. You have free will, don't you?
|YOU:|"So you're saying I'm doomed to repeat the same choices for all eternity?"|
|$TECH:|"Maybe. But maybe there's another option..."|
[[OH...?|CHOICE]]|$TECH:|"If that machine in there works, it means we can break that cycle. Things don't have to unfold the same way. We can move to another branch in the tree of probabilities; one that evolved differently."|
|YOU:|"I went in there once and that hasn't worked out so great for me so far."|
|$TECH:|"In THIS timeline. But what if you went through again? I can help you if you want."|
It takes a second before you catch his offer.
----
<<include "Choice Questions">>
<<silently>>
<span id="replyDiv"></span>\
|$TECH:|"I used to think free will was an illusion, and that the universe was deterministic. But when you chose to step into that portal you changed the flow of space and time in ways we might never realize. You proved the Many Worlds of quantum mechanics are real. You broke through."|
|YOU:|"How do you know? "|
You were born in February, right? What if you were born in April? How much different would your life be?
<</silently>>\<div id="askDiv">\
<<if $askHelp == false>>\
<<button "Help me go through the machine?">>\
<<set $askHelp = true>>
<<replace "#askDiv">><<include "Choice Help">><</replace>>
<</button>>
<</if>>\
<<if $askTrouble == false>>\
<<button "Won't you get in trouble for that?">>
<<set $askDad = false>>
<<set $askTrouble = true>>
<<replace "#askDiv">><<include "Choice Trouble">><</replace>>
<</button>>
<</if>>\
<<if $askDad == false>>\
<<button "What about my dad?">>
<<set $askDad = true>>
<<replace "#askDiv">><<include "Choice Dad">><</replace>>
<</button>>
<</if>>\
<<button "I want to go through." "GO THRU">>
<</button>>
<<button "I can't do it." "DON'T GO">>
<</button>>
</div>\
<<silently>>
<</silently>>!!!YOU GO THROUGH
(What happens next remains to be written)
$tech helps you sneak into the machine room and he powers up the device, ready to send you hurling through 5-dimensional probability space. When you step through you are instantly brought back to the beginning of the story. You proceed through the story as before, but now, peppered throughout the text, there is green text that reveals additional insights. <span id="insSpan">I hadn't noticed THAT before...</span>
As you play through and make your choices, you are made aware of choices that deviate from your original ones. If you change things enough, you may trigger deviations in how events unfold (which your green insights would draw attention to). It may also unlock additional dialog options. If you were to play through and do everything the exact same, I believe I would have something call that out later in the game. Again you would arrive at the decision to enter the machine or not.
----
<div id="askDiv">
<<button "I want to go through." "GO THRU">>
<</button>>
<<button "I can't do it." "DON'T GO">>
<</button>>
</div>
----
Now, I would love to get your feedback.
[[FEEDBACK]]
!!!YOU DON'T GO
(What happens next remains to be written)
You decide you've had enough dimensional travel for one life time. You turn down the opportunity. Then there are a few passages that narrate the rest of your life. Your memory never returns. You learn to get by, but there is always something that nags at you; a fixation on how differently your life could've gone.
Then you die. Upon dying you are returned to the beginning of the story. You make your way through the passages, only now there is a green text that appears at times, revealing insights that you hadn't noticed before. While these new insights appear, the story remains the same. If you try to choose different options, or even ask questions out of order, you are met with a green text that says:
<span id="insSpan">But I didn't say that...</span>
You're forced to repeat the same choices again, until you are confronted with the choice of entering the machine again. I want to include a way for you to break the cycle there, and choose to do things differently.
----
<div id="askDiv">
<<button "I want to go through." "GO THRU">>
<</button>>
<<button "I can't do it." "DON'T GO">>
<</button>>
</div>
----
Now, here's the feedback I'm looking for.
[[FEEDBACK]]
Double-click this passage to edit it.Double-click this passage to edit it.<<include "Choice Questions">>
|YOU:|"Won't you get in trouble for that?"|
|$TECH:|"The monitors are off, they won't even notice. If anyone asks I never saw you."|<<include "Choice Questions">>
|YOU:|"Help me go through the machine?"|
|$TECH:|"I can sneak you into the room and fire up the machine from my monitoring station."|<<include "Choice Questions">>
|YOU:|"What about my dad? He'll never see me again."|
|$TECH:|"Maybe. Or maybe this reality collapses as soon as you step through that machine. I mean either way it's the same for you, right?"|!!FEEDBACK
So ultimately my goal is to have the person go through the game twice. I think any more than that would get pretty boring. Even the 2nd time through might be boring, except that you're mostly just scanning for the green text. There are a couple key choices that I want to draw on. The main ones being:
* Whether or not you believe you existed before the game starts.
* Whether or not you choose to go through the machine.
The first one will colour the tone of the 2nd playthrough. And the second one will determine some mechanical rules as to whether or not you can deviate from your choices in the 1st playthrough.
Now the way I see it, there are a few possible paths here:
# Don't go through the machine > Be forced to repeat your choices until the end.
** IF you existed before: You catch glimpses of a previous life.
** IF you didn't exist: You are bombarded with existential questions.
# Go through the machine > Make different decisions and dramatically alter how your life turns out.
** IF you existed before: You find yourself thinking about what happened to the timeline you left behind.
** IF you didn't exist: You revel in shaping your own destiny. At the end, you are allowed to write out how the rest of your life plays you.
# Go through the machine > Don't alter anything. You come to realization that Nietzche was right, and you can't change fate.
----
So baring in mind that I've yet to write the 2nd playthrough, I've got a few questions:
# Do you find any sections of the game drag, or lose momentum?
# Is the quantum mumbo-jumbo too dense / hard to follow / not believable?
# Any questions about incongruities in the quantum rationale?
# Do you feel any attachment to your character?
# Do you find the cast of characters too much to keep track of?
# By the end, do you feel excitement or dread at the thought of playing through a 2nd time?
# Are there any choices that you would omit?
# Would you like to see more choices?
BONUS:
* I was considering giving you the option to bring your dad or not. This would create a lot of work making 2 versions of most of the following passages. Does this option seem worth it?
* On the 2nd playthrough you would realize that your dad has a crush on $agent $agentLast. Did that come through at all in the first playthrough? I'm thinking of fleshing that out for a bit of pay-off in the end game.
* How crazy would it be if you could access a timeline in which your mother never left and they were still together?
Any other questions or comments? I'd love to hear 'em!
E-MAIL:
<a href="mailto:nate@squareship.com" target=”_blank”>nate@squareship.com</a>
!!THANKS SO MUCH!!''NOTE:'' In a couple instances, going back will cause minor hiccups in the game.
''E-MAIL:''
<a href="mailto:nate@squareship.com" target=”_blank”>nate@squareship.com</a>
''TWITTER:''
<a href="https://twitter.com/n8bomb" target=”_blank”>@n8bomb</a>