Contemporary Fiction Suspense

This story contains sensitive content

Warning: Strong language, non-explicit hebephilia. Reader discretion is advised.


Jasper’s phone’s fluty notification alert dinged. It was her. A jaunty grin split across his sun-chapped lips. He had been waiting for the go-ahead; this welcome development fortified his resolve to bear the heat. Satisfaction flooded his pleasure receptors like contrast fluid pumped through an IV.

Though the evening soccer game was winding down, the sun displayed staying power. Jasper’s smoke-black Jetta hadn’t yet reached inferno status; however, judging by the windshield glare lasering his face like a resurfacing treatment, the car’s interior would soon simulate a dry sauna.

He swiped open the RPIt! app.

lunarlight23: hiya

“Go time,” Jasper said aloud.

He had memorized her likes and dislikes…what kind of music she listened to, which movies she repeat-streamed, how many years she had left until graduation. Her avatar, a blond, spunky-looking RPG character—Crystal from Senophilia, a game he’d never played—winked at him as he texted her back.

Thunder_God_37: Hey! Ready to start?

lunarlight23: what would i have to do

Thunder_God_37: Anything you want.

Anything I want, he thought, and sucked air through his teeth.

Thunder_God_37: I’ll be Simon, you’ll be Crystal. We can start off at Shadow Fort and traverse the grand fields of Intermezzo Meadows.

He rolled his eyes. Roleplay: a necessary evil to keep the target’s attention from straying. Once upon a summer spent inside Martha's domestic purgatory, he'd mustered up some crocodile tears, promising her that his RP nights spent in other girls’ arms were past tense. He’d since perfected his lying skills.

lunarlight23: so whats the plot

Thunder_God_37: We’ll improvise. Let’s just do it!

He squeezed his toes. Nine more minutes of playtime, according to his phone’s clock app and the soccer game’s larger-than-life score counter.

lunarlight23: ok you can start

Thunder_God_37: Crystal! I thought you were ambushed. What took you so long?

A pause before the three dots scurried across the screen, then…

lunarlight23: sorry im running late simon

                      got stuck in traffic

He experienced a second of senility before realizing that “Simon” was the character he’d agreed to RP. Recollecting tidbits from Senophilia’s Wiki plot summary section, Jasper epiphanically connected the dots: since Simon was Crystal’s gray-area love interest, and the outlaw duo was on the run for pulling Robin Hood-esque shenanigans, he should invent a scenario in which he would earn her admiration. One knight in shining armor, coming up.

Thunder_God_37: Intergalactic pigs on your tail again?

lunarlight23: lol yeah

                       fyi the real simon would call em IG pigs

Thunder_God_37: Right. Oops!

Gotta dust off the rust. He gritted his teeth and resumed typing.

Thunder_God_37: Sorry if I suck at this. I’ve only RPd once before with a girl from school.

lunarlight23: its ok

Ellipses, then:

lunarlight23: was she good at it

He rubbed his hands together before replying.

Thunder_God_37: She was all right. I like you better.

Snickering, he thought, Martha would’ve killed me on the spot if she’d seen that statement.

lunarlight23: ive only said one sentence

Thunder_God_37: True, but I have a good feeling.

He erased feeling, then wrote: “vibe.”

lunarlight23: gotcha

Briefly, Jasper glanced out the window. The Shoney Shore Sandpipers, a ragtag team comprised of small-for-their-age eighth graders, were taking a beating from their taller, lankier opponents. A runty Sandpiper with stiff, spikey hair pitched his right leg forward and missed the ball by several inches. After slipping in the mud, he landed hard on his side and spat out a mouthful of muck.

Someone probably got that on Facebook live. Sneering, Jasper cradled his notification-laden phone and returned to his game.

lunarlight23: help!!!

                      wicked spellmunchers on my tail

                      theyre gonna catch me

                      what should i do simon

Thunder_God_37: Hold tight, Crystal! I’ll bail you out.

lunarlight23: theyre getting closer

Thunder_God_37: I’ll get there before they do.

He undid the top two buttons of his polo shirt before fashioning a flirty aside.

Thunder_God_37: (My extra-strong lightning rod will knock 'em dead.)

lunarlight23: simon im scared

Thunder_God_37: Don’t be. I’m right behind you, Crystal! Give me your hand.

Sweat pooled at the base of his throat. RP was hard work in the hot sun—much harder than it had been during his erstwhile pre-MUD (Martha’s Unfortunate Discovery) winning streak.

lunarlight23: r u charged up

Thunder_God_37: All the way up. I’ve got plenty of juice.

Five minutes remained in the soccer game. Shifting uncomfortably in his seat, Jasper stuck the key in the ignition and started the car. A plume of freon-cooled air freshened his perspiring brow. He fondled his phone with accelerating vigor.

Thunder_God_37: Hold on to me, babe. I’ll keep you safe.

lunarlight23: they got us surrounded!!!


                      one of em just nicked me with his lance

                      it hurtsss

Thunder_God_37: Bastard! I’ll make sure he won’t live to regret it.

In rapid succession, he inputted three lightning bolt emojis.

lunarlight23: more power, simon!!!

                      there are five of em

Thunder_God_37: Plenty of power left, babe.

After sending a few more lightning bolts, he surveilled his surroundings. Spectators were tucked into folding chairs, lounging on blankets in the grass, or planted in the bleachers. He noted the condition of the clouds—halfway storm-ready, their grey tufts blotted out the sun like an aging clown’s curly coif. He hoped the weather would hold out until he was done baiting the hook.

lunarlight23: dang that was close

                      thanks for having my back simon

Thunder_God_37: You know I’d protect you till the end, Crystal.

lunarlight23: i owe u one

Thunder_God_37: How about we settle the debt now?

lunarlight23: what do u mean

He gulped down a titter before casting the line.

Thunder_God_37: Doesn’t your chivalrous knight deserve a kiss?

A whistle shrilly shrieked. Startled, Jasper jerked in his seat. He scanned the field with narrowed eyes, wishing a private apocalypse upon the perpetrator who had interrupted his fun. When he saw it was only the ref calling a play, he relaxed and returned his attention to the screen.

lunarlight23: crystals only 14

                      like me

Thunder_God_37: Simon’s only two years older.

lunarlight23: true

                      but how old r u thunder

The ref blew the whistle again.

lunarlight23: ur profile doesnt say

Jasper bit his lip. The other girls hadn’t asked him his age this early in the game. Or had they? It had been too long since he’d last played.

Thunder_God_37: I’m around your age.

lunarlight23: so 14

Thunder_God_37: Give or take.

lunarlight23: plus or minus

Thunder_God_37: I thought you wanted to RP.

lunarlight23: i do

                      was just curious

He decided to paint the conversation in a shade of truth.

Thunder_God_37: I’m at a soccer game right now. Bored out of my mind. This is a good distraction.

lunarlight23: do u know someone on the team

Thunder_God_37: Yeah. My little brother.

lunarlight23: so ur in high school

Thunder_God_37: I’m a senior.

He backspaced.

Thunder_God_37: Sophomore.

Hitting send, Jasper chuckled.

lunarlight23: do u have ur license yet

Thunder_God_37: Yep. Got my own wheels!

lunarlight23: awesome

Thunder_God_37: Could come whisk you away, Princess Crystal. Just say the word.

The final whistle shrilly shrieked. Across the field, the visiting team celebrated their win while the Sandpipers trudged off to face their coach’s unsurprised disappointment.

lunarlight23: my real name is brandi

Thunder_God_37: Cute. Like you. And intoxicating…would I get drunk if our lips touched?

lunarlight23: how do u know what i look like

Thunder_God_37: I can tell you’re cute from our correspondence.

Before hitting send, he replaced the last word with “chat”—“correspondence” sounded too adult.

He watched the assistant coach pass out thirst quenchers and variety-pack chips to the dispirited Sandpipers. They glugged their Gatorade with the disconsolate air of children forced to drink from the public water fountain. Impatiently, Jasper drummed his fingers on the steering wheel.

Three dots appeared; disappeared.

“Hurry the fuck up!” he snapped at his phone. “How long does it take to accept a damn compliment?”

“Dad!” Sammy banged on the passenger window with his empty Gatorade bottle. “Did you see me?”

Wrenching his gaze free of the screen, Jasper gave his son the thumbs up, miming enthusiasm. “You almost got a goal!” He did his best impression of an encouraging father. “Better luck next time, champ.”

His son’s curly cornsilk hair hung over one wheat-colored eyebrow. “Why didn’t you hang out with the other parents?”

“Important business.” Jasper indicated his phone screen, now black with inactivity. “My boss dropped me into the middle of a shitstorm.”

“That’s why you always say.” Sammy heaved himself into the backseat. He buckled his seatbelt and tore open his chips. “Can you sit with the other parents next time?”

“Maybe.” Jasper’s too-bright toothy grin dominated the rearview mirror. “Depends on my work schedule.”

“Do you always have to work when you’re at my game?” Sammy’s voice was querulous.

Jasper pretended not to hear him. An unread RPit! message popped up. Before reading it, he went to “Settings” and changed the locks screen timeout to from five minutes to thirty. He didn’t want to miss Brandi’s notifications on the drive home.

lunarlight23: if u think im cute now u should see me in person

Victorious, Jasper pumped his fist in the air.

“What is it?” Sammy asked.

He ignored his son’s question. With one hand on the wheel and the other on his phone, Jasper barely glanced at the rearview mirror as he backed out of the tight parking spot.

Thunder_God_37: When?

 lunarlight23: r u busy tonight

                      we could facetime

Like taking candy from a baby. Clutching the stick, Simon shifted the Jetta into first gear. He’d need to borrow Sammy’s hoodie—the one featuring Simon from Senophilia.

Thunder_God_37: Let’s wait till after my parents go to bed. I’m


Sammy’s shout drew Jasper out of his one-handed text. Brakes squealed. Metal crashed. Glass shattered. As the airbag deployed, Jasper’s head thwacked against the back of the seat.

Fucked! was his inelegant observation before consciousness became past tense.


Sammy wore his arm in a cast for six weeks. By the time he was cleared to return to soccer, the season was almost over. Miraculously, the Sandpipers had made it to the playoffs. Jasper darkly wondered if that was because they didn’t have to lug around Sammy’s dead weight.

The night after the accident, he told Brandi he broke his arm at the trampoline park; she shared a story about how she’d fallen out of a tree and twisted her ankle when she was twelve (two years ago). Since he had walked away from the totaled car with nary a scratch, save a concussion and a broken rib, he got a kick out of letting her think he was the one in the cast.

Regrettably, Brandi chickened out on video chatting. He didn’t pressure her: he knew she would come around. They always did. Years ago, when Sammy was still in diapers, Jasper had seduced six other girls. All of them—even the one who claimed to be a lesbian—had let his camera see them. Not a one could pick him out of a lineup; they’d only sighted him from the chest down. (The exception was Martha: she’d been his original RP partner long before video chat became a mainstream form of communication.)

Since the accident, the plethora of after-hours sessions he’d spent in the basement had become conspicuous. Like a con man pushing a get-rich-quick scheme, he whipped out the old hurrah to evade his wife’s suspicion: he claimed to be on an exercise kick—“doctor-recommended physical therapy,” as he called it. His long-neglected dumbbells’ recent reappearance acted as a warmup for the fleece. Luckily, Martha seemed to believe him.


Jasper sauntered over to the dinner table. Martha had made dumplings—his favorite. King of the castle, he thought, smirking.

His wife gave him a shrewd glance. “You look like you just took a long crap in a department store men’s room.”

Her humor hadn’t been the reason he’d married her.

“Can’t a man feel optimistic without being degraded by his wife?”

“You’ve barely paid any attention to me since…”

Martha didn’t need to finish the sentence—the heart-stopping moment she’d interrupted him mid-vid-chat with Girl #6 was seared into both of their brains, and time’s passage had not dulled the shock. Fortunately, he'd disconnected the call with (Candace? Carrie? Claira?) Girl #6 when Martha’s melodramatic gasp had announced her abrupt intrusion: she'd literally caught him with his hand down his pants.

He reached for her across the table. “I’m different now.”

She jerked away. “It isn’t my fault you choose to spend every spare minute ogling that damn smartphone.”

“You sound like an old geezer, Mom,” Sammy chimed in, ever Jasper’s loyal mouthpiece.

“I may be past my prime, but I’m not stupid.” Martha shoveled a softball-sized lump of mashed potatoes onto her plate and doused it in ketchup.

Jasper made a face. “Why ruin a perfectly good pile of spuds?”

“Don’t yuck my yum,” she snipped, quoting a Sammy-ism.

“Mom, you’re too old to say that.”

“He’s got eight years on me!” She gestured at Jasper with a forkful of pinkish potatoes.

Sammy rolled his eyes. “Dad acts younger than you.”

“And that’s a good thing? I only gave birth to one baby—now I have two,” Martha seethed.

Tuning them out, Jasper entered a softcore neon daydream that smelled like vanilla-scented lip balm and freesia body spray. Ignoring his wife’s carping and his son’s whining, he fantasized about a girl young enough to be his daughter.


With five minutes to spare until go-time, he was in the basement running his best RP lines, psyching himself up. He’d been good for so long—didn’t he deserve to relieve some tension? Plus, he planned to quit the game after convincing Brandi to video chat. No one would get hurt. It was only a bit of fun. Besides, teenagers loved to experiment. Once more for posterity, he used to say to Martha in bed, back when she was young and fresh and barely legal.

His wife had taken her sweet time retiring for the night—he’d heard her pacing overhead for at least an hour after he’d gone downstairs. To inject legitimacy into his cover story, he’d made a racket with the exercise equipment, hopefully giving the impression he was lifting weights.

“Jasper?” she’d called down the basement stairs. “Don’t give yourself a heart attack.”

“Thanks,” he’d sarcastically replied. “I’ll try to avoid that.”

At exactly ten o’clock, Brandi texted him.

lunarlight23: hey

Jasper grinned. Right on schedule…she must be eager.

Thunder_God_37: Hey yourself. What’s up?

lunarlight23: not much

                      ur a sophomore right

His lizard brain triggered, Jasper warily proceeded.

Thunder_God_37: I already told you that

 lunarlight23: yah but i wanna make sure

                      people lie about their ages u know

His elevated mood sank. Brandi needed to trust him—otherwise, he’d revived the game for nothing.

Thunder_God_37: I’m not lying.

                             Anyway…you wanna RP?

 lunarlight23: maybe

Coaxing words from her was like pulling hardened caramel out of teeth.

Thunder_God_37: Okay, Crystal. You set the scene.

He sent a winking face. She did not return it.

lunarlight23: its too dark to see

                      how did we end up in this cave

Thunder_God_37: No idea.

Wracking his brain for images of “The Cavern,” all he could conjure was lime-green ooze dripping from stalactites.

Thunder_God_37: Take cover! It’s acid!

Brandi made shrieking-face emojis dance across the screen.

Thunder_God_37: I’m wearing my sheath. It’s impenetrable, remember?

lunarlight23: simon its a cape

Thunder_God_37: Right…but I transformed it into a sheath.

lunarlight23: no

                      a sheath is what u stick ur sword in

Thunder_God_37: Are you saying you want me to stick my sword in?

She texted laughing-crying emojis.

Thunder_God_37: It’s a valid question.

His nerves crackled.

lunarlight23: no more dirty talk

Thunder_God_37: Where’s the fun in that?

lunarlight23: the games rated E bruh

Jasper was losing his grip. It seemed he was conversing in an alien dialect with an ambassador from Planet Xerxes in the distant galaxy of Alpha 59X-53. Nonplussed, he shared his thoughts with Brandi.

lunarlight23: i am ET

Thunder_God_37: A sexy ET.

Although his confidence had slipped, he refused to let it go.

lunarlight23: thought u were covered in acid simon

Thunder_God_37: I’m covered in something…but it’s not acid.

lunarlight23: omg

                      ur bleeding

                      this is my fault isnt it

Thunder_God_37: Nah. I’m the one who dropped the ball.

lunarlight23: ur right about that

                      the ig pigs r gonna put you in chains

Thunder_God_37: Yikes. Have I offended you?

After two minutes of zero response, Jasper impulsively decided to go all in. Nothing left to lose but my pride.

Thunder_God_37: I wish I could see your face.

Brandi’s side of the chat instantly revived.

lunarlight23: why

Thunder_God_37: Because I bet you’re really pretty.

lunarlight23: ha

Thunder_God_37: I want to see your lips in action.

lunarlight23: r u saying u want to do dirty stuff with me on the phone

Thunder_God_37: Call me. We’ll figure it out together, eye to eye.

His voice-changing app was ready to go in case she said yes.

lunarlight23: k

Jasper released a savage growl of victory. He whipped on Sammy’s Selenophilia hoodie to hide his slight paunch. Critically examining his hands (which he had earlier shaved because his hairy wrists and knuckles aged him), he applied “Youth,” his favorite filter, to the camera settings. After aiming the phone at his chest, he adjusted the angle until his stubble-speckled neck was safely out of view.

“And…action,” he whispered, a phrase he had longed to utter since that long-ago halcyon summer of unchecked cheating. Those were the fucking days…

Thunder_God_37: Calling now. Turn on your camera!

Overhead, Jasper heard his wife’s weighty footsteps descending the second-story stairs, followed by the front door’s telltale opening creak.

The call connected. He stared at the grainy face on the other end of the line.

“Once more for posterity,” Martha mocked, her stony expression captured by the camera’s dilated pupil.


An authoritative gait preceded a booming knock on the basement door.

“Jasper Horrigan?”

As the gamers might say, Jasper was officially pwned.

October 07, 2022 23:54

You must sign up or log in to submit a comment.


16:30 Oct 08, 2022

The first paragraphs really build tension with his obsession with 'lunarlight23'. The texting capture gen-z texting slang really well (not that I would really know.) The twist, and the huge gap between his online world and the real world makes this interesting social commentary as there are so many people wrapped up in this these days.


R. N. Jayne
19:57 Oct 08, 2022

I appreciate your comments, Scott. It took some nerve for me to post this story; now I'm glad I did. It's never comfortable to get into the headspace of total creeps like Jasper, but I wanted to portray his folly as a potential RL situation: a cautionary tale for teens and adults alike. Thank you for reading!


Show 0 replies
Show 1 reply
Janna Woods
05:52 Oct 15, 2022

Pretty good, for a starting writer, though I should say as a survivor of Childhood sexual assault, you did overlook some of the things most people do, 1. predators are not usually easily seen, they look like everyone else, and they can be good fathers and husbands, that's why it's so insidious, 2. they are usually enabled by their wives or husbands and family, people will do a lot to cover for the shame, especially if finances are involved. 3. I felt like you did not have any empathy for your monster, he was unlikeable in every way, so your ...


R. N. Jayne
20:57 Oct 15, 2022

I'm sorry for your traumatic experience at the hands of a predator. Thank you for the comment!


Show 0 replies
Show 1 reply
R. N. Jayne
19:36 Oct 17, 2022

Author's note: Just so it's clear, I did not intend to intend for the reader to empathize with the main character and/or condone his actions—commenter Janna Woods was right when she observed that I didn't make Jasper likeable. In fact, I don't posses a single shred of compassion for Jasper (or others like him). This story was a personal exercise in fictional revenge against a RL person who abused multiple children in my family and got away with their crimes (aided and abetted by their spouse). Zero empathy from me. To this day the decision ...


Show 0 replies
RBE | Illustrated Short Stories | 2024-06

Bring your short stories to life

Fuse character, story, and conflict with tools in the Reedsy Book Editor. 100% free.