← All guides

Designing Games With No Buttons

Published July 25, 2026

The problem in one sentence

A button is a clean binary event with a definite timestamp; a camera gives you a continuous, noisy stream of positions and expression scores that never stops wobbling. Every cabinet in Motion Arcade is, in motion mode, an answer to the same design question: how do you carve reliable player intent out of a signal that flickers? These are the tools we actually use, with the real numbers from the shipped games. (The featured cabinets also offer a keyboard-and-touch Control mode, which is its own admission that sometimes the right controller is the boring one.)

Hysteresis, or two thresholds beat one

If a mouth counts as open above a score of 0.3 and closed below it, a player hovering near 0.3 machine-guns the flamethrower on and off. So Inferno Drop opens fire at 0.32 but does not cease until the score falls under 0.22. That gap is hysteresis, and it appears everywhere a continuous score becomes a discrete state: the eyebrow grenade arms at 0.5 and rearms below 0.3; the smile that triggers Overdrive needs 0.6 to fire, drops out at 0.35, and carries a 150 millisecond debounce so a flicker of expression cannot double-trigger it.

Dead zones and calibration

Nobody holds their head perfectly level, so The Zen Scale ignores the first degree and a half of tilt entirely; inside that dead zone, the beam stays put and the marble rests. More importantly, it calibrates: the ready screen averages your head roll for a moment and stores it as zero, so the game measures deviation from your posture, not from an imagined upright player. That one decision makes the same game work seated, standing, or slumped in a beanbag.

Edges, levels, and gates

Buttonless inputs still split into the two classic types. The flamethrower is a level input: it fires exactly as long as the mouth is open. The grenade is an edge input: it triggers once on the rising edge of a brow raise, and raising your eyebrows and keeping them raised does not throw twice. And some gestures are gated by game state rather than by the gesture itself: Nebula Ace's Nova pose is completely inert until the charge meter reads 100 percent, which means the expensive question "did they mean it?" only ever gets asked when the answer can matter. Nebula Ace also deletes a button outright: firing is automatic, because a fire button was pure overhead once steering was the actual game.

Velocity as intent

Fruit Slice cannot ask whether your hand is touching a fruit, because your hand is always somewhere, and hovering is not slicing. Its answer is a speed gate: the blade only cuts above 260 pixels per second of fingertip travel. Velocity turns out to be a wonderful proxy for intent; nobody moves that fast by accident. The same physics thinking shows up in Air Hockey, where the mallet's actual velocity at contact is what launches the puck, so follow-through does exactly what your body expects it to.

Failing gracefully

Detectors drop out; a hand exits frame, a face turns too far. The worst response is to snap the control to neutral, which in The Zen Scale would slam the beam level mid-balance. So dropouts hold: the beam keeps its angle for half a second of lost tracking, and Inferno Drop keeps your flame alive through 600 milliseconds of detector flicker, a number that exists because phone cameras were silently cutting damage while the flame still rendered. Amplification is the other quiet kindness: Air Hockey multiplies your reach by 1.35 and Brick Breaker's head mode more than doubles your lean, so full control never requires full extension.

The gestures that did not survive

The honest part of buttonless design is the graveyard. Inferno Drop's grenade was originally a raised left hand, then briefly a stuck-out tongue; the tongue died because the expression model barely registers it on real cameras in real rooms, and the hand raise died so the whole game could go hands-free. A control scheme is a hypothesis about what bodies do reliably in bad lighting, and the camera grades your hypothesis every single frame. If this kind of problem appeals to you, the tracking guide covers the layer underneath it.