Secret Table — a first-person 3D social deduction game in the browser, every asset procedural

I built a browser game where 5–10 friends sit around one 3D table and play a social

deduction game (the rules of Secret Hitler, used under CC BY-NC-SA). You look around in

first person, lean over the boards, and use hand gestures that everyone else sees.

Play (no install, no account, “Try it solo” seats you against 5 bots instantly):

Code: GitHub - mertertek/secret-table-game: 3D social-deduction game for 5-10 friends in the browser, based on the rules of Secret Hitler. First-person table, hand gestures, TR/EN. React + three.js + Supabase + Vercel. · GitHub

Things that might interest this forum:

- Zero external assets. Characters, hands, revolver, cards, boards and the room are all

generated in code: SDF fields run through marching cubes, then clustered and decimated

per body part so fingers do not fuse together.

- A 10-player table plus the room stays around 200 draw calls. Card backs and muzzle

effects are InstancedMesh, most props share materials.

- frameloop=“demand”: the scene only renders when something moves, so an idle tab costs

nothing.

- Other players’ head direction arrives at 1–2 packets/s (free-tier quota). The receiver

buffers and interpolates with a jitter-aware delay, so heads still move smoothly.

- Solo mode runs the entire game engine in the browser, so the demo needs no backend

at all and cannot be rate-limited.

Stack: React, Vite, three.js r186, react-three-fiber, TypeScript, Supabase, Vercel.

Happy to go into the SDF pipeline or the netcode.