Finger Roulette
A native iOS party game by SlickFive. Everyone puts a finger on one screen, the circles light up in a suspenseful roulette sweep — and fate picks a player. Who goes first, who takes the dare, who buys the next round.
Every group decision,
settled in five seconds
No accounts, no setup, no arguments. Hand the phone to the middle of the table, everyone touches the screen, and the roulette does the rest — with neon circles, a chase-orb comet, a haptic drumroll and a confetti burst that make losing almost as fun as winning.
- True multi-touch. A UIKit-backed arena tracks every finger with a stable identity — up to the hardware limit, or 20 players in tap-to-register modes.
- Provably fair. The winner is drawn with a cryptographically secure RNG before the sweep even starts. The animation is pure theatre.
- Instant party. Hold ~2 seconds to arm, countdown, sweep, reveal. Lift your fingers and go again.

Touch · Sweep · Reveal

Fingers in
Each finger gets a pulsing neon circle that follows it. Two-plus fingers steady for ~2s arms the game.

The sweep
A comet hops circle to circle — accelerating, cruising, then decelerating into the pick as ticks and haptics ramp.

The reveal
The pick turns hot red under a spotlight, everyone else dims, and colour-matched confetti rains down.
Watch a full round
Recorded straight from the iPhone 17 Pro simulator: registration, the accelerate–cruise–decelerate sweep with its chase orb, and the reveal with spotlight, result card and confetti.
- What you can't see: the tick volume ramping from 0.5 to 0.95, and a Core Haptics drumroll swelling from 12% to 100% intensity into the landing.
- The tension trick: the penultimate hop never lands on the winner — the final jump is always a surprise.
Six ways to let fate decide
Every group ritual has a mode — from a single quick pick to a full tournament-style survival.
Pick One
One sweep, one player picked. Quick and decisive — the classic.
≤ 5 fingers · iPhoneHands Off
Tap to drop a persistent circle, then let go. Circles outlive fingers, so the whole party fits.
up to 20 playersElimination
One player knocked out per round at your pace — or auto-flowing — until one remains.
rounds tighten ×0.88Pick Multiple
Pick 1–5 players in successive, ever-shorter sweeps. All picks stay lit.
n sweepsTeams
A secure shuffle deals everyone into 2–4 colour-coded teams, the comet tapping each player in turn.
up to 20 playersLast Finger Standing
Automatic back-to-back eliminations until one finger survives — crowned with a fanfare.
champion modeTeams: dealt by fate
After a short suspense sweep, the comet visits every player in a secure-shuffled order and their circle takes a team colour — Blue, Pink, Green or Gold — while the haptic drumroll runs uninterrupted through the whole deal.
- Round-robin fairness — team sizes never differ by more than one.
- Tap-to-register — like Hands Off, so up to 20 players can join beyond the hardware touch limit.
- Result card lists every team with its members; Play Again reshuffles the same group.




Survive the sweep
In Elimination and Last Finger Standing, losing your circle means a grayscale strikethrough and a low synthesized thud. Rounds get 12% shorter with every knockout, so the endgame accelerates into a frenzy.
- Your pace or auto-flow — a Next Round button, or an inter-round countdown that chains rounds hands-free.
- The crowning — the survivor's circle grows to champion size in their own colour, with a six-note fanfare into a held C-major chord.
Engineered suspense
The pick is drawn from SystemRandomNumberGenerator — a cryptographically secure source — before a single circle lights up. Then the sweep performs the drama on a three-act timing curve:
- No repeats — the lit circle never repeats back-to-back, and the penultimate hop dodges the winner.
- Layered feedback — per-hop ticks ramp in volume, rigid haptics mark the slow hops, and a continuous Core Haptics rumble swells 12% → 100% under it all.
- Never the same twice — jittered cruise timing and randomized deceleration make every sweep unique.
An audio engine with zero audio files
Every sound is synthesized at runtime into AVAudioEngine buffers — the app ships no audio assets at all. Audio politely ducks whatever the party is playing, and un-ducks when the arena closes.
| Sound | Recipe | Moment |
|---|---|---|
| tick | 22ms click · 1850Hz sine, exponential decay | every sweep hop, volume 0.5 → 0.95 |
| beep | 120ms pip · 880Hz | countdown seconds |
| boom | 280ms thud · pitch falls 180 → 70Hz | a player is eliminated |
| win | arpeggio · C5 E5 G5 C6 | the pick is revealed |
| fanfare | 6-note run into a held C-major chord | a champion is crowned |
On top: 90-particle Canvas confetti colour-matched to your palette, spring physics on every interaction, and a celebration haptic — each individually toggleable.
Tuned for every table
- Pacing — roulette length 2–8s with Quick / Normal / Long presets; Auto Start with a 1–5s countdown, or a manual Start button that appears on the emptier half of the screen.
- Three circle palettes — Neon, Pastel, Classic (10 colours each).
- Four party backgrounds — Midnight, Sunset, Ocean, Candy: drifting mesh gradients, each with dark and light variants.
- Feedback switches — sound, haptics and celebrations each have their own toggle; Dark / Light / System theme.


Accessible by design,
private by default
- Numbers & Shapes — every circle carries a player number and one of ten distinct shapes, so nobody is identified by colour alone.
- High Contrast thickens rims and text; VoiceOver labels cover circles, menus and controls; Reduce Motion is respected everywhere.
- Party-proof — the screen never sleeps mid-game, and portrait, landscape, iPhone and iPad all work.
- Nothing leaves the device — no account, no network calls, no analytics, no tracking. Siri opens it with “Play Finger Roulette.”
SwiftUI for iOS 26 · Liquid Glass · Swift 6
A single @Observable game engine drives a UIKit multi-touch surface under a SwiftUI arena. XcodeGen generates the project; a script generates the icon; the build emits the localization catalogue.