Never Have I Ever
A confession goes up, the room divides — no points, no winners
Category: Party · Players: free-for-all · Status: Beta

Never Have I Ever is in beta — details may change.
A confession appears on screen — “never have I ever ghosted someone” — and
everyone votes. Type h / have or n / never and your avatar lands on that side of
the stage, live, with the whole room watching the split form. There is no
score and nobody wins: the split is the game, and the closest thing to a prize
is a role on the end card.
The streamer plays too, through the host-say composer, and their avatar lands on a side like anyone else’s.
Gameplay
Type !h / !have or !n / !never (bare have / never works). No !join needed —
voting enters you, and you can switch sides until the reveal. The walk across
the stage is half the fun.
The host closes the vote — or the optional vote timer does. The split settles, and the round gets its one line of editorial — “only 4 of 61 have…” — with the minority named on stage.
After the reveal, one voter is invited to elaborate: their chat messages appear
on stage as the story. They can type pass to decline instantly. Everyone
else can type same to back them up.
The seat always goes to someone who voted HAVE — that’s where the story is, and a NEVER can only elaborate on not doing something. No exceptions, so the room always knows who the mic is going to. A round where nobody voted HAVE gets no hot seat at all.
The host can also end a hot seat at any time with End hot seat, which takes the mic back without moving on to the next prompt.
Set Hot seat to Chat votes for one and the reveal opens a 25-second poll
instead of picking. Anyone in chat types @name to nominate — you don’t have to
have voted HAVE to nominate, only to be nominated. The tally runs live on
stage, you can change your vote as often as you like, and the most-nominated
takes the seat. A tie is settled by coin flip; if nobody names anyone, the
engine picks at random as usual.
The host’s advance button reads Call the vote while the poll is open — one tap closes it early and seats the winner.
The quoted words
Prompts use house code for anything a live stage shouldn’t say outright, and the code is always in quotes, styled so the wink is visible:
| Code | Register |
|---|---|
| “gotten busy” | the classic subject |
| “spicy water” · “overserved” | the night-out deck |
| “birthday suit” | the swimwear-optional cluster |
| “body count” · “sneaky link” · “purple snap” · “back door” · “trios” | already the platform’s own words |
The room decodes these instantly — that’s the joke working. Prompts about things the code can’t carry aren’t in the deck at all.
Configuration
| Option | Values | Default |
|---|---|---|
| Theme | Mixed, Terminally Online, Love & Situationships, Chaos & Shame, Friendship Crimes, Main Character Moments, Adulting, Inner Child, Night Out, After Dark, Actually Done It, Close Calls | Mixed |
| Prompts | 3–25 per session | 10 |
| Vote timer | 10–300 seconds, blank = host-paced | Off |
| Hot seat | every round / lopsided splits / chat votes / never | Every round |
| Hot-seat gift | one gift that buys the pick | Hand Heart |
| Write-a-prompt gift | one gift that buys the next confession | Galaxy |
| Who writes them | The deck · Chat writes every one · Alternate | The deck |
Who writes them. By default every round comes from the deck. Switch this to Chat writes every one and the game picks a random chatter before each round and hands them 35 seconds to type the confession — it goes up with their name under it, exactly like a bought one. Alternate deck and chat runs deck, chat, deck, chat.
Four things keep it from stalling the show, which is the whole reason it is shippable:
- Only people who have actually played are eligible. Handing the pen to a lurker buys 35 seconds of dead air and nothing else.
- The pen rotates — it goes to somebody who hasn’t had it yet before it repeats, so one person can’t end up writing six rounds.
- A message that doesn’t fit leaves the window open, so somebody put on the spot gets more than one go.
- If they don’t deliver, the deck’s own card plays, on time. The round is never waiting on one person who went to make a cup of tea.
Round one is always the deck’s, even in chat mode — nobody has played yet, so nobody is eligible, and a stranger shouldn’t be asked to write a confession before the room has seen what one looks like.
After Dark is the deck’s flirtier corner, written entirely in the house code like everything else — there’s no separate toggle for it. It’s in the Mixed draw and pickable as a theme of its own.
Actually Done It and Close Calls are the two that aren’t about shame. The first asks whether you have done the thing — surfing, scuba, a night outdoors, a country you’ve been to — which makes it the least predictable split on the board, because knowing somebody tells you nothing about the answer. The second is the near-miss, and it exists for the hot seat: every HAVE there is somebody who already wants to tell you the story.
Prompts your room has seen are held back. The draw remembers what it dealt your room and prefers cards it hasn’t, resetting only once the deck is spent — so back-to-back sessions don’t repeat, and a room that plays weekly works through nearly 600 prompts before it sees one twice.
Hot-seat gift. Sending the configured gift lets the gifter choose who takes
the seat: they send it, then @mention any HAVE in chat — themselves
included. The pick buys the ask, never the answer; pass always works. It also
outranks a chat vote — that’s what it bought.
Write-a-prompt gift. On by default, set to Galaxy — writing the board should cost something real, or the deck goes to whoever is fastest rather than whoever is committed. A viewer sends it, then types a confession in chat, and it goes up as a real round with their name under it — “asked by @ann”. Up to eight per session. Clear the picker to turn it off.
Two things worth knowing, since it’s on unless you clear it:
- A bought prompt is added to your deck, not swapped in for one of yours. A ten-prompt session with three bought prompts runs thirteen rounds.
- The engine tidies each submission before it airs: it strips a typed
“never have I ever” prefix (the stage renders that itself), and removes links,
@handlesand double quotes. The quotes matter most — the stage styles any quoted span as house code, so leaving them in would let a viewer fake the deck’s own voice. If a message survives none of that, the writing window stays open so the gifter still gets their go.
Layout
- Marquee — game title and how-to hint.
- Prompt band — the confession, with quoted code words styled; the editorial line lands here at reveal.
- The floor — HAVE left, NEVER right, every voter’s avatar scattered on their side. Switching sides walks the avatar across the divider.
- Hot seat — the spotlight card: the storyteller, their messages as bubbles, the “same” counter, and the seat countdown.
- Filmstrip — the night so far, one mini split per round.
The game moves through Lobby → Voting → Revealed → Hot seat → Finished.
Roles, not ranks
At the end the room gets its portrait instead of a scoreboard:
| Role | Earned by |
|---|---|
| 😈 The Menace | most HAVEs of the night |
| 😇 The Saint | most NEVERs |
| 📖 Open Book | the most testimony from the hot seat |
| 🔮 Knows You Best | matched the streamer’s own votes most often |
| 🙃 Opposite Day | disagreed with the streamer most |
| 🐑 The Contrarian | landed on the smaller side most |
| ⚡ Itchy Trigger Finger | opened the most rounds |
| 🪑 The Fence Sitter | changed sides the most |
Achievements
| Badge | Earned by |
|---|---|
| First Confession | your first HAVE of a session |
| Rare Breed | landing in a minority of 10% or less |
| Open Book | giving testimony from the hot seat |
| House Divided | being part of a perfect 50/50 split |
| Perfect Attendance | voting in every round of a session |
There is no 50-wins avatar motif for this game — it has no wins to count, which is the point.