MediaPipe Enables Real Motion Games to Run Directly in Standard Browsers
For thirty years, motion gaming meant hardware. Cameras bolted to consoles, wands, boards, headsets. Now the hardware requirement is gone.
A pose tracking library called MediaPipe, running inside an ordinary browser tab, can watch your body through the camera you already own and turn your movement into game input.
No downloads. No controllers. No console.
This post walks through how we got here, and where you can try it today.
The Prehistory: Light Guns and Analog Dreams
Motion controls are older than most gamers realize.
- 1977: Nintendo's Color TV Game block-set style wired controllers were a precursor, but the real early motion device was the light gun, shipped with home Pong consoles and the NES Zapper.
- 1989: The Power Glove promised hand tracking on the NES. It was bulky, imprecise, and commercial failure. It still became a cultural icon.
- 1990s: Arcade rhythm and simulator cabinets used physical pedals, pads, and rails. Motion input existed, but only inside giant machines.
The pattern was set early: if you wanted motion, you bought something.
2003: EyeToy Puts a Camera in the Living Room

Sony's EyeToy for the PlayStation 2 was the first mass-market attempt to use a camera as a game controller.
It worked by frame differencing. The software compared consecutive camera frames and treated any changed pixels as "movement" your on-screen character had to dodge or touch.
It was genuinely fun, and genuinely limited:
- It saw motion, not you. There was no concept of "your arm" or "your knee."
- Lighting mattered enormously. A shadow could break a game.
- Tracking was 2D only. Depth had to be guessed.
2006: The Wii Makes Motion Mainstream

The Wii Remote put an accelerometer and an infrared pointer in your hand, and sold over 100 million consoles on the strength of physical play.
Bowling, tennis, boxing. Whole families in front of the TV, swinging remotes.
The insight was not technical brilliance. It was the realization that people wanted to move, even if the tracking underneath was simple.
2010: Kinect Removes the Controller

Microsoft's Kinect was the high-water mark of the dedicated hardware era.
It combined an infrared projector, depth sensors, and skeletal tracking into one bar that sat under your TV. The system tracked about 20 body joints and let you play entirely with your body.
It was a technical marvel. It also marked the end of an era. Within a few years, console motion gaming faded, weighed down by:
- High hardware cost
- Living room space requirements
- A small, struggling game library
- The simple fact that most people did not want another device under their TV
Why Console Motion Gaming Stalled
Every platform above shared one structural problem: the game only ran on the machine it was certified for.
The hardware was the ticket. The console was the gate. The player paid for both.
Compare that with how everything else in gaming moved: to phones, to browsers, to links you send a friend. Motion gaming stayed stuck in 2010's living room.
The Research Breakthrough: One Camera, No Depth Sensor
Around 2017, computer vision research solved the problem from a completely different direction.
Researchers showed that a deep neural network, trained on enough labeled human poses, could estimate full body skeletons from a single ordinary RGB camera. No infrared. No depth sensor. No special unit.
The key idea was simple to state:
- Show the network millions of images of humans in different poses.
- Let it learn the relationship between pixels and body landmarks.
- At runtime, feed it one video frame; it outputs joint coordinates.
Accuracy was good enough for interaction. And a plain webcam was suddenly a motion controller.
MediaPipe: Pose Tracking That Runs Almost Anywhere

MediaPipe is Google's open source framework that turned this research into something you can ship. It packages pose, hand, and face tracking into optimized pipelines that run on phones, laptops, and, crucially, in the browser.
A minimal web setup looks like this:
import { PoseLandmarker, FilesetResolver } from "@mediapipe/tasks-vision";
const vision = await FilesetResolver.forVisionTasks(
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision/wasm"
);
const landmarker = await PoseLandmarker.createFromOptions(vision, {
baseOptions: {
modelAssetPath: "https://storage.googleapis.com/mediapipe-models/pose_landmarker/pose_landmarker_lite/float16/1/pose_landmarker_lite.task",
delegate: "GPU"
},
runningMode: "VIDEO"
});
// Each frame: detectForVideo(videoElement, performance.now())
// returns 33 body landmarks with x, y, z coordinates
A few properties make this game-changing rather than just neat:
- Local execution. Inference runs on your device through WebAssembly and WebGL. Video frames never leave the machine.
- Speed. The lite model runs at real-time rates even on mid-range phones.
- Landmarks. You get 33 numbered points, from nose to feet, with coordinates you can build game logic on directly.
What Modern Browsers Bring to the Table
None of this would matter if the web platform could not carry it. It now can.
- WebAssembly lets the heavy model code run at near-native speed.
- WebGL and WebGPU provide GPU acceleration for inference, and are supported across Chrome, Safari, Firefox, and Edge.
- getUserMedia gives a webpage controlled access to the camera, behind an explicit permission prompt.
- requestAnimationFrame and offscreen canvases keep the tracking loop smooth alongside rendering.
The result: a game engine, a vision model, and your camera, all inside one tab.
From Skeleton to Gameplay
The mental shift for developers is that pose data behaves like any other input stream.
The game never "watches" you. It consumes coordinates, exactly like a console consumed joystick values:
- Is wrist Y above shoulder Y? Then the player raised their arm.
- Did both ankle points move up fast? Then the player jumped.
- Is the shoulder line tilted past a threshold? Then the player leaned.
Squat counters, dodge games, dance scoring, and pose-matching challenges all fall out of these primitives. And because the whole thing is a webpage, sharing the game means sharing a link.
Try It: SwayJoy

Everything in this post, in working form, is what SwayJoy is built on.
SwayJoy is a free platform of browser motion games that uses MediaPipe as its core. The experience is exactly what the technology allows:
- Open swayjoy.com and play immediately, in any modern browser
- No account, no download, no controller
- Motion recognition runs locally on your own device, so play stays fast and private
- The games are made by high school students, giving young creators a real audience
The name is the whole idea in two words: sway, and joy. Motion gaming, once it needs nothing but the device in front of you, comes down to the simple happiness of moving your body.
The console era gave motion games precision. The browser era gives them everyone.

Top comments (0)