CELESTIAL LEGEND is a browser-playable interactive fantasy romance about four young adults who discover they’re the reincarnated cast of an ancient alien myth... including you, their princess.
The Moon is falling out of the sky, a little more every year, and the four of you are the only ones alive who can stop it. How exactly? Tough to say. No one remembers your myth in full, and the only records that survive gloss or lie. What begins as déjà vu and bad dreams turns into a hunt across a kingdom that isn't totally sure it wants to be saved: a massive government cover-up, high-speed car chases, feats of spectacular magic, and the World's clock ticking overhead. Public demo (prologue + episode 1, ~200k words) coming soon this summer 2026. Follow @celestiallegend-if for updates.
DEMO (TBA) ☆ CHARACTERS ☆ FAQ
Rated 18+ for sexual content, violence, negative coping; full CW (read: spoilers) TBA.
The moon is falling.
YOU are a rare bookseller in your mid-twenties. It’s a bit young to be a rare bookstore owner, but there’s no helping it. You’ve inherited the store from your late father, along with its sprawling inventory of tomes on magic, science, philosophy, and myth. You keep the place, buy new stock, catalog the old stock, answer the academics' emails, answer the phone. And you wait. Though you couldn't say for what? You've been on your phone too much. There's a suspicion in you that your 'real life' hasn't started yet, and a worse one right behind it: that maybe it already did, somewhere back there, and you weren't ready. Maybe you missed it.
You've been dreaming lately. There’s no sense to it, just murky fragments out of order… and yet the cast of your dreams keeps surfacing in your waking life: the hot grouch from the record store as a shining knight; the fast-talking PhD all but squatting in your back room as a powerful alien sorceress. A guy(?) with an obviously fake name who keeps coming back and looks at you like he's seen your face before... as an ancient prince?
No fucking way.
THE REINCARNATED LOVERS
☆ Isolde Almeris (she/her)
She’s here at least five times a month: a young arcane physicist with bleach-fried curls. It seems your late-father purchased her late-mentor’s personal library at an estate sale and well, jeez. You’re not gonna tell her to leave. Isolde is funny, and she talks fast and warm about things you find unreasonably cool: xenobiology, alchemy, black holes. That intensity is her best trait and probably her worst. She can't help poking the tender spot, shouting down the bad idea, naming what everyone else in the room is dancing around. You want to be her best friend. You want––
What do you want?
☆ Prince Eran di Gaia (he/they)
A natural sweetheart who gets photographed more often than he gets to talk, Eran, the youngest prince of your country, is the modern definition of a social genius. Those smiling dark eyes and full lips run the room, but it's the conspiratorial tone that gets you: he can make a plain order off your catalog sound like he's cutting you in on a scheme. Superstitious, curious, easy to please, he'd seem deluded about his own luck if he weren't such a superb gambler. Good luck tearing him away from a winning streak. He's reckless, you figure, in the way only the very privileged ever get to be.
His faith in you is dizzying.
☆ Yvaine Selwyn (they/them)
Reserved and a little grumpy, your neighbor Yvaine is an amateur boxer rumored to overdo it in the ring... and distractingly hot, which the record-store girls have never let them forget. Yvaine doesn't seem to have a customer-service face: the easy smile is real, and the flash of irritation is very fucking real. Somehow that's more charming? You think? You've been dropping music books at their counter every other week, making the kind of small talk that goes nowhere, so it throws you how little it takes to fold them into a plan. No hedging, no what's-in-it-for-me, just: "What do you need?"
They’re so easy to convince that it startles you.
☆ and you, _________ (pronouns selectable)
Once an alien princess of a dead kingdom, you've no clue about your past life as you live out quiet days in Gaia's capital city. Your life's slowed down since your father passed away, but a string of synchronicities from your dreams have been making you pause. None of it actually spooks you, of course. You live in the bohemian quarter. Naturally, you'd run into your neighbors, wizard scholars, and rich eccentrics. That's... that's the whole point. You've got books to sell. But there's one thing you can't quite... hm. That feeling again. Out of nowhere, a damn near supernatural certainty that no one loves you, gone again after a few blinks. You text a friend: "Hey, am I annoying?"
QUICK FACTS
Celestial Legend is a text-only interactive science fantasy made in Twine where choices matter. It's updated in batches, seasonally. The summer 2026 release is on its way in August/early September. Free-to-play in the browser, with sneak peeks, early betas, and bonus content available through Patreon (coming soon). Player customization is rich and consequential: you get to pick your protagonist's appearance, and express your personality and values through your choices. Expect both slow and fast burn romances, cosmic horror, a robust science fantasy magic system, and a satisfying ass 'found family' trope. The violence is violent, and the dark parts are dark: mind the CWs, updated every release.
Celestial Legend is a queer story, written in a lesbian and sapphic spirit. Monogamy/polyamory is on the table for all three of the ROs (special scenes in both modes), romance is optional, and while the ROs' genders are fixed, yours isn't. Players can create their protagonist with any pronouns and any body type. In your past life, you were an alien princess, but in your modern life, you can be cis or trans, with a gender expression completely your own. The ROs will perceive the romantic relationships they have with you as sapphic no matter what, even if your character presents masc, with body parts typically assigned male (shout out to mtf butches). I'm sorry, but you can't play as a straight cis guy. I don't know how to write that.
ASK BOX OPEN :)
@interact-if















