Work Text:
Eternity.
That’s what they were facing, right? An eternity in this digital hellscape. Forever stuck in cartoon bodies, human selves forgotten, death only temporary.
Jax wanted to stop thinking about it. He really did, but then—
Abstraction. The only real death they got, but even then, it wasn’t like they were dead. Vpzsk was still…something. Not themself anymore, but still somehow conscious. A rippling mass of ink and eyes that seemed intent to destroy.
Or…connect? Maybe? Get help? Because Vpzsk had honed in on Kaufmo, screeching and yowling and sputtering. Like they were begging, or like they were trying to speak. But maybe Jax was just trying to see the last vestiges of his friend. The one who kept a calendar, and told Jax and Ribbit to pick a birthday, and kept time in a place where it had no meaning. They’d eagerly celebrated their fake birthdays, and finally let Jax and Ribbit drink when they turned seventeen. (Beer tasted like piss water and whiskey was liquid fire—but at least they tasted.)
Maybe Vpzsk’s living corpse was just seeking Kaufmo out to kill him, though.
It had been two weeks since Caine shoved Vpzsk into a void and told them to forget about it. Ragatha, dutifully, did so. Ribbit tried, but it was clear Kaufmo couldn’t. He was usually in Kinger’s pillow fort, or chugging pilfered booze.
When Jax had first come to the Circus, he’d thought Kaufmo gave off the vibe of someone Committed To The Bit, even though the bit was long dead and rotting. Like, he saw a clown in the mirror and decided going for the kind of gaffs that you only get from the joke book you leave by the shitter was going to be his Thing. But as Jax got to know him, he’d realized Kaufmo was just a guy, doing his best to survive in a fucked up world. He forcibly found levity in those awful moments, and tried to get people to remember joy did exist.
His grief was so loud in its silence, and Jax didn’t know how to help him.
He couldn’t offer escapism—adventures in the barely-rendered parts of the map, hidden pockets of the world where a mannequin NPC clipping through the floor gave an entire opera to T-posing alligators or llamas did the macarena around a black hole—because it would make them think of Vpzsk. They’d’ve grated out that weird laugh and pushed them to find something even crazier, and they would have been drawing out a map the whole time.
And he couldn’t rely on Ribbit, because Ribbit had gotten attached to Ragatha, and Ragatha avoided everything even vaguely feelings-flavored. Ribbit would tell him to just leave it, because that’s what Wet Rag Ragatha would tell them to do.
And Kinger was useless, and Caine was Caine, and—
It would be fine. It would have to be. Kaufmo would grieve, and they’d move on, and Jax could try to forget how fucked up life was now.
And so they did.
Slowly, Kaufmo came back to his stupid jokes. And Jax stopped thinking about the existential horror of their existence as much. And chaos unfolded at the hands of Caine’s shitty adventures, and Ragatha continued to pretend everything was fine—so Ribbit started to pretend that everything was fine.
It had been two and a half years that they’d been stuck here, if Vpzsk’s calendar was correct.
And they were never going home. They were stuck in a video game for eternity, so he might as well as enjoy it.
Dive off a cliff to your death, then enjoy a respawn.
Piss off the NPCs until they mob you and cackle as they stampede you into a pancake.
Shove your friends (or, well, Ragatha) into the firing line, and play off their fake death.
It’s all fake, right? Sure, they all call you an asshole and they get mad and being hit by a train fucking hurts, but it’s not real, right? You’re just sentient pixels. No biggie.
So, yeah. Sue him. He’d detached the train car he and Ribbit were in. Sure, it was a murder mystery, but it was honestly just a yawn fest. The professor who specialized in rare and deadly plants and had no alibi was clearly the killer. Ragatha couldn’t commit to accusing him, Kinger was in full space cadet mode, and Kaufmo was camped out at the bar. So, he and Ribbit could either try and sway Kaufmo into voting to win the majority rule, or they could create their own sidequest.
Jax preferred the idea of a sidequest.
So, here they were hurtling down the tracks with no way to steer and no direction in mind. Ribbit’s arms were crossed and he was glaring at Jax. The train car was small, more of a hallway than anything of substance, but the fact he was close enough that Jax could feel his breath was definitely a choice.
“So, the professor totally did it, right?” Jax said. Ribbit just frowned harder. “Ah, c’mon, Hopsy. We both know he did.”
“Yes,” Ribbit bit out. “Which is why I was fine staying.”
“Mm, snoozefest,” Jax drawled.
“It was fine,” Ribbit insisted. “We almost had him.”
Jax snorted. “Bull. Dollface was losing her stuffing over actually committing to something for once.”
Ribbit’s glare sharpened.
“I don’t get why you let her boss you around,” Jax continued. “You’re clearly smarter.”
“She’s my friend, Jax,” Ribbit snapped.
Jax just scoffed—earning a small shove as Ribbit glowered.
“You’re supposed to be my friend, too.” The hurt in his eyes was clear, and for a moment, Jax felt bad—but, like, pot meet kettle. Ribbit was his friend first. But he was off with Ragatha, dragging her into the shit they did to remember who they were before. And she’d judge them, and she didn’t get their jokes, and she kept fucking inserting herself into their stories. She wasn’t there when Ribbit snorted milk through his nose! Jax was! And Ribbit knew every last detail of the first time Jax broke his arm, because Jax was on Ribbit’s skateboard, and Ribbit was the one to push him down that pothole-filled hill.
But, oh, milky mucus was too much for the princess, and she fucking fretted the whole time Jax described that horrifying, terrifying rush of hurtling to his doom.
So, Jax had to start hanging out with Kaufmo and Vpzsk. The very dead, very abstracted Vpzsk that Ragatha didn’t even cry over. Jax could bet she didn’t even know why Vpzsk had that name (Caine spun the wheel of names, and Vpzsk hadn’t realized they could actually talk in the Circus), or what their favorite marine organism was (algae, but specifically the parasitic divisions). And, like, when Vpzsk told him that he and Ribbit were dumbasses who didn’t fear god, he at least didn’t turn it into a lecture. And Kaufmo usually could sneak in a pun so stupid, Jax couldn’t help but laugh.
So, yeah. Ribbit was supposed to be his friend, too, but he was too wrapped up in Ragatha Land to care about Jax.
“I am,” Jax said. “Which is why I snagged this.” He reached into the hammerspace of his pockets and pulled out the grappling gun he’d stolen from the tomb raider in the dining cart. “Think about all the crazy stuff we can do.”
Ribbit just rolled his eyes, and fuck it hurt. In the past, he would have gone feral for it.
“I looted other NPCs, too,” Jax said. Please, please, let him be excited.
A scoff huffed out of him as he started pacing. “We’re growing up, Jax,” Ribbit finally said, digging yet another wound into him. “I don’t—we need to grow up at some point.”
Fucking Ragatha. Miss High-and-Mighty.
“We’re in Neverland, dude.” It was hard to keep his voice steady.
“We’ll be eighteen in a couple days.”
“Will we?” Jax couldn’t stop himself from getting loud. “Like, actually? Do you remember your real birthday?”
Ribbit stopped mid-step.
“Because I don’t. And I know you picked the same day as me. And I know—I know, dude—you used to be older than me. But I don’t remember how much. A week? A month? A year?” Jax swallowed hard. “So tell me, are we going to be eighteen? Or are we just guessing?”
Stupidly, horribly cartoonish eyes blinked as Ribbit looked at him.
“The longer we’ve been here, the less I remember. But I remember you being my best friend in the entire world, and I remember our first day here. I remember how scared we were. So—so I’m trying to have fun, in a [gloink!]ed up world where time doesn’t have meaning, and you’re a frog, and I’m a rabbit, and I can store an entire grappling hook in my pocket! Where our friends die, but not really, and Kaufmo tries to keep it together, and Kinger tries to forget, and—” Fuck he was crying now. Stupid, ugly tears that he wished he could hold back. “You’re my friend,” he managed out weakly.
“Jax…,” Ribbit murmured. But then his eyes went wide as he yelled, “Jax!”
Jax turned his head to follow his gaze. Shit. Fuck. Shitfuck.
They were hurtling toward a cliff.
They sprinted to the front of the car, but there was no emergency break. The car was headed in one direction, and that was off a cliff.
They careened off the edge, bodies immediately separated from the car. Cartoon gravity held them aloft for two painfully long seconds before they were plummeting toward whatever the hell was at the bottom of this valley.
Fuck, it felt so real.
…was it real?
“Jax!” Ribbit screamed.
Right. He had the grappling hook. He should use that now.
But, which way was up? It was a ceaseless pit of blackness and Jax knew he’d flipped at least twice. Okay, make a choice.
Pick a direction.
Any direction.
Pick a direction, Jax—
He deployed the grappling gun, reaching out for Ribbit’s hand.
There was no thunk, no anchor. They were still falling.
Recall it, try again.
This isn’t real, Jax. You can’t really die. It’s okay to fail.
But, once again, nothing.
Ribbit’s grip was so tight.
Again.
Nothing.
Again.
Nothing.
How was this possible—
Keep trying.
Nothing.
And again, and again, and again—
Thunk.
His arm snapped painfully straight, the weight of him and Ribbit bearing down.
“[Honk],” Ribbit sobbed. “[Gloink.]”
“Hey, it’s all pretend,” Jax soothed, even though his heart was pounding. “The worst that can happen is a surprise reboot.” He gently swung them towards the cliff face, planting his feet against the surface. “C’mon, get those lanky legs around me.” He couldn’t tell if the tears clinging to the edges of his eyes were from before or after the fall.
Slowly, Ribbit walked up the wall, one leg hooking around Jax’s waist, followed shortly by the second. And almost as slowly, Jax started walking up the wall.
It could have been minutes, and it could have been hours, but eventually Jax was forced to face the fact they’re not going anywhere. This pit was endless.
“Hey, so, Plan B,” Jax said, and he could feel Ribbit groan before he even heard it. “Hey, no! This is easy. Look, reach into my pocket, okay? There should be two vials.”
“No,” Ribbit said flatly.
“C’mon,” Jax drawled. “It’s a way better plan.”
“No.”
“I mean, we could hang out in the infinity void for, well, infinity—”
“I’m not killing myself, Jax.”
“Yeah, exactly! It’s a forced respawn!”
“No.”
“Ah, what a loser,” Jax teased, releasing one of his hands from its death grip to riffle through his pockets.
“Jax, I swear to God—”
“There’s no God here, babycakes. We both know that.”
“I don’t want to die!”
“And I don’t want to haul both of us up an infinity cliff! Wow, easy solution.” He successfully pulled out two vials he’d pilfered from Mr. Murderer himself, and passed one to Ribbit. “Bottom’s up!”
“Jax—!”
But the bottle was at his lips, and the sweet-bitter tang of poison coated his tongue. It was easy to close his eyes and count back from ten.
And then, boom, back in the hub with a casual respawn. Ragatha was wringing her hands (ugh), Kinger had already retreated to his pillow fort, and Kaufmo was clutching a poorly rendered bottle of Jack Daniels.
Jax looked to the space next to himself. Ribbit hadn’t respawned yet.
“Oh my gosh, we were so worried!” Ragatha said, and Jax had to hold back the urge to punch her. “When the adventure finished and you weren’t here—”
“Whatever,” Jax muttered, looking around for Ribbit. Had he somehow respawned first? “Have you seen Ribbit?”
Her hands wrung tighter. “I thought he was with you.”
“He was but—” No, don’t give her fodder, Jax. “Whatever. I’m going for a walk.”
—
It was hours later that he finally saw Ribbit. He was with Ragatha, talking about something. The moment their eyes met, Ribbit looked away.
Part of Jax wanted to run over to him, tell him he was a bitch and he had no right to be mad.
But…how long had Ribbit hung there before finally accepting a respawn? It had to have been a while—long enough to make a pit of regret sit in Jax’s stomach. Maybe he should have kept trying to climb the infinity cliff. Maybe they should have stuck together. Maybe Jax had actually, totally fucked up.
So he’d give Ribbit space.
…even if that space lapsed into several days. Even on their supposedly-eighteenth birthday, Ribbit barely talked to him. He stood a good distance away from him on the Birthday Stage Caine had rigged up and offered a hollow “Happy fake birthday” and popped confetti crackers like they always did. But the moment the cake was cut, he stuck by Ragatha’s side and ignored Jax.
And it hurt. They should be laughing over Kinger’s choice to say “mazel tov” when everyone else shouted “happy birthday”. They should be trying to sneak liquor from Kaufmo’s stash. They should be playing the fucked up “pin the tail on the hognosed beast from Castle Adventures 4: Return to Saving the Princess, the Return” Bubble had spawned.
But Jax was sitting with Kaufmo and Kinger instead. He turned down the shot of whiskey Kaufmo offered, and felt almost as out of it as Kinger probably did.
Two years, eight and a half months of being in this hellscape. Jax had checked Vpzsk’s calender, just to be sure. And in the nearly three years they’d been here, Jax had never felt more homesick in his life. Sure, he and Ribbit had fought before. It’s part of knowing someone since you were eleven, and your first real interaction was pissing the other person off. But since coming to the Circus, every fight was small. And every fight was, objectively, petty. But this fight felt different, and Jax didn’t know how to fix it.
And if he lost Ribbit….
He’d be losing the last piece of home he had. The last vestige of his real self, his real life—the life he so desperately wanted to go back to.
But even after their birthday, Ribbit still refused to talk to him. Jax had tried, but Ragatha would always be there, and she kept telling him to leave Ribbit alone. Like she owned him or something.
So, sue him. He waited until Ribbit went back to his room and followed him.
“We need to talk,” Jax said as he shut the door behind him.
Ribbit crossed his arms and frowned at him.
“Look, whatever I did, I’m sorry, okay?” Jax nearly winced as he spoke. Jesus, that was such a shitty apology. “I mean, like, I know I messed up. But I don’t know what I did!”
“Unbelievable,” Ribbit hissed out coldly.
“I’m sorry! Really! But tell me what I did!”
“When you died, I fell,” Ribbit said, and Jax’s stomach dropped.
“But it’s not real—”
“It felt real!” Ribbit’s arms tightened. “And that wasn’t even the bad part.”
Guilt roiled through him—fear and apprehension tangling together.
“I got stuck in a glitch world until Bubble saved me. For what felt like, forever, Jax. Because of you.”
“How was I supposed to know?!”
“Maybe don’t leave me to die!”
“None of this is real!” Jax yelled.
“It’s real to me!” Ribbit yelled back. “It’s real to all of us except you, but you’re such a [gloink] hole, you can’t even see that!”
“Oh, like living in delusions is better?”
“We’re stuck here, Jax! This is our life now!”
“Yeah, because of you!”
The silence was deafening.
“I hate you,” Ribbit finally said, barely a breath’s worth of sound.
“I didn’t mean it—”
“You’re a self-centered bag of [honk] who always puts himself on a pedestal. I’ve been—I’ve been putting up with you because I don’t have a choice—”
“Oh, [gloink], stop listening to Ragatha! If anyone’s self centered—”
“She’s the only one here who understands me!”
“I’m here!”
“It’s not about you!” He paced in a frantic half circle as his chest heaved. “You don’t listen, Jax. You don’t care. I can’t talk about things with you. We—we aren’t compatible anymore.”
“Oh, I bet Ragatha told you that.”
Ribbit froze—then a scream of pure and utter frustration bubbled out of him. “I hate you! I hate you! I hate you!” His left hand twitched.
“Oh, well, congrats!” Jax said sarcastically.
Another scream left Ribbit’s body, and his hand twitched again.
No. Not twitch.
Glitch.
Jax’s body went cold. Slowly, he forced himself to look back at Ribbit’s eyes. He blinked, and one eye was bright yellow, and the other magenta—sclera completely black. Blinked again, and they were back to normal.
No, no, no, no—
Shit, shit, shit, shit—
“Hey, woah, dude,” Jax said as gently as he could, heart pounding so hard he could feel it in his throat. “Uh, forget everything I said.”
But Ribbit just blinked, and his eyes were a pulsating yellow and pink again.
“Ribbit, I promise. I’m so sorry. I’ll do anything you want. Please. I’m so sorry. I didn’t mean it.”
His whole arm was a jagged mess of fucked-up pixels now. That awful, inky black was stretching across his skin, distorting and corrupting everything it touched.
Tears pricked at Jax’s eyes as he stared at his friend, watching the corruption spread. “I’m sorry,” he said as a sob shuddered out of him. “I’m sorry. Please come back.”
But it was too late. He was gone. He was a sea of eyes on a seething void.
A horrible, grating screech echoed through the room, and as much as Jax wanted to curl in a ball and cry, he knew he couldn’t. He needed to bring Ribbit to Caine—a fucked up atonement for making his friend abstract.
No. He didn’t. Ragatha did. Ragatha put those thoughts in his head, and Ragatha was why they fought, and Ragatha ruined him—
Ribbit screeched again, and Jax forced his wobbly legs to support him. In moments, he was running down the hallway to the hub, his best friend’s living corpse hot on his trail.
“Caine!” he screamed. “Caine, you [honk!] I need you!”
Instantly, Bubble was there. “Well, you’re in a pickle,” he said.
“Holy—Bubble! Caine! Now!”
From the ether, Caine appeared. “What seems to be the trouble, my little—great googley moogley!”
“Please!”
A void opened up, and in seconds, Ribbit was dumped in.
Jax’s legs gave out, and every last emotion he’d been suppressing slammed him to the ground. Sobs tore out of him—huge and ugly and awful.
Ribbit was dead.
His best friend was gone.
And he still had eternity in this place.
