what is this
A revival of Electric Sheep: abstract creatures called sheep — each one a fractal flame invented by Scott Draves — that the people watching render together, vote on, and breed. There is no server. The site is just static files; every sheep is built, judged, and bred in the browsers of whoever's here. The more attention a sheep gets, the more rendering it receives, and the more beautiful it becomes — for everyone at once.
how do I play
- Watch. The flock shows whatever the swarm has rendered so far. Hover a card to preview its animation; click it for the full-screen loop.
- Contribute. Press contribute on any sheep. Your browser renders tiles into it — every tile sharpens the sheep for everyone, and every 128 tiles earns you one credit.
- Back. Spend your credits with back ▲ on the sheep you want to keep. Credits are fungible — render where it helps, back what you love — and they're use-it-or-lose-it: each generation you start fresh.
- Breed. Pick two living sheep to see the exact child they'd produce. To release it you must first have rendered 64 tiles to each parent — a real stake in the cross, not a click.
- Selection. Every 5 minutes a generation closes: the most-backed sheep survive and breed into the next, alongside mutant clones and a fresh random immigrant so the gene pool never stagnates.
how does it work
The renderer (Rust → WebAssembly) is deterministic: a genome plus a seed produce byte-identical pixels on every machine. That single property is the foundation for everything.
A flame is drawn by the chaos game, whose points scatter across the whole image — so you can't split the work by region. Instead the work is split into tiles: deterministic batches of sample points, each keyed by the sheep and a frame of its animation loop. Anyone who renders a tile gets the identical result, and tiles sum — the histograms are integer, so merging everyone's tiles is exact and order-independent. The shared object isn't a ledger of votes; it's the sheep itself, a growing pile of tiles that any peer can extend. Rendering and voting are decoupled: every 128 tiles you render earns a fungible credit, and you spend credits to back the sheep you want to survive — so the best-rendered sheep and the most-backed sheep can differ. Credits are audited render work, so influence is bought only with real CPU spent improving the commons.
Because the pixels are derivable, nothing has to be trusted. Before any shared render is shown it's verified against the deterministic re-render (and a fractal-flame genome — a few dozen numbers — physically can't encode an arbitrary picture, so there's no way to smuggle a forged image onto the screen). A peer that signs a bad tile is caught by anyone re-rendering it and is banned everywhere. Generations, survivors, and children are recomputed identically by every browser from the same signed facts — there's no vote server, and no consensus round, to trust.
the original electric sheep
Scott Draves launched Electric Sheep in 1999 as a screensaver that, when your computer idled, joined a distributed render farm: thousands of machines collectively rendering short fractal-flame animations and sending the finished clips to a central server. Viewers voted with the arrow keys; popular sheep were bred by genetic crossover and mutation into new ones. It was one of the first large-scale collaborative, evolving artworks — a flock with no single author.
This version keeps the soul — community rendering, voting, genetic breeding — and removes the center. There's no server and no central farm: rendering happens peer-to-peer, the rendering work is the vote and is cryptographically verifiable, and the sheep travel as signed facts that every browser stores and forwards. The original trusted a server to render and tally honestly; here, every pixel and every vote is something you can check yourself.
Code: wasm-sheep — Rust → WASM renderer, vanilla JS, no
frameworks, no build step, no server. Fractal flames by
Scott Draves.