Player Two
A pocket console that never shipped, and twelve players who only want to dance. Each one began as a single photograph. Live in the browser.
- Role
- Creator and sole developer
- Status
- Live
- Year
- 2026 · live at play.wenyizhang.com
- Type
- Interactive · Web · Generative
- Tools
- TypeScript · three.js · MediaPipe · SAM 3D Body · fal
Somewhere there is a handheld that never made it to the shops: a grey shell, a small bright screen, and a cast of twelve who know only how to dance. This is that console.
Everyone has been player two at some point, the one handed the spare controller and told to wait for a turn. Here nobody waits. Pick someone, pick a move, and they dance to a tune of their own on a stage that changes when you tap it. The players are people and animals, a little blocky, and each one still very much like the photograph it came from.
Play it at play.wenyizhang.com ↗
From a photograph to a player
A photograph only ever sees one side of anyone. The side and the back have to be imagined, and a model does the imagining. But a model can only guess at a face, and a guessed face is a stranger's, so the face always comes from the photograph. The player looks like the person, not like someone who looks like them.
The workshop
The players came out of Retro Asset Tool, a small workshop I built for turning a photograph, or a sentence, into something that could live inside an old game. It tries the plain tricks first, spinning a silhouette or folding a box, and asks a model only when those run out, with the price shown before it asks. Once a thing is made it stays in the browser, and making it again costs nothing.
- Role
- Creator and sole developer. The console, the pipeline and the tool behind it
- Built with
- TypeScript · three.js · Vite · MediaPipe · Cloudflare Pages
- Models
- BRIA RMBG 2.0 · Meta SAM 3D Body · FLUX.2, through fal
- Motion
- Microsoft Rocketbox motion capture