06
Top trumps, in real time

FTC

Pick a universe, pick a deck, call the strongest stat on your top card. Two to four players, live.

TypeScript realtimemultiplayernextjssupabase
click to turn
A round

Stat called, cards compared, pile taken. Replayed from the documented rules.

Universe browser
running Universe browser
Round resolution
player Acalls a stat player Bsees the same row roomrealtime channel2–4 seats intent postgrescompare top cardstie → side pileelimination checkwrite round rowthe only place awinner is decided broadcast every screenrenders the rownothing local ADMIN — CONTENT IS DATA universes · decks · stats · cards · images → storage CPUfills a seat

The client sends an intent, never an outcome.

The hard part is the edge cases

Top trumps is trivial until two cards tie. Then you need a side pile, a rule for who calls next, and a definition of elimination that still terminates when three of four players are already out.

All of it sits server-side beside the comparison, because a tie resolved differently on two clients is a game that cannot continue.

Content is data, not code

Universes, decks, stats, cards and images are editable through an admin manager backed by Supabase Storage. Adding a universe ships no code.

Deck covers double as the in-game card backs, so one upload does two jobs.

Battle — calling a stat
running Battle — calling a stat
Outcome

FTC-Game

Chapter 07
Solidus

Real-time multiplayer Bingo — ranked auto-matchmaking, private rooms, bots. Every ranked result feeds the ladder.

continue
06 — FTC
scroll · drag · ← →