“I’m gonna do it,” Liam said, pacing the dorm floor like he was rolling for confidence.
Miles didn’t look up. “Do what?”
Liam held up a tiny velvet box. “After the next session. I’m going to ask June.”
“You sure she’ll say yes?” Miles asked, still typing.
Liam smiled. Not a cocky grin—something softer. Real.
“She kissed me when we reached the Mirror Spire last week. It wasn’t scripted.”
“Maybe she just got into character.”
He paused. “Even if it was roleplay... I meant it.”
Behind the door, I stopped breathing.
I had just come to return Bee’s dice bag. I didn’t knock. Didn’t move.
Inside, Liam chuckled. “You think she still sees me as the hero?”
“She sees something,” Miles said. “Everyone does.”
I turned and walked away.
The velvet box stayed in my mind long after my footsteps faded.
That night, I couldn’t sleep.
But I wasn’t the only one.
Miles sat at his desk, monitor flickering like a heartbeat. He whispered to himself as he typed.
“Final encounter… narrative shift…”
Onscreen, the campaign log was open. The Archivist stood at the edge of the Vale.
Dialogue options unfolded beneath him.
Miles highlighted one that said:
“Protect what remains.”
He pressed delete.
Typed:
“Sacrifice what matters most.”
He paused.
Then typed again:
“One must break to end the story.”
The screen flickered.
The Archivist blinked.
And for just a second, I swear I heard Liam’s voice come out of the speakers. Just one word.
“Brother?”
Miles hit mute.
Then he hit save.
I almost told him.
Liam sat at the table, organizing his cards, humming to himself. He always hummed when he was nervous.
I stood at the door, one hand on the frame, the other gripping my character sheet.
“Hey,” he said, glancing up. “You ready for tomorrow?”
“Yeah.”
He smiled. “This ending’s gonna be big.”
I forced something like a nod.
He went back to humming.
I looked at my sheet.
My paladin’s oath was scratched out. Rewritten in Liam’s handwriting.
“To shield what others abandon.”
I didn’t say anything.
Didn’t ask about June. Didn’t ask if he was sure.
Instead, I took out my mini.
And sharpened its blade with the edge of my thumbnail.
Again. And again.
Until I didn’t feel anything.
Liam dimmed the lights.
Bee hooked his phone to the speaker and played a cinematic playlist he called “Boss Fight Energy.”
Sienna lit a candle with an actual lighter. “For ambiance,” she said.
June sat down last. Her eyes didn’t meet mine.
Miles opened his laptop. He didn’t say a word.
Liam looked around the table and grinned.
“All right, adventurers,” he said. “You stand before the Blood Gate. Behind it, the ending you wrote together.”
Bee raised his hand. “Do we get one last long rest?”
“Nope.”
Sienna smirked. “Figures.”
Liam clicked the next slide on the projector.
“FINAL ENCOUNTER.”
The words flashed in bold crimson.
My fingers tightened around my dice.
I didn’t know if we were going in to win...
Or if something had already decided who would be left behind.
“Roll initiative,” Liam said, grinning like it was any other session.
It wasn’t.
The screen showed the Blood Gate, burning red. Behind it, the Archivist. No stats. No modifiers. Just presence.
“I intercept the void blade!” Liam’s character (Rhen, the hero-knight) stepped in front of June’s rogue.
She shouted, “Don’t you dare…!”
“I take the hit,” Liam declared, eyes locked on Miles.
Miles nodded.
Dice rolled.
Natural 20.
Of course it was.
“I drop to one knee,” Liam narrated. “I hand her the memory stone. I say… ‘Live this story better than I did.’”
“Don’t,” June whispered.
But Rhen was already gone.
Liam placed his mini on its side.
June stared at it like it had betrayed her.
“It’s done,” Miles said.
“No,” she choked out. “It’s not.”
But the game said otherwise.
And in the silence that followed, Liam smiled...
Like he’d always known this was how it had to end.
Bee stood up.
“I play the Oath Between Brothers,” he said. “Bardic inspiration.”
Miles didn’t lift his eyes. “You can’t.”
“What do you mean I can’t?”
“The Archivist silences you.”
“That’s not in the rulebook.”
“I didn’t write it.”
Sienna looked away.
“I pass my turn,” she said coldly.
“Of course you do,” Bee muttered.
I looked down at my sheet. Everything was there. But it all felt wrong.
“I move forward,” I said.
“You’re alone,” Miles told me.
“I know.”
“The echoes close in.”
“I don’t raise my sword.”
Everyone watched.
“I kneel,” I said. “I pick up Rhen’s blade. I don’t speak.”
“No battle cry?” Liam asked, smiling weakly.
“Not today.”
Bee’s eyes filled with something I couldn’t name.
I rolled.
The quest ended.
I don’t remember the number.
Only the silence that followed.
The room stayed still for a long time.
No jokes.
No recap.
Even the background music had stopped.
Bee sat down slowly, staring at his hands. “Was that... supposed to happen?”
Miles closed his laptop.
“Yeah,” he said.
“No epilogue?” Sienna asked.
“It’s over,” Miles replied.
June didn’t move. Her character sheet sat untouched.
Liam leaned back, arms behind his head like he hadn’t just died.
“I liked that ending,” he said quietly. “It felt... honest.”
“No, it didn’t,” June whispered.
He didn’t respond.
Neither did I.
The projector screen dimmed, then went black.
No credits. No fanfare. No stats.
Just an empty grid.
Like the world we built together had simply vanished—
And taken something vital with it.
Three days later, the campaign file was gone.
Bee texted the group chat.
Bee: “Hey, anyone else get logged out of the server?”
No one replied.
June left the group entirely.
Sienna posted a cryptic i********: story and deleted it minutes later.
Liam didn’t say anything.
And Miles...
Miles was the only one who printed the campaign log.
I saw him carrying it once. Thick as a novel. Bound in a leather journal that didn’t look new.
“You’re keeping it?” I asked.
“I’m archiving it,” he said.
“For what?”
“For next time.”
“There’s no next time.”
Miles smiled without warmth.
“There always is.”
I didn’t argue.
But I remember thinking…
Maybe some stories aren’t meant to end.
They’re meant to haunt.
Miles sat alone in the dorm lounge. Everyone else had cleared out after finals.
He pulled the campaign book from his bag and set it on the coffee table like it was something sacred. Gently, like it might bite.
He flipped through the sessions. Notes. Stats. Scribbled dialogue. Scribbled regrets.
He reached the last page, blank.
And stared.
Then he tore it out with a slow, deliberate rip.
He placed it on the table. Picked up his red pen. And across the bottom, he scrawled:
TO BE CONTINUED.
Not because he believed it.
But because unfinished stories haunted him.
Behind him, the common room TV murmured white noise. Outside, wind scratched across the windows.
He folded the page, tucked it into his pocket, and whispered:
“Next time… I’ll fix it.”
I stood at my window for a long time.
The Oathblade mini rested in my palm, cool and heavier than it should’ve been. The paint chipped where my thumb used to rub it during rolls.
I didn’t speak.
Didn’t cry.
Didn’t even really feel.
I just placed it on the sill and turned away.
From somewhere across campus, Bee’s voice crackled over Discord.
“Logging out,” he said. “Maybe for good this time.”
Click.
Gone.
Sienna never said a word. She just removed the campaign tag from her files.
June...
She hovered over her folder for five full minutes.
Then deleted it.
No backup.
No archive.
Just...
Deleted.
We all walked away from the story that night.
But the world?
The world stayed behind.
Waiting.
Eidolon Vale vanished from the server.
Liam texted once:
“Good session. Not our best ending. But honest.”
No one replied.
The server status read:
ARCHIVED. LOCKED.
It was Miles who triggered the shutdown.
He never said it aloud, but I saw the moment it broke him.
He clicked the shutdown command. The screen went black. The faint reflection of his own face stared back.
No sound.
No closure.
Just the memory of us.
Of what we built.
And what we couldn’t hold together.
We never played again.
We never even spoke about it.
Whatever that story was, it stayed buried.
But part of me thinks the world didn’t die.
It just... closed its eyes.
Waiting for the right moment to dream again.
Liam was supposed to drop off a USB at Miles’ place.
That’s what he said in the group chat.
“I’ll swing by tonight. Got something to hand off.”
He never made it.
It’s strange what you remember in slow motion.
His playlist was still open. The ring box rested in the cupholder, lid unsealed like it couldn’t wait anymore.
The taillights reflected red against the rain-slick road.
He reached for his phone.
A message from June sat unsent on his screen.
The truck came from the left.
There was no sound.
Just... white.
Like a page being turned.
Like the end of a campaign you didn’t realize was real until it was too late.
The church smelled like wax and wilted flowers.
Liam’s photo sat on the altar, grinning like he hadn’t rewritten the ending of all our lives.
I stood in the back, hands in my pockets.
Bee wiped his eyes in silence. He kept whispering something under his breath.
Sienna wore all black. Not the sleek kind, an unpressed hoodie, messy eyeliner, as if mourning offended her. She didn’t sit. She leaned against the wall and stared at the casket like it owed her an apology.
Miles... Miles didn’t sit with us.
He stood in the farthest row, watching us.
Not the coffin.
Us.
“Where’s June?” someone whispered.
“She’s not coming,” Bee said softly.
“She’s not ready,” I added.
But I don’t know who I was saying it to.
Or if I believed it.
I didn’t cry.
Not because I was strong.
Because I didn’t know how.
That night, I opened my character folder one last time.
Silent Oath. Level 7. Oathbearer subclass. Resilience +2.
Written in Liam’s hand:
“This one saves others before himself. But maybe he wants saving too.”
I stared at the line for a long time.
Then I hit delete.
The file vanished in a blink. No confirmation. Just... gone.
Across campus, my phone buzzed.
Bee: “Hey. Just checking in.”
Bee: “We should meet. Talk. Game night again?”
Bee: “Theo?”
I put the phone face down.
It vibrated again.
Bee: “Forget it.”
Then nothing.
Just me, and the quiet, and a memory I couldn’t fix.
Sienna showed up to Liam’s grave two weeks later.
She didn’t speak. Just sat cross-legged in the grass, holding her warlock pact card.
It was creased and faded. Her name still scratched into the back.
“I didn’t even like you,” she said finally.
She pulled a shoebox out of her bag and set it beside the headstone.
“Here.”
She placed the card inside.
On the lid, in marker:
IRRELEVANT
“You wanted sacrifice,” she whispered. “Well, this was mine.”
Then she lit a cigarette, leaned back against the stone, and watched the smoke curl upward like spell components she’d never cast again.
Time passed.
Real life bled in, slow, quiet, uninvited.
Bee moved to another city.
Sienna changed majors and stopped replying to texts.
June disappeared from social media.
Miles stopped DMing. Said the magic was dead.
I drifted through those years like a ghost in my own story. No dice. No map. No world.
Just absence.
Then, one morning, a thick envelope arrived.
No return address. No sender’s name.
Just my name written in crimson ink across the front:
THEO RAMIREZ
Inside: a bound copy of our old campaign log.
Every character sheet.
Every lost relic.
All updated.
The last page was blank.
Except for one sentence, handwritten in Liam’s voice:
“You promised we’d finish it.”
The campaign book smelled like dust and memory.
I opened the cover and felt the weight in my chest before I saw the pages.
Every sheet (mine, Bee’s, June’s, even Sienna’s) restored. Updated. Stats cleaned. Subclasses refined. Notes in margins... none of which I had written.
“Passive perception adjusted +1,” one read in red ink.
Another, scrawled beside June’s rogue:
“She always leaves. But she always looks back.”
I flipped to the end.
A blank page.
Except for a single sentence at the bottom in Liam’s handwriting, unmistakable even in death:
“You promised we’d finish it.”
I stared at it for so long, the words seemed to fade.
Or maybe I just started seeing through them.
The envelope had something else in it.
I nearly missed it, tucked beneath the book, wrapped in cloth.
A twenty-sided die.
Heavy. Cold.
Each face blank except one.
The number 1, etched in silver. Glowing softly like it had just been rolled.
I held it in my palm.
It pulsed once.
Then again.
When I blinked, it was gone.
Still there, but different.
“Why now?” I whispered.
But the silence had no answer.
Just the faint echo of a voice I hadn’t heard in years.
“Begin.”
Miles sat in his dark apartment. The screen glowed faint blue.
He hadn’t touched the campaign file in years.
He told himself he was done. That he archived the pain. That he let go.
He hadn’t.
His fingers hovered over the keyboard.
He clicked.
The folder opened. No password. No prompt.
Just... open.
“Don’t do this,” he whispered to himself.
But the Archivist had already loaded.
Its avatar shimmered on the screen.
The dialogue box blinked once.
“You’ve returned.”
Miles didn’t answer.
The campaign map expanded on its own.
The Vale breathed again.
And at the center...
A marker labeled:
The Oathblade Awakens
My hands shook.
I opened our old group chat. Most names were gray. Sienna’s icon was gone. Bee hadn’t been active in weeks. June’s account? Still deleted.
Still... I typed:
Theo: “Game night. One last time.”
I stared at the message.
Hit send.
One gray check.
Two.
A reply lit up seconds later.
Bee: “I never logged off.”
Then Sienna:
Sienna: “You better not waste my time.”
Nothing from June.
But somehow, I knew she read it.
And Miles?
Miles didn’t respond.
But the server lit up anyway.
EidolonVale.lnk - Session initializing…
I rolled the die once.
It didn’t stop.
It just spun.
The basement smelled like dust, wood polish, and old stories that didn’t know they were dead yet.
I opened the plastic tub labeled “Campaign Night” and pulled out the board, the trays, the dice tower Bee made from leftover cereal boxes.
I wiped down the table in slow, even circles.
Character sheets (restored from the book) were laid out in their original seats.
Bee’s bard: Riddle.
Sienna’s warlock: No Name.
June’s rogue: Nyra.
Mine... just: Paladin. No title. No kingdom.
Snacks sat untouched. Plastic wrappers crackled under the weight of silence.
In the center of the table, I placed the die.
Still blank.
Still pulsing.
Still waiting.
I took a breath.
And sat down.
The door creaked.
Bee entered first, hoodie up, guitar on his back, like he never really left.
“Thought I dreamed this invite,” he said, sliding into his seat. “Guess not.”
Sienna came next. No war paint. No sarcasm. Just her eyes, tired, but focused.
She didn’t speak. Just pulled her old ring from her pocket and set it beside her sheet.
Miles stepped in last.
He didn’t look at me. Just walked to the head of the table, placed his old DM screen down, and booted up his laptop.
A quiet chime rang out as the campaign file launched.
Everyone sat.
No one said a word.
Because we were waiting for the last player.
And somehow, even without the sound of her footsteps…
We knew June had arrived.
I reached for the die.
It felt heavier now.
Or maybe I was.
My fingers trembled as I lifted it. Everyone watched.
I rolled.
It didn’t land.
It hovered mid-air, spinning slowly, humming like a held breath.
The lights flickered, faint, rhythmic, like a memory trying to return.
Bee’s drink tipped over. Sienna’s ring rolled toward the center.
Miles stared at the screen.
“The system’s... rewriting,” he whispered.
“What does that mean?” I asked.
His voice was barely audible. “It means the world is responding to us again.”
A buzz passed under the table.
Something electric.
Something alive.
The map loaded itself without command.
And in the corner, etched in ghostlight:
Eidolon Vale: Version 2.0
A voice cut through the flicker.
Not Liam’s.
But it was someone we all knew.
Every syllable landed like thunder and memory and blood.
“Begin.”
The table glowed.
The dice floated.
The map stretched outward, no longer flat.
Miles looked up.
“It’s not just remembering us,” he said.
“It’s remaking us.”
The walls of the basement cracked.
A wind rushed through, though no windows were open.
Sienna’s pact card reappeared.
Bee’s fingers moved to play a chord he hadn’t written.
June’s voice said softly, just loud enough for only me to hear:
“You stayed.”
I didn’t answer.
I just gripped the table and whispered:
“Let’s finish what we started.”
The world shattered open.