Electric Sheep

Scott Draves

Electric Sheep
project page

The name Electric Sheep comes from Philip K. Dick's novel "Do Androids Dream of Electric Sheep". It realizes the collective dream of sleeping computers from all over the Internet. It's a distributed screen-saver that harnesses idle computers into a render farm with the purpose of animating and evolving artificial life-forms. The project is an attention vortex. It illustrates the process by which the longer and closer one studies something, the more detail and structure appears.

All the software is open source and users may participate in the network freely and anonymously. Like a peer-to-peer network, the server only coordinates the clients. The real work of creation, consumption, and judgment of the sheep happens in the users' computers and minds. In the current version the clients download animations from a central server, and this is the bottleneck that limits its growth. The next version incorporates a gnutella module and distributes the bandwidth load much as the computational load already is.

The screen-saver is a window into a visual space shared among all users. Each animation is the phenotype of an artificial organism, an 'electric sheep'. Clients download the MPEG sheep and display them one after another in a continuous, ever-changing sequence.

Each sheep is specified by a genetic code. The codes are chosen at random or are derived from the current population according to a genetic algorithm with mutation and cross-over.

Users may vote for a sheep with their keyboard. Popular sheep live longer, and are more likely to reproduce. Hence, the users' preferences provide the fitness function for an aesthetic evolutionary algorithm.

Electric Sheep investigates the role of experiencers in creating the experience. If nobody ran the client, there would be nothing to see. Eons ago, tiny irregularities in our universe became centers of accretion and eventually grew into stars. A parallel process unfolds in cyberspace. It starts with an idea.

The sheep system exhibits increasing returns on each of its levels. As more clients join, more computation becomes available, and the resolution of the graphics may be increased. The more people who participate, the better the graphics look.

Likewise, as developers focus more of their attention on the source code, the software grows new features and is ported into new habitats.

And as more users vote for their favorite sheep, the evolutionary algorithm more quickly distills randomness into eye candy.

Back to the video/net/art project page