Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
Hello and good morning, Lilac. It's time to get up!
<<link "''//Good morning to you too.''//" "Good morning">><<audio "moon" loop play>><</link>>
<<link "''//No, I think I'll sleep in.''//" "Sleep in">><<audio "moon" loop play>><</link>><<if $previous is "Dreams">>Sorry, I didn't actually make breakfast. You know you don't need to eat.
Anyway, t<<else>>T<<endif>>oday is a special day! That's why you haaave to get up. You know I would never wake you up early without a reason.
<<linkreplace "''Oh, special? How so?''">>You can see the Earth if you jump from that high hill past the meadow.
<<linkreplace "''That's nice. Doesn't happen much.''">>So you'll go out and see?
''//[[Sure thing. I'm up now, see?|At Base]]//''
//''[[On second thought...|Go]]''//<</linkreplace>><</linkreplace>>Aren't you ready to start the day?
//''[[Hmm, you're right.|Good morning]]''//
//''[[No, not yet. I'm not done dreaming.|Dreams]]''//<<set $previous to "null">>
<<set $jumped to false>>
<<set $visitedmeadow to false>>
<<set $visitedwaternet to false>>
<<cacheaudio "moon" "media/moon.mp3">>
<<cacheaudio "dream1" "media/lilacdream.mp3">>
<<cacheaudio "earth" "media/earth.mp3">>
<<cacheaudio "dream2" "media/mozdream.mp3">>
<<cacheaudio "dream3" "media/togetherdream.mp3">><<waitforaudio>><<set $previous to "Dreams">>\
Dreaming of [[her|Moz]] again? Come on, I made you breakfast.
<<linkreplace "''Oh, what are we having?''">>What are You having, you mean.
<<linkreplace "''Then what am __I__ having?''">>Get out of bed and I'll tell you, yeah?
//''[[Okayyy.|Good morning]]''//<</linkreplace>><</linkreplace>><<if $previous is "Dreams">>//What was it she said to me? I can't remember...//
Helloooo?
//''[[Oh, sorry.|Dreams]]''//<<else>>\
//Cosmos. The light of my life, my one true love. For as long as I live, my heart will live with her.
I sure hope she's doing all right!
<<linkreplace "...">>I wish she were here.
<<link "''But she's not. Nothing I can do about that now!!!''" $previous>><</link>><</linkreplace>>//
<<endif>>We're outside the [[base]] now. Where should we go from here?
//''[[We should check on the waternet.|at waternet]]''//
//''[[Let's take a trip to the meadow.|at meadow]]''//
//''[[Well, if we can see the Earth from the hill...|hill]]''//
//''[[I want to go to the forest.|at forest]]''//
<<include "Star">>Pleeeease just get up already.
//''[[Yes, ma'am...|At Base]]''////Steel rising from the dusty soil in dome, a metal pimple on the Moon. No matter how I decorate it, with tinkerbells and paper windmills and yellow paint all around, it'll never be the perfect cottage of my [[dreams]].
I wish I could get some stucco for the walls and shingles for the roof. I wish I could turn the big antenna into a rooster like a weather vane. I wish I could build a porch by the door and open my windows to let the fresh air in.
I have so many ideas!//
What are you thinking about?
//''[[Oh, nothing.|At Base]]''//
<<silently>><<include "Star">><</silently>><<set $visitedwaternet to true>>How's the [[waternet]]?
<<linkreplace "I don't know...maybe a little saggy?">>\
<<remove "#back">>
\Oh, that's no good. You should refill it.
<<linkreplace "''But with what?''">>Water, but we don't have any...
//''[[Hmm... Let's head back then. Nothing we can do now!|At Base]]''//<</linkreplace>><</linkreplace>>
<span id="back">''//[[Looks fine to me. Let's head back.|At Base]]//''</span>
<<include "Star">><<set $visitedmeadow to true>>Finally at the [[meadow]]! Isn't it nice?
//''[[Yeah, I want to see the flower patch.|at flower patch]]''//
//''[[Actually, let's go back to the base.|At Base]]''//
<<include "Star">><<if $visitedwaternet and $visitedmeadow>><<if $jumped is false>>Look at you, climbing that big hill without a sweat!
You have to jump pretty high to see the Earth, but I think you can do it.
//''[[Then let's go!|Jump]]''//
//''[[Actually, let's go back to the base.|At Base]]''//<<else>>\
Well, I hope you got a good look. We probably won't be able to see the Earth again for a week or so.
//''[[All that jumping made me tired. I want to find a place to take a nap.|At Base]]''//
<<endif>><<else>>Sorry you walked all the way out here, but I don't think we can see anything yet. Maybe we should do something else to pass the time.
//''[[Now I have to walk all the way back...|At Base]]''//<<endif>>
<<include "Star">>What are we doing in the [[forest]]?
//''[[I don't know. Let's go back to the base.|At Base]]''//
<<if $jumped is true>>''//[[I'm a little tired. I think I'll take a nap.|tree]]//''<<endif>>
<<include "Star">>//If <<link "Moz">><<set $previous to "dreams">> were with me, I don't think I would mind living in a pimple.
She would think it was funny. She would laugh and make me take a picture outside our pimple house, her arms snaked around my waist and her head over my shoulder.
I would lean my head on hers, and then she would ruin the moment with a huge raspberry right to my neck, agh!!//
//''[[Say cheese!|base]]''////One time I showed her the waternet I was making, practice for when I got here. I think I said something like, "I wish I could put you inside it," and she got kinda mad.
"Isn't the whole point of a waternet that eventually all the water evaporates, and your crap just flies off into space?"
"Yeah, it's supposed to be symbolic! You put in some tchotchkes that remind you of home, and eventually they return to the Earth. I could just take you out, though. Then you'd be on the moon for free."
"So I'll be drowned to death, but in space. Uh huh."
"I can figure something out, <<link "Mozzie" "Moz">><<set $previous to "waternet">><</link>>. Also, there's still gravity on the moon, so -"
//
What are you staring at?
//''[[Just making sure it's all right.|at waternet]]''//
<<silently>><<include "Star">><</silently>><<script>>
let elems = ["starcanvas", "name", "constname", "submitname"];
for(let i = 0; i < elems.length; i++) {
let elem = elems[i];
console.log(elem);
let old = document.getElementById(elem);
if(old != null) old.parentNode.removeChild(old);
}<</script>>\
<<linkreplace "''I'm just looking up at the stars.''">> Oh, what do you see?
\<<script>>
let oldcanvas = document.getElementById("starcanvas");
if(oldcanvas != null) oldcanvas.parentNode.removeChild(oldcanvas);
let c = document.createElement("canvas");
c.id = "starcanvas";
c.width = 480;
c.height = 360;
document.body.appendChild(c);
c.style.margin = "auto";
c.style.display = "block";
let ctx = c.getContext("2d");
ctx.fillStyle = "white";
let count = 5 + Math.floor(Math.random() * 8);
let xpos = [];
let ypos = [];
for(let i = 0; i < count; i++) {
let size = Math.floor(Math.random() * 3) + 2;
let x = Math.floor((c.width * 7/8) * Math.random());
if(x < c.width/8) x+= c.width/8;
let y = Math.floor((c.height * 7/8) * Math.random());
if(y < c.height/8) y+= c.height/8;
ctx.beginPath();
ctx.arc(x, y, size, 0, Math.PI * 2, true);
ctx.fill();
xpos.push(x);
ypos.push(y);
}
let combinations = [];
for(let i = 0; i < count; i++) {
let x = xpos[i];
let y = ypos[i];
let conns = Math.min(Math.floor(8/xpos.length * Math.random()) + 1, 3);
for(let j = 0; j < conns; j++){
let smallestdist = 10000;
let smallestind = 0;
for(let k = 0; k < count; k++) {
if(k == i) continue;
if(combinations.includes("" + k + " and " + i)) continue;
let d = Math.abs(xpos[k] - x) + Math.abs(ypos[k]-y);
if(d < smallestdist) {
smallestdist = d;
smallestind = k;
}
}
let last = smallestind;
console.log(last + " " + i);
console.log("drawing");
ctx.beginPath();
ctx.setLineDash([8, 12]);
ctx.moveTo(xpos[last], ypos[last]);
ctx.lineTo(x, y);
ctx.lineWidth = 0.4;
ctx.strokeStyle = "white";
ctx.stroke();
combinations.push("" + i + " and " + last);
}
console.log(combinations);
}
let input = document.createElement("input");
input.type = "text";
input.id = "constname";
input.width = 240;
document.body.appendChild(input);
input.style.margin = "auto";
input.style.display = "block";
input.style.border = "2px dotted #FFFFFF";
input.style.color = "white";
input.style.backgroundColor = "transparent";
let name = document.createElement("button");
name.id = "submitname";
name.innerHTML = "name the constellation";
name.width = 80;
document.body.appendChild(name);
name.style.margin = "auto";
name.style.display = "block";
name.style.border = "2px dotted #FFFFFF";
name.style.color = "white";
name.style.fontSize = "18px";
name.style.marginTop = "20px";
name.style.backgroundColor = "transparent";
name.onclick = function(ev) {
let newname = input.value;
input = document.getElementById("constname");
if(input != null) input.parentNode.removeChild(input);
let p = document.createElement("p");
p.id = "name";
let node = document.createTextNode("The constellation's name is \'" + newname + "\', huh? I love it!");
p.appendChild(node);
document.body.appendChild(p);
p.style.textAlign = "center";
p.style.display = "block";
this.parentNode.removeChild(this);
}
<</script>><</linkreplace>>Do you ever wish you could smell the [[flowers]]?
<<linkreplace "''Sometimes...''">>What do you think they should smell like?
<span id="choice1"><<linkreplace "''Themselves?''">><<remove "#choice4">><<remove "#choice2">><<remove "#choice3">>That makes sense.<</linkreplace>></span>
<span id="choice2"><<linkreplace "''Vanilla.''">><<remove "#choice1">><<remove "#choice4">><<remove "#choice3">>Interesting!<</linkreplace>></span>
<span id="choice3"><<linkreplace "''Strawberry.''">><<remove "#choice1">><<remove "#choice2">><<remove "#choice4">>Interesting!<</linkreplace>></span>
<span id="choice4"><<linkreplace "''Warm sandalwood.''">><<remove "#choice1">><<remove "#choice2">><<remove "#choice3">>Interesting!<</linkreplace>></span>
<</linkreplace>>
//''[[...Let's go back to the meadow.|at meadow]]''//
<<include "Star">><<set $jumped to true>><<if $previous is "the Earth">><<audio "moon" play loop>><<endif>>\
You did it! Doesn't [[the Earth]] look amazing from up here?
''//[[It's okay.|hill]]//''
''//[[It's nice, from a distance.|hill]]//''
''//[[It's so beautiful I could cry.|hill]]//''
<<silently>><<include "Star">><</silently>>//I wish <<link "Moz">><<goto "Moz">><<set $previous to "meadow">><</link>> could see what I've done with the land out here. Confetti makes such cute grass!
I'm too tired today, but I want to finish up my paper shrubs soon. Then I can finally pull out my wire and tarp and make some cute critters to live there too!//
Are you thinking of working today?
''//[[No, just planning ahead. I have time.|at meadow]]//''
<<silently>><<include "Star">><</silently>><<audio "moon" fadeout>>Take a nap? Wouldn't you want to go back inside the base for that?
''//[[No, it's fine here. I like the sound of the wind going through the trees.|Good night.]]''//
<<silently>><<include "Star">><</silently>>//I'm so glad the moon came with a forest. I can do small things and decorations, but there's no way I could make trees!
<<link "Moz">><<set $previous to "forest">><</link>> and I used to walk around the woods after work. In places where no one could see us, she would wrap her around my waist and tuck her head onto my shoulder and squeeze and squeeze.
I wonder if she thought she could keep me down there if she held on tight enough.
I wonder what it would have been like if I didn't belong up here.//
You keep doing the squeezy thing with your hands! Maybe you should make a stuffed animal to hold onto.
Sorry I can't.
''//[[It's fine. You do plenty.|at forest]]//''
//Before we started dating, I got really into origami. <<link "Moz">><<set $previous to "flowers">><</link>> didn't ever put on makeup or jewelry or anything, but after I gave her a paper clover she taped it to a bobby pin and started wearing it in her hair.
Watching her big, callused hands put that clover in so carefully made my heart squeeze.//
//<<linkappend "I want to show her how good I am at making flowers now.">> I want to pick a rose for her and watch her tuck it behind her other ear.
I want to hold her hands again. //
What are you grabbing at?
//''[[Some dust, I think.|at flower patch]]''//<</linkappend>>
<<silently>><<include "Star">><</silently>><<audio "moon" fadeout>>\
Well, good night then. I hope the falling magnolias aren't bothering you.
Can you still see the stars?
<<script>>
let elems = ["starcanvas", "name", "constname", "submitname"];
for(let i = 0; i < elems.length; i++) {
let elem = elems[i];
console.log(elem);
let old = document.getElementById(elem);
if(old != null) old.parentNode.removeChild(old);
}<</script>>\
<<linkreplace "''Of course.''">> Can you name this one after me?
\<<script>>
let oldcanvas = document.getElementById("starcanvas");
if(oldcanvas != null) oldcanvas.parentNode.removeChild(oldcanvas);
let c = document.createElement("canvas");
c.id = "starcanvas";
c.width = 480;
c.height = 360;
document.body.appendChild(c);
c.style.margin = "auto";
c.style.display = "block";
let ctx = c.getContext("2d");
ctx.fillStyle = "white";
let count = 2 + Math.floor(Math.random() * 8);
let xpos = [];
let ypos = [];
for(let i = 0; i < count; i++) {
let size = Math.floor(Math.random() * 3) + 2;
let x = Math.floor((c.width * 7/8) * Math.random());
if(x < c.width/8) x+= c.width/8;
let y = Math.floor((c.height * 7/8) * Math.random());
if(y < c.height/8) y+= c.height/8;
ctx.beginPath();
ctx.arc(x, y, size, 0, Math.PI * 2, true);
ctx.fill();
xpos.push(x);
ypos.push(y);
}
let combinations = [];
for(let i = 0; i < count; i++) {
let x = xpos[i];
let y = ypos[i];
let conns = Math.min(Math.floor(8/xpos.length * Math.random()) + 1, 3);
for(let j = 0; j < conns; j++){
let smallestdist = 10000;
let smallestind = 0;
for(let k = 0; k < count; k++) {
if(k == i) continue;
if(combinations.includes("" + k + " and " + i)) continue;
let d = Math.abs(xpos[k] - x) + Math.abs(ypos[k]-y);
if(d < smallestdist) {
smallestdist = d;
smallestind = k;
}
}
let last = smallestind;
console.log(last + " " + i);
console.log("drawing");
ctx.beginPath();
ctx.setLineDash([8, 12]);
ctx.moveTo(xpos[last], ypos[last]);
ctx.lineTo(x, y);
ctx.lineWidth = 0.4;
ctx.strokeStyle = "white";
ctx.stroke();
combinations.push("" + i + " and " + last);
}
console.log(combinations);
}
let input = document.createElement("input");
input.type = "text";
input.id = "constname";
input.width = 240;
document.body.appendChild(input);
input.style.margin = "auto";
input.style.display = "block";
input.style.border = "2px dotted #FFFFFF";
input.style.color = "white";
input.style.backgroundColor = "transparent";
let name = document.createElement("button");
name.id = "submitname";
name.innerHTML = "name the constellation";
name.width = 80;
document.body.appendChild(name);
name.style.margin = "auto";
name.style.display = "block";
name.style.border = "2px dotted #FFFFFF";
name.style.color = "white";
name.style.fontSize = "18px";
name.style.marginTop = "20px";
name.style.backgroundColor = "transparent";
name.onclick = function(ev) {
let newname = input.value;
input = document.getElementById("constname");
if(input != null) input.parentNode.removeChild(input);
this.parentNode.removeChild(this);
Engine.play("Dream 1");
}
<</script>><</linkreplace>><<audio "moon" stop>><<set $previous to "the Earth">>\
//"I just don't understand why you're doing this. Am I not enough for you, Lilac?"
<<linkappend "You know that's not it. It's... this whole place. The gravity is too strong and the lights are too bright and the air is too thick.">>
<<linkappend "It hurts, Mozzie. No one understands me here.">>
"So you're just leaving me here? I guess I don't understand you either.
I don't understand how you can decide to just end it all without even trying to make things better than yourself. I didn't think you were that kind of person."
<<linkappend "I'm taking a few things, to the moon. Like my waternet. I could take you too.">>
"''What the fuck is wrong with you?'' I don't have enough money and I have to take care of my dad and even without all that I still wouldn't want to to fucking @@.smear;DIE@@ with you."
''[[Please stop it. Please. I don't want to end things like this.|Jump]]''<</linkappend>><</linkappend>><</linkappend>><<if $response is "turn">>"Don't just assume things about me," Cosmos mutters. She reaches for her water.<<else>>"Why are you so fucking rude?" she snaps. "I don't have to put up with this."
She stands up.
<<endif>>
<<linkappend "He grabs her wrist firmly.">> "Okay. I wasn't clear enough," he says. "I know about your dad. I know about your [[friend|ex]]. I know a lot about you. And I don't want to actually go out with you."
His grip tightens around her wrist.
<<link "Cosmos relaxes.">><<set $response2 to "relax">><<goto "response2">><</link>>
<<link "Cosmos pulls her arm away.">><<set $response to "pull">><<goto "response2">><</link>><</linkappend>><<audio "dream1" stop>><<audio "earth" play loop>>Cosmos wakes up in an uncomfortable sweat.
Pulling on her damp [[shirt]], she sits up and looks around her [[room]] in the haze of early evening.
//Shit, what time is it?//
''[[She checks her watch.]]''
<<silently>><<include "Star">><</silently>>Woke up. Got dressed.
Went to work.
Got home.
Collapsed on bed.
//[[Burning the whole time.|Moz Wake Up]]//Four walls. Off white paint. Window.
Twin bed on the floor. Pure white sheets.
Dresser. Desk. Chair. Doorframe. No door.
[[The shadow of a magnolia over everything.|Moz Wake Up]]//7:30? Shit. Shit shit shit shit shit.//
Cosmos rolls out of bed and onto the floor, then scrambles to her feet.
Stumbling through the open doorframe, she hurries to the bathroom and sticks her head in the sink.
"Everything all right, Coz?" asks her [[father]] from the living room.
"Running late!" she calls out, then turns on the faucet.
[[The water runs warm.]]Something isn't right with him. He's weak. Getting thinner. Breathing heavy.
He says he's fine. Quit his job because he didn't like it. No other reason.
//"<<linkappend "//Just get checked out, Dad. What if it's serious?//">>"
//"Then are you gonna pick up the tab?"//
//"Fine. If you're right, it won't matter who pays."//
//"[[Cosmos. What if it's serious?|She checks her watch.]]//<</linkappend>>"//Cosmos swings her [[car]] into the nearest open parking space.
Her hair is still dripping wet. She shakes her head as she gets out and locks the car.
[[He's]] waiting at the door of the restaurant, arms crossed.
She walks over to him. He looks over at her.
"Sorry I'm late," she says.
[["You look like shit," he replies.|"Sorry I'm late," she replies.]]Still runs on gas.
Starts up one in three times.
[[Goes where it's told, eventually.|The water runs warm.]]A coworker. Paid more for the same office gruntwork.
His name is
...
[[He has something important to talk about.|The water runs warm.]]He asks for a [[table]] at a window. //More romantic that way, I guess.//
He and Cosmos spend a few minutes in silence reading the menu. A server comes by to take their order, a 6oz steak for him and a salad for the lady.
Waters for them both, of course.
As the server walks away, he clears his throat. Cosmos stiffens.
"[[I need you to go out with me.]]"<<set $linktext to "\"Sorry,\" Cosmos starts. \"I'm not-\"">>
<<linkappend $linktext>>
"You're a [[queer]]," he interrupts. "But that has nothing to do with this. Listen to me."
<<set $linktext to "\"I don't know what you're talking about.\"">><<linkappend $linktext>>
"I SAID LISTEN TO ME." He slams his palm on the table.
The restaurant is packed, nearly full at this hour. No one looks over.
[[Cosmos listens.]]
<</linkappend>><</linkappend>>//No.
No no no no no no NO.//
//What does he know? How does he know? ''How does he know?''//
//[[Who told him.|I need you to go out with me.]]//"I'm assuming you don't know me, and I don't care about you in particular," he says. "But that's fine. We can both stand to benefit from this."
"What?" <<linkreplace "...">>
"...and don't call me that," she adds quietly.
"Whatever," he says.<</linkreplace>>\
<<set $linktext to "\"I need a girlfriend, and you're a girl, so that's obvious.\"">><<linkappend $linktext>> Cosmos says nothing.
He looks Cosmos over again. "You need money, right?"
<<link "Cosmos turns her head away.">><<set $response to "turn">><<goto "response">><</link>>
<<link "Cosmos stares at him.">><<set $response to "stare">><<goto "response">><</link>><</linkappend>>Unremarkable chain. Could be a bistro. Could be a diner. Doesn't matter.
Not the kind of place that takes reservations.
[[Not the kind of place that appreciates requests.|"Sorry I'm late," she replies.]]<<if $response2 is "pull">>He pulls back harder, then lets go.<<else>>He squeezes her wrist, then lets go.<<endif>> <<if $response is "stare">>Cosmos sits back down.<<endif>>
"My uncle is [[planning on dying|dying]]. He's rich, but he doesn't have any kids to inherit his wealth," he explains. "If I can convince him that I'll continue the family name, he'll give everything to me."
<<set $linktext2 to "Cosmos leans in. \"But.\"">><<linkappend $linktext2>>
"But I don't give a rat's ass about family and I hate kids. So all I need is for you to play a part until he dies. And then I'll give you [[a hundred grand]]."
Cosmos leans back and exhales.
<<set $linktext to "\"How did you find out about...\"">><<link $linktext>><<goto "Cosmos leans back.">><</link>><</linkappend>>//Don't think about her. You can't.//
//If you let her back in, you'll go back to the way you used to be. A piece of shit who didn't deserve anything.//
//[[You have to be better.|response]]//He laughs once. Short. "You two were so [[obvious]]. Were you trying to hide it or something?"
Cosmos bites her lip. "It's just- you know it's not- it's not... good," she says weakly. "To be open about it. That kind of thing. Here."
[[She glances around.]]Never did anything at work. That was the first rule.
Arrived and left at different times. Worked in different departments, different offices on different floors. Different lunch breaks in different break rooms at different times.
Did he see them in woods? Did he tail her car?
[[Who else knows?|Cosmos leans back.]]Not as much money as it used to be. Wouldn't pay for much.
But it would pay for //something//.
[[And it's more than Cosmos would ever have otherwise.|response2]]Not surprising. Some people get bored of living in this shithole and have the money to leave.
You can go wherever you want when you die. And anywhere is better than here.
[[Even the moon.|response2]]<<audio "earth" fadeout>>//Did she think this would make up for it? Did she think this would make me happy? Did she think this was what I wanted? What was she thinking what the hell is wrong with her with me with//
<<linkappend "Sorry, I can't hear you.">>
<<linkappend "I have to go home.">>
<<linkappend "Sorry.">>
<<linkappend "I'll pay.">>
<<linkappend "Sorry.">>
<<linkappend "I'll see you at work tomorrow.">>
<<linkappend "Sorry.">>
<<linkappend "I have to go.">>
<<linkappend "I have to go.">>
//[[Good night.|I have to go.]]//<</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><<audio "earth" stop>><<audio "dream2" play>>\
Mozzie...
Mozzie, are you asleep?
<<linkappend "//Yes, zzzzzz...//">>
Hmm, I don't know if I believe you...
<<linkappend "//...Fine, I'm up. What's up?//">>
I'm going on a trip soon. I want to go somewhere far away, so I was thinking of visiting somewhere I used to go a lot with my family.
<<linkappend "//Sounds nice, but do you have enough time off? I don't.//">>
I wouldn't worry about that. I already have it all figured out! I'll show you tomorrow what I've been working on.
Mozzie, I have so many plans! We'll have so much fun!
<<linkappend "//We?//">>
Of course! Won't you come with me?
//[[...Maybe. Where are we going? For how long?|Wake Up 2]]//<</linkappend>><</linkappend>><</linkappend>><</linkappend>>"That's funny," he says, "because your //friend// was the one who told me everything. And then it all made sense."
<<linkappend "//What? When.//">>
"I could have done better than you, but she got me with her sob story. Spending all her savings on @@.smear;killing herself@@, nothing left for the poor starving girlfriend-"
//[[WHEN.]]//
<</linkappend>><<audio "moon" stop>><<audio "dream1" play>>\
Hey.
<<linkappend "//Oh hi, Cosmos. Did you need to speak with someone in my department?//">>
Lilac. Hi. No.
It's... nothing, really. I just wanted to say, uh.
The paper frogs on your desk. They're cute. I like them.
Yeah.
<<linkappend "//Aw, thank you! Do you want one?//">>
No that's- it's fine. Uh.
Do you, after work, want to go somewhere maybe? With me. To talk about frogs. Or whatever.
<<linkappend "//Sorry, I don't know much about frogs...//">>
Oh. Uh, what do you know about? So we can... talk about it. If you want.
<<linkappend "//Hmm... okay. I'll tell you a secret now, and I can explain later. Doesn't that sound fun?//">>
............Sure.
<<linkappend "//Okay. Here goes. The secret is I'm not really from around here.//">>
//[[I used to live in space!|Moz Wake Up]]//<</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><<audio "dream2" stop>><<audio "moon" play loop volume 0.3>>Good morning, Lilac. Sorry it's so early, but do you think we can talk? Now?
Please?
//[[Oh, about what?|About what?]]//
//<<link "I'm so sleepy...">><<set $previous to "sleepy">><<goto "About what?">><</link>>//<<if $previous is "sleepy">>It's really important, I'm sorry.<<else>>Okay, uh...<<endif>>
I think the waternet dried out last night. I didn't think it would happen so soon, but I have a feeling.
Can we check it out? Please, Lilac?
//[[Of course, let's go.|Of course.]]//
//[[No, I think it's fine.]]//Lilac, I'm not going to lie to you. I wasn't ready for it to go. I was trying to hide it, but I can't do it anymore.
I need you to take everything out of the waternet if it's there. If it's gone I don't know what I'll do.
<<linkappend "It's okay. We'll see it soon, and we'll take everything out.">>
But what if it's gone?
<<linkappend "...We'll take everything out.">>
What if everything inside is finally gone and I'll never see that picture of her again and I forget what she looks like and I'm finally all alone and I realize I hate it here and I can never leave?
<<linkappend "It's still there. You'll see it soon and we'll put it inside.">>
Lilac, please hurry. Please.
//[[We're here.]]//<</linkappend>><</linkappend>><</linkappend>>If all the water is really gone, everything inside it will get pulled away. We'll never see any of it again.
You know that gravity doesn't work on things that don't belong here, Lilac.
//[[Okay, let's go.|Of course.]]//Everything... [[everything]] is gone. I knew it.
<<if $previous is not "everything">><<linkappend "...">>
<<include "Waternet Star">><</linkappend>><<endif>><<script>>
let elems = ["starcanvas", "name", "constname", "submitname"];
for(let i = 0; i < elems.length; i++) {
let elem = elems[i];
console.log(elem);
let old = document.getElementById(elem);
if(old != null) old.parentNode.removeChild(old);
}<</script>>\
<<linkappend "//I think I see something... Look up!//">>
<<set $previous to "everything">>
Oh, it's... it's all floating away. Everything.
<<audio "moon" stop>>
...it hurts so much.
\<<script>>
let oldcanvas = document.getElementById("starcanvas");
if(oldcanvas != null) oldcanvas.parentNode.removeChild(oldcanvas);
let c = document.createElement("canvas");
c.id = "starcanvas";
c.width = 480;
c.height = 360;
document.body.appendChild(c);
c.style.margin = "auto";
c.style.display = "block";
let ctx = c.getContext("2d");
ctx.fillStyle = "white";
let count = 40;
let xpos = [];
let ypos = [];
for(let i = 0; i < count; i++) {
let size = Math.floor(Math.random() * 2) + 1;
let x = Math.floor((c.width * 7/8) * Math.random());
if(x < c.width/8) x+= c.width/8;
let y = Math.floor((c.height * 7/8) * Math.random());
if(y < c.height/8) y+= c.height/8;
ctx.beginPath();
ctx.arc(x, y, size, 0, Math.PI * 2, true);
ctx.fill();
xpos.push(x);
ypos.push(y);
}
let combinations = [];
for(let i = 0; i < count; i++) {
let x = xpos[i];
let y = ypos[i];
let conns = Math.min(Math.floor(8/xpos.length * Math.random()) + 1, 3);
for(let j = 0; j < conns; j++){
let smallestdist = 10000;
let smallestind = 0;
for(let k = 0; k < count; k++) {
if(k == i) continue;
if(combinations.includes("" + k + " and " + i)) continue;
let d = Math.abs(xpos[k] - x) + Math.abs(ypos[k]-y);
if(d < smallestdist) {
smallestdist = d;
smallestind = k;
}
}
let last = smallestind;
console.log(last + " " + i);
console.log("drawing");
ctx.beginPath();
ctx.setLineDash([8, 12]);
ctx.moveTo(xpos[last], ypos[last]);
ctx.lineTo(x, y);
ctx.lineWidth = 0.4;
ctx.strokeStyle = "white";
ctx.stroke();
combinations.push("" + i + " and " + last);
}
console.log(combinations);
}
let name = document.createElement("button");
name.id = "submitname";
name.innerHTML = "silently, silently, watch it all disappear";
name.width = 180;
document.body.appendChild(name);
name.style.margin = "auto";
name.style.display = "block";
name.style.border = "2px dotted #FFFFFF";
name.style.color = "white";
name.style.fontSize = "18px";
name.style.marginTop = "20px";
name.style.backgroundColor = "transparent";
name.onclick = function(ev) {
this.parentNode.removeChild(this);
Engine.play("Moz Wake Up 2");
}
<</script>><</linkappend>>//I started planning for my trip before I met Moz, so I already had a few things I planned to put in the waternet organized in a corner of my room. Pretty rocks, old cheap jewelry, custom printed keys, origami animals so I'd remember what they looked like.//
//Moz came up to visit once, and she saw some of the things I had added since we started dating.//
//"Is that a picture of me?"//
<<set $linktext to "\"Oh, you recognized it? I drew it myself.\"">>
//<<linkappend $linktext>>
//"Huh. No one's ever drawn me before. I like it."
<<set $linktext to "\"Aw, thank you, Mozzie! Sorry, but I can't let you have it.\"">>
<<linkappend $linktext>>
//"That's fine. I guess. I would rather have a picture of you, anyway. I can look at myself any time.//
<<set $linktext to "\"Then I'll draw me too, for you to put in yours.\"">>
<<linkappend $linktext>>
//"In my what?"//
<<set $linktext to "\"Oh, Mozzie, have you never heard of a waternet?\"">>
[[$linktext|We're here.]]<</linkappend>><</linkappend>><</linkappend>><<audio "dream3" play>>Hey, Mozzie.
<<linkappend "Mmm.">>
If you could go anywhere, where would it be?
<<linkappend "I don't know. I never thought about it.">>
Whaaaaat? But you don't like it here at all!
<<linkappend "But that doesn't have anything to with where it is. I can't do the things I want, not anywhere.">>
What do you want to do?
<<linkappend "I want to see my dad get better. I want to see him live as long as he can.">>
Oh...
[[And I want to make the world better for you. For me. For us.]]
<</linkappend>><</linkappend>><</linkappend>><</linkappend>>
<<audio "earth" play loop volume 0.3>>...Cosmos feels like shit when she wakes up.
She doesn't want to think about what happened [[yesterday]]. But she at least needs to set some things straight.
Cosmos rolls out of bed and walks into the living room.
[[Her dad is there, as always.]]
<<silently>><<include "Star">><</silently>>Can't remember much. Remembers too much.
Seemed like forever ago that [[Lilac]] went away. Repressing everything made years pass in a month.
[[Haven't moved on at all.|Moz Wake Up 2]]"Morning, Dad," says Cosmos as she walks in. She's still wearing yesterday's work clothes.
"Afternoon, Coz," says her dad. He's watching the [[news]] on TV, but raises the remote to mute it.
<<linkappend "Cosmos steels herself.">> "Can we talk later?"
"What about?"
"About you. About your health. I don't want to mess around anymore, okay?"
"Coz, I said before-"
"[[I don't want you to die, Dad.]]"<</linkappend>>
//I hate what she did to me. I hate how I treated her.//
//I miss her so much.//
//I hope she's happy on the moon.//
//[[I love her.|yesterday]]//[[Stopped paying attention a long time ago.|Her dad is there, as always.]]Her dad pauses. "I'm fine, Coz. Seriously." His tired eyes look past her.
"We'll talk about it tonight," she says. "I have some stuff I need to tell you, too."
"Oh."
<<set $linktext to "\"I want to be more honest with you.\"">>
<<linkappend $linktext>>
"...Okay."
<<set $linktext to "\"Tonight,\" Cosmos says, and opens the door outside.">>
[[$linktext|tonight]]<</linkappend>>Cosmos closes the door behind her. She walks down the steps of her apartment building and over to the grass outside.
The magnolia's shadow cools her as she sits down, leaning against the trunk.
<<linkappend "Cosmos pulls out her phone.">> 15 missed calls, all from the same number.
<<linkappend "She taps on the most recent one. 12 hours ago.">>
"This is @@.smear;Richard@@. Looks like I missed your call. Leave a message at the beep."
<<set $linktext to "\"Hi. It's Cosmos. Sorry about last night.\"">>
<<linkreplace $linktext>>"Hi. It's Cosmos. Sorry about last night," she says. "Anyway, about what you proposed last night."
<<linkappend "Cosmos bites her lip.">><<audio "earth" stop>>
<<set $linktext to "\"Go fuck yourself.\"">>
[[$linktext|Dream 3]]<</linkappend>><</linkreplace>><</linkappend>><</linkappend>><<linkappend "...I don't think that's possible, Cosmos. Not here.">>
Maybe not here. Maybe not now. But someday.
<<linkappend "Someday?">>
Yeah. I want there to be a day where we can walk home together.
<<linkappend "Would we live together?">>
Of course. You and me and my dad. He would be cool with it, probably.
<<linkappend "Where would we all live?">>
In a house big enough for all of us. One with a yard and a big tree and a flower garden outside.
<<linkappend "What kind of flowers?">>
Lilacs. Duh!
[[Your favorite.]]<</linkappend>><</linkappend>><</linkappend>><</linkappend>><</linkappend>><<audio "dream3" stop>>We Sleep Under Trees
by Gigi Bachtel
for ARTG 129: Queer and Trans Games
taught by micha cárdenas
UCSC 2020
Thank you for playing.