<div style="text-align: center;">
<span style="font-family: 'Uncial Antiqua', serif; font-size: 1.8em; color: crimson;"><b>Chapter One</b></span></div>
<div style="margin-top: 1em; font-size: 1.1em;"></div>
Have you ever stood at the edge of a cliff?
That's kind of how it was- meeting him for the first time.
Looking down and knowing that in five seconds you might be nothing more than a red stain of blood and guts makes you think about a lot of things.
Things you've never really thought about before.
Or, maybe if you're like me, you think about them all the time. Like who will remember you when you're gone? Will anyone come to your funeral? After you're dead, what will people say about you?
Will you be thought of as an ambitious, pragmatic person who accomplished almost everything you set your mind to? Or a free spirit that followed your heart, eschewing social norms in favor of a more nontraditional path. Maybe they'll remember you as a counterculture anarchist, a rebel without a cause.
Or maybe, just maybe, no one will think of you at all.
Maybe you won't be remembered, because you spent your entire life just drifting. Because somehow, in this world full of millions, you've managed to mean absolutely nothing to no one.
Maybe they won't even bother with a funeral for you. No point if there's no one there to grieve.
More than anything else- more than any thoughts or lamentations or regrets- is the feeling. That pure, perfect balance of pleasure and pain- that adrenaline rush that starts in your toes and trickles through your veins, pooling at your fingertips. That feeling of knowing you might be looking at the last thing you'll ever see. That the veil has finally been lifted. All that carefully cultivated control – the illusion that makes us think, small and insignificant as we are, we somehow direct the course of our lives- is gone.
That was what meeting him for the first time was like.
Standing at the edge of a cliff, and accepting the fact that, once you take that step, you are completely out of control.
[[Continue...|The Meeting]]
<div class="intro-wrapper">
<div style="text-align: center;">
<script>
(function() {
if (document.querySelectorAll('.particle').length > 0) return;
for (let i = 0; i < 30; i++) {
const particle = document.createElement('div');
particle.className = 'particle';
particle.style.left = Math.random() * 100 + 'vw';
particle.style.top = Math.random() * 100 + 'vh';
particle.style.animationDuration = (6 + Math.random() * 6) + 's';
particle.style.animationDelay = (Math.random() * 4) + 's';
document.body.appendChild(particle);
}
})();
</script>
<span class="game-title">Free Fall</span>
<div class="blurb">
<i>"Have you ever stood at the edge of a cliff?
That's kind of how it was—meeting </i><span style="color: crimson; text-shadow: 0 0 5px crimson; font-weight: bold;">him</span><i> for the first time."</i></div>
</div>
<span style="color: crimson; text-shadow: 0 0 5px crimson; font-weight: bold;"><em>Free Fall</em></span> is a gritty, haunting interactive fiction novel about love, obsession, and what it means to know someone more intimately than you know yourself. It dares to sample love in all its forms- tender, honest, ugly, and all-consuming. Because love- true love-is about baring youself, flaws and all.
<div style="text-align: center;"><span style="color: crimson; text-shadow: 0 0 5px crimson; font-weight: bold;"><i> But not all truths will set you free.
And not all fragile things are soft. </i></span>
</div>
You meet him by chance, or maybe fate. Mysterious, intense, impossible to forget. There’s something broken in him, something wild. But it calls to something in you. Something you didn’t know was there until now. <i>He</i> makes you feel things you never dreamt possible. Things that make you wonder if you ever really knew what it meant to feel alive until the day you met him.
As your lives entwine, boundaries blur. Between shades of limerence- devotion and obsession. Between who you thought you were… and who you become when you're with him. But the line between love and madness is thinner than you think. Will you choose obsession, love, or cling to what's safe and familiar? And when the time comes—will you try to save him, or will you save yourself, and let him fall.
<div style="text-align: center;"><i>Every choice you make tilts the balance.</i>
<span style="color: crimson; text-shadow: 0 0 5px crimson; font-weight: bold;">Cling to what's safe and familiar... or let go, and follow him into the depths of obsession. </span>
<b>Trigger warnings</b> for language, suicidal ideation, references to death, and sexual situations.
Playing with headphones is highly recommended.
</div>
<div style="text-align: center;"><div class="start-button">
[[Begin your descent...|Name]]
</div>
<script>
document.body.classList.add('flicker');
setTimeout(() => document.body.classList.remove('flicker'), 1000);
</script>
It was raining the night he came in.
Just a steady drizzle, a constant pitter patter of rain thrumming against glass. I'd always hated that. How Freddy's entire front wall was made of nothing but windows. How anyone that even glanced over could look in and see everything. There were a couple posters advertising our most popular combos taped to the windows. They obstructed the view a bit, but that was it.
No blinds. No curtains. Not even a fucking tint.
That was why I saw him coming. He was wearing a black beanie and a hoodie with some sort of print I couldn't make out from here. His hair was a mop of jet black that kept me from seeing half his face, and he had his hands tucked into his pockets. His stride was casual, like he had all the time in the world.
I didn't see it till he got closer- the cuts all over his face.
I'd never seen anything like that before. I couldn't really tell what they were from. And that was saying something. I'd spent the last fifteen years playing sports. I'd seen broken bones, head injuries, even a severed limb. But that was the first thing that I wondered- how he got them.
I didn't wonder if they hurt. They had to. They were deep. A few of them were scabbed over.
He had grey eyes and an easy smile that seemed so out of place on the face of someone that had to be in so much pain. There were a couple piercings in his right ear. His hair was long, almost shoulder length, tucked behind his piercings on the right. I could see it now- what was on his hoodie.
<i>Jeffrey Dahmer for President</i>
I knew who he was from all the crime documentaries I'd watched as a teenager. Some sort of infamous serial killer- I think maybe he used to eat people or chop them up and keep them in his fridge.
Something like that.
"Hey." He said, like he wasn't wearing a shirt blatantly promoting cannibalism.
"Hi." I said, like everything was completely normal. "Welcome to Freddy's. How may I take your order?"
"Can I get a number four? With a strawberry shake."
"Yeah, sure. Anything else?"
The man glanced around the storefront. His eyes flashed with amusement. "You guys don't get a lot of customers this time of night, do you?"
[[Depends on the night...|Depends on The Night]]
[[No, that's why I took the job...|No, that's why I took the job]]
[[Not really. But still more than I'd prefer...|Not really. But still more than I'd prefer]]
<<script>>
if (!State.variables.rainStarted) {
const rain = new Audio("https://files.catbox.moe/lc5ywa.mp3");
rain.loop = true;
rain.volume = 0.2;
rain.play();
State.variables.rainStarted = true;
}
<</script>><<set $affection+= 1>>
"It depends on the night. But not most."
This was the only job I'd ever had, and I never worked the day shift, so I had nothing to compare it to. But I figured that was the reason we never had a manager working nights. It was just me most of the time.
[[Continue...|Must Get Boring]]<<set $obsession+= 1>>
"No, that's why I took the job."
I prefered it this way. No boss looking over my shoulder. I'd only met the manager once, and that was during training. I could usually count on two hands the number of customers we got during my shift. At this time of night, most of them didn't bother with small talk. The only ones that did were the drunks.
[[Continue...|Must Get Boring]]<<set $insanity+= 1>>
I didn't like having to talk to people. I probably would've been a better fit in a job that didn't involve any socializing, like a programmer or coder. But having to sit behind a desk all day would drive me crazy, so this was a decent compromise
[[Continue...|Must Get Boring]]
"Must get pretty boring."
I shrugged, glancing down at the ink that just barely poked out of his sleeves. I couldn't make out his tattoos, not more than a couple lines and curves. Black and white. Maybe some sort of pentagram? "It does. But it pays the bills so I can't complain."
That's what most people say in a situation like this, right?
He turned back towards me, leaning his elbows on the counter. He was chewing something. Probably gum. I wondered what flavor. Maybe something sweet. He'd ordered a strawberry shake, after all.
"Do you always do that?"
"Do what?"
"Say whatever you think it is you're supposed to say?"
I frowned. "I don't- sorry, but I don't know what you're talking about."
"You're saying what you think I want to hear, not what you really want to ask." The man smirked. "They're on me. You think I'm not going to notice? You've been looking at them since I came in."
I cleared my throat. "Sorry." I hadn't realized I'd been staring. I wasn't sure whether he was referring to the cuts or his tattoos.
"Why? I didn't tell you to stop." He flashed me a Cheshire smile. "It's just...sort of interesting, isn't it?"
"What?"
"How everyone is thinking it. Everyone <i>knows</i> that everyone is thinking it. But nobody says a thing." He laughed. "Like sheep. But then who's the shepherd? Me?"
[[Maybe people are just trying to be nice...|People are trying to be nice]]
[[I was just trying to be nice...|I was just trying to be nice]]
[[You should be appreciative...|Be Appreciative]]<<set $affection+= 1>>
I bristled. "Maybe people are just trying to be nice."
Isn't it rude to ask about that sort of stuff?
[[Continue...|You're not]]<<set $obsession+= 1>>
I bristled. "I was just trying to be nice."
I didn't want to be rude and ask. Maybe he was sensitive about them- the scars.
[[Continue...|You're not]]<<set $insanity+= 1>>
I bristled. "You should be appreciative. People are just trying to be nice."
Most people aren't overly eager to talk about that sort of stuff anyways. And he was a stranger.
[[Continue...|You're not]]"Nice?"
"Yeah, I did't want to make you uncomfortable."
The man snickered. "But I'm not the one that's uncomfortable right now. Am I?"
I narrowed my eyes, shoulders tensing. "I'm not uncomfortable."
"You're not?"
"No."
He tilted his head to the side, studying me for a moment. Then he leaned forward, till his nose was only a few inches from mine. Till I could feel his breath on my face. "What about now?"
My fingers curled into fists at my sides. "I've seen a guy get splattered to a million bits free climbing off a four hundred foot skyscraper. So if you're trying to scare me, you're going to have to try harder than that."
"Who said I was trying to scare you?"
"You said I was uncomfortable."
"Uncomfortable, not scared."
I rolled my eyes, irritated. "Don't you have anything better to do on a Friday night than play mind games with the pizza staff."
"No, I don't. And by the looks of it, neither do you." He finally leaned back.
<i>Ass.</i>
The man's eyes drifted down to the nametag on the front of my black and red work shirt. "<<print $playerName>>"
[[I nodded...|I nodded]]
[[I refused to answer...|refused to answer]]
[["Yeah." I said. No point in trying to hide it...|Yeah]] <<set $affection+= 1>>
I nodded. Because what the hell else would the nametag on my chest mean.
"I'm Abel." He flashed me a disarming, toothy grin. "I like your eyes."
I raised a brow, unimpressed. "Oh yeah?"
"Yeah. They match your scars." He gestured to the scars on my arms. Some of them were small, others more obvious. I'd gotten them a lot of different ways- snowboarding, parasailing, cliff diving, free climbing. I was used to people asking about them by now.
"What's that mean?"
Abel's eyes flashed with something I couldn't quite read. "It means that I'm glad you don't scare easy."
<i>Fucking Edge lord.</i>
"You don't know anything about me. And I just met you."
"I know you haven't looked away from me since I walked in. And now I know it's not because you're scared."
[[I stared...|ringring]]<<set $insanity+= 1>>
I refused to humor him. He clearly already knew the answer.
"I'm Abel." He flashed me a disarming, toothy grin. "I like your eyes."
I raised a brow, unimpressed. "Oh yeah?"
"Yeah. They match your scars." He gestured to the scars on my arms. Some of them were small, others more obvious. I'd gotten them a lot of different ways- snowboarding, parasailing, cliff diving, free climbing. I was used to people asking about them by now.
"What's that mean?"
Abel's eyes flashed with something I couldn't quite read. "It means that I'm glad you don't scare easy."
<i>Fucking Edge lord.</i>
"You don't know anything about me. And I just met you."
"I know you haven't looked away from me since I walked in. And now I know it's not because you're scared."
[[I stared...|ringring]]<<set $obsession+= 1>>
"Yeah." I said. Not like I could hide it now.
"I'm Abel." He flashed me a disarming, toothy grin. "I like your eyes."
I raised a brow, unimpressed. "Oh yeah?"
"Yeah. They match your scars." He gestured to the scars on my arms. Some of them were small, others more obvious. I'd gotten them a lot of different ways- snowboarding, parasailing, cliff diving, free climbing. I was used to people asking about them by now.
"What's that mean?"
Abel's eyes flashed with something I couldn't quite read. "It means that I'm glad you don't scare easy."
<i>Fucking Edge lord.</i>
"You don't know anything about me. And I just met you."
"I know you haven't looked away from me since I walked in. And now I know it's not because you're scared."
[[I stared...|ringring]]
I stared at him for a minute. The chime of the store oven to my right made me jump. I cursed, turning away from him and grabbing his pizza. I felt his eyes on me as I boxed it up with the strawberry shake he'd ordered and handed him his food.
"There's your order. Enjoy your night."
"Yeah, it's been...enlightening. Maybe next time you can tell me what free climbing's like. I've always wanted to try it."
I watched him through the window as he left. It took me a couple seconds to realize I'd been holding my breath.
<i>What the fuck was that?</i>
I shook my head and reached for the phone in my pocket. It took me three tries to type in my pin. My hands were shaking. I bit down on the side of my cheek. Clenched my fingers and pushed out a harsh breath.
What was it about that guy?
My fingers hovered over the screen. It was smudged with oil and fingerprints. The notifications on the top barely registered.
I ended up slipping it back into my pocket without responding to a single text. My mind was still tripping over itself, too occupied with what ended up being my last customer of the night. Most of my thoughts for the next few hours were just static. And when they finally settled on something concrete, I almost wished they hadn't.
<i>Mango.</i>
It was mango. His breath had smelled like mango.
I laughed slowly and shook my head. Here I was, quaking in my work shoes, just because of a five-minute conversation with some Sweeny Todd rip off.
But it wasn't fear I was feeling. Not quite.
Maybe I was finally losing it. Maybe I didn't even care. With any luck, I'd never even see the guy again.<<set $insanity to 0>>
<<set $obsession to 0>>
<<set $affection to 0>>[[Limerence|Stats]]<!-- Limerence Page Title -->
<h2 style="text-align:center;">Limerence</h2>
<!-- Set safe max stat -->
<<set _maxStat = Math.max($insanity, $obsession, $affection, 1)>>
<!-- Identify dominant stat -->
<<set _pulseInsanity = $insanity == _maxStat>>
<<set _pulseObsession = $obsession == _maxStat>>
<<set _pulseAffection = $affection == _maxStat>>
<!-- Descriptive text based on dominant stat -->
<<if $insanity > 0 or $obsession > 0 or $affection > 0>>
<<if _pulseInsanity>>
<p><i>You drive him crazy, in the worst(best) way. He's used to people being scared of him. But you tempt the fire instead of shying away from it. Your indifference is the sweetest poison, and he can't get enough.</i></p>
<</if>>
<<if _pulseObsession>>
<p><i>He's fixated. You're nice, so nice it hurts. And Abel's always had a complicated relationship with pain. You remind him of all the things he used to dream about—parts of him he had to bury to survive. But if he has to hurt to be near you, he will.</i></p>
<</if>>
<<if _pulseAffection>>
<p><i>He likes you already—not the way that he likes train jumping or cliff diving or any of the other fleeting hobbies he chases until they lose their high. He wants to get to know you—intimately—peel back the mask and see if it looks anything like his—scars and all...</i></p>
<</if>>
<</if>>
<!-- AFFECTION BAR -->
<<set _percent = Math.round(($affection / 10) * 100)>>
<b>Affection: <<print $affection>> / 10</b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-affection" style="width: ' + _percent + '%;"></div></div>' >>
<!-- OBSESSION BAR -->
<<set _percent = Math.round(($obsession / 10) * 100)>>
<b>Obsession: <<print $obsession>> / 10</b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-obsession" style="width: ' + _percent + '%;"></div></div>' >>
<!-- INSANITY BAR -->
<<set _percent = Math.round(($insanity / 10) * 100)>>
<b>Insanity: <<print $insanity>> / 10</b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-insanity" style="width: ' + _percent + '%;"></div></div>' >>
Please enter your name:
<<textbox "$playerName" "">>
<<button "Continue">>
<<goto "Pronouns">>
<</button>>What pronouns do you use?
<ul>
<li><<link "He/Him">><<set $pronounsSubject to "he">><<set $pronounsObject to "him">><<set $pronounsPossessive to "his">><<goto "Choose Hair">><</link>></li>
<li><<link "She/Her">><<set $pronounsSubject to "she">><<set $pronounsObject to "her">><<set $pronounsPossessive to "her">><<goto "Choose Hair">><</link>></li>
<li><<link "They/Them">><<set $pronounsSubject to "they">><<set $pronounsObject to "them">><<set $pronounsPossessive to "their">><<goto "Choose Hair">><</link>></li>
</ul><<set $hairColor to $hairColor or "">>
<<set $hairLength to $hairLength or "">>
Choose your hair color:
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
<<link "Black">><<set $hairColor = "black">><<goto "Choose Hair">><</link>>
<<link "Blonde">><<set $hairColor = "blonde">><<goto "Choose Hair">><</link>>
<<link "Brown">><<set $hairColor = "brown">><<goto "Choose Hair">><</link>>
<<link "Red">><<set $hairColor = "red">><<goto "Choose Hair">><</link>>
<<link "White/Silver">><<set $hairColor = "white/silver">><<goto "Choose Hair">><</link>> </span></span>
Current: <<print $hairColor>>
<hr>
Choose your hair length:
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
<<link "Short">><<set $hairLength = "short">><<goto "Choose Hair">><</link>>
<<link "Shoulder-Length">><<set $hairLength = "shoulder-length">><<goto "Choose Hair">><</link>>
<<link "Long">><<set $hairLength = "long">><<goto "Choose Hair">><</link>>
<<link "Shaved">><<set $hairLength = "shaved">><<goto "Choose Hair">><</link>> </span></span>
Current: <<print $hairLength>>
<<if $hairColor and $hairLength>><span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
[[Next: Eye Color->Choose Eyes]]</span></span>
<</if>><<set $eyeColor to $eyeColor or "">>
Choose your eye color:
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
<<link "Blue">><<set $eyeColor = "blue">><<goto "Choose Eyes">><</link>>
<<link "Green">><<set $eyeColor = "green">><<goto "Choose Eyes">><</link>>
<<link "Brown">><<set $eyeColor = "brown">><<goto "Choose Eyes">><</link>>
<<link "Hazel">><<set $eyeColor = "hazel">><<goto "Choose Eyes">><</link>>
<<link "Gray">><<set $eyeColor = "gray">><<goto "Choose Eyes">><</link>> </span></span>
Current: <<print $eyeColor>>
<<if $eyeColor>><span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
[[Next: Skin Color->Choose Skin]]</span></span>
<</if>><<set $skinColor to $skinColor or "">>
Choose your skin tone:
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
<<link "Fair">><<set $skinColor = "fair">><<goto "Choose Skin">><</link>>
<<link "Tan">><<set $skinColor = "tan">><<goto "Choose Skin">><</link>>
<<link "Olive">><<set $skinColor = "olive">><<goto "Choose Skin">><</link>>
<<link "Brown">><<set $skinColor = "brown">><<goto "Choose Skin">><</link>>
<<link "Dark">><<set $skinColor = "dark">><<goto "Choose Skin">><</link>></span></span>
Current: <<print $skinColor>>
<<if $skinColor>>
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
[[Next: Height->Choose Height]]</span></span>
<</if>><<set $height to $height or "">>
Choose your height:
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
<<link "Short">><<set $height = "short">><<goto "Choose Height">><</link>>
<<link "Average">><<set $height = "average">><<goto "Choose Height">><</link>>
<<link "Tall">><<set $height = "tall">><<goto "Choose Height">><</link>>
<<link "Very Tall">><<set $height = "very tall">><<goto "Choose Height">><</link>>
</span></span>
Current: <<print $height>>
<<if $height>><span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
[[Preview Character->Customization Summary]]</span></span>
<</if>>
Customization Summary:
Hair: <<print $hairLength>> <<print $hairColor>>
Eyes: <<print $eyeColor>>
Skin: <<print $skinColor>>
Height: <<print $height>>
<span style="color: gold;"><span style="font-family: 'Uncial Antiqua', cursive;">
[[Start the Story->Start]]
[[Go back to change hair->Choose Hair]]</span></span><!-- Calculate max stat safely -->
<<set _maxStat = Math.max($insanity, $obsession, $affection, 1)>>
<!-- Determine dominant trait -->
<<set _pulseInsanity = $insanity == _maxStat>>
<<set _pulseObsession = $obsession == _maxStat>>
<<set _pulseAffection = $affection == _maxStat>>
<!-- Display descriptions based on dominant trait -->
<<if $insanity > 0 or $obsession > 0 or $affection > 0>>
<<if _pulseInsanity>>
<p><i>You drive him crazy, in the worst(best) way. He's used to people being scared of him. But you tempt the fire instead of shying away from it. Your indifference is the sweetest poison, and he can't get enough.</i></p>
<</if>>
<<if _pulseObsession>>
<p><i>He's fixated. You're nice, so nice it hurts. And Abel's always had a complicated relationship with pain. You remind him of all the things he used to dream about—parts of him he had to bury to survive. But if he has to hurt to be near you, he will.</i></p>
<</if>>
<<if _pulseAffection>>
<p><i>He likes you already—not the way that he likes train jumping or cliff diving or any of the other fleeting hobbies he chases until they lose their high. He wants to get to know you—intimately—peel back the mask and see if it looks anything like his—scars and all...</i></p>
<</if>>
<</if>>
<!-- AFFECTION -->
<<set _percent = Math.round(($affection / _maxStat) * 100)>>
<b>Affection: <<print $affection>> / <<print _maxStat>></b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-affection" style="width: ' + _percent + '%;"></div></div>' >>
<!-- OBSESSION -->
<<set _percent = Math.round(($obsession / _maxStat) * 100)>>
<b>Obsession: <<print $obsession>> / <<print _maxStat>></b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-obsession" style="width: ' + _percent + '%;"></div></div>' >>
<!-- INSANITY -->
<<set _percent = Math.round(($insanity / _maxStat) * 100)>>
<b>Insanity: <<print $insanity>> / <<print _maxStat>></b>
<<= '<div class="bar-wrapper"><div class="bar-fill bar-insanity" style="width: ' + _percent + '%;"></div></div>' >>