The Flame Algorithm and its Open Source Culture
Authors - Scott Draves and Isabel Walcott Draves
What is the relationship between man and machine? Is open source a sustainable way to organize cultural creativity? Can digital creations have the subtlety we know in the natural world? Can computers be creative? Computer scientist and software artist Scott Draves has made a life's work out of asking and trying to find answers to these questions.
As a young teenager in the early 80s, Scott Draves began programming real-time animation on an Apple II personal computer. Because he was both producer and consumer of this experience, he was not interested in using the computer as a predictable automaton to do his bidding. Instead he looked for ways the computer could do something unexpected, to program complex behavior that held his attention, getting more out than he put in.
Later, as a freshman in the math department at Brown University in 1987, he began writing programs to create iterated function systems – roughly, images made up of smaller versions of themselves [Barnsley 1988]. The first version was in PostScript and ran on the original LaserWriter. His interests soon led him to the Graphics Research Group, where he rewrote this idea many times, including animation and 3D, but using ordinary graphics libraries and workstations for rendering.
As a PhD student in computer science at Carnegie Mellon University, he got a summer internship at NTT Data in Japan. With access to an SGI supercomputer and suddently unconstrained, for the first time he was able to solve his equations completely to reveal the beauty contained within them. The algorithm treats every pixel as a variable in an equation with thousands of parameters. The parameters specify a collection of functions from the plane to the plane, and the algorithm visualizes the interference pattern between them. This is the origin of the Flame algorithm, a combination of fractals with a particle system [Draves and Reckase 2003]. The results are distinctive, recognizable, and extremely diverse.
At the suggestion of a mentor, Draves submitted this work to the Prix Ars Electronica competition. One of the very earliest, Flame #149, won a Prix Ars Honorary Mention in 1993. The nascent World Wide Web was a perfect place to share the Flame algorithm and images, and inspired by his background in science and his love of the emacs editor and the GNU philosophy, Draves decided to release it as open source on his personal page in the CS department. This was, quite possibly, the earliest application of the General Public License (GPL) to art.
Spawning a Genre
From Animatrix 2003 "Matriculated" directed by Peter Chung
The decision to open-source Flame turned out to be seminal to creating a new genre. Since then, Draves' code (now located at flam3.com) has been copied, expanded, ported, and rewritten. Every day, people all over the world create Flames.
Because Flame is an algorithm and an API, not an end-user application, one of the first things to happen was the creation of graphical user interfaces to allow non-programmers to create Flames. At first were plugins for Photoshop (as part of Kai's Power Tools) and Adobe AfterEffects (by Andrew Davidson). Flame is on millions of desktops worldwide, having shipped standard with Linux for years in the GIMP.
Flames quickly spread, but the images themselves stood still. Draves, and others, wanted to animate them, but the problem lay in creating quality resolution animations when rendering each frame took literally hours. In 1999, Draves learned about the new SETI@home project [Anderson 2002], which harnesses the downtime of a network of participating desktops to co-opt their processors and crunch numbers, sending results back to the server. A pivotal conversation with fellow computer scientist Nick Thompson marked the conception of a similar approach to render Flame animations. Programming the first version of the Electric Sheep for Linux OS took Draves a week. It was, and still is, an open source downloadable program that makes use of participants' CPUs to render Flame animations frame by frame and share the results among all users [Draves 2005, 2006, 2007].
Results are uploaded to the server, where they are compiled into short videos that play back on users' computers as a screensaver. As the news spread, thousands of people downloaded the free screensaver. The more users who ran the program, the more frames were rendered and the more animations were created, quickly reaching into thousands upon thousands of animations. The trajectory of the Flame algorithm was instantly and irrevocably transformed.
Screenshot of Apophysis, a Flame editing GUI by Mark Townsend et al.
The image is Electric Sheep 244.01029, designed by the genetic algorithm
As the Electric Sheep screensaver and render farm grew in popularity, Draves and other willing volunteers like Erik Reckase and Dean Gaudet added to the Flame code and the Electric Sheep code. Reckase and Draves made substantial improvements to the algorithm including the addition of Density Estimation, which uses a dynamic filter to smooth out the noise remaining from undersampled areas with few particles without making the well sampled areas blurry. Reckase has now taken on responsibility for the code and rewritten it to run much faster and use less memory.
Versions of Electric Sheep were created independently for Mac, and much later, PC. Before long, stand-alone GUI apps to design Flames appeared such as Aphophysis for Windows in 2004, Oxidizer for Mac in 2006, Qosmic for Linux in 2008, Apo3d in 2009, Flam4 for GPUs, and the cross-platform Fr0st in 2009. Following Flame's open source GPL licensing, these applications are all also GPL.
The creation of Apophysis by Mark Townsend made it easier for everyday non-programmers to make Flames with much more control than the old and limited plugins. The proliferation of great Flames being developed inspired Draves to invite people to submit them to the Electric Sheep. There, they are turned into animations and have a chance to contribute their genes to the reproductive system of the Electric Sheep, which was already based on Darwinian evolution with mutation and crossover, an idea inspired by Karl Sims . Viewers vote "up" or "down" on sheep and the popular designs get to mate, contributing their virtual dna to their offspring in a continuous process of death and rebirth carried out by the program. Hence a human design team began to collaborate and compete with the genetic algorithm. It pioneered fine-grained collaboration on the internet and illustrated the process by which the more attention we give something, the more detail and structure appears.
A Do-It-Yourself Culture
Print and web advertisement for a ping pong brand
At this point in our story, we've seen how the original decision to open-source the Flame algorithm led to plug-ins that allowed ordinary people to create still Flames. The release of a free screensaver popularized Flames, inspiring the development of stand-alone GUI programs to make creating them even easier.
Opening up the render farm to allow users to make the processor-intensive animated Sheep themselves led to the rise of dedicated designers like Chris Ursitti (Ursitti), Coppercat, and Sylvie Gallet (cqfd93). These experts challenge themselves and each other to explore new styles of sheep design, and satisfy the public's voting. Finally, CreativeCommons licensing meant anyone who wanted to could reuse and remix Flames as they created their own content.
The impact of the decision to open source Flames and use CreativeCommons licensing for Sheep is that there are thousands of YouTube videos and homemade music videos that use Electric Sheep animations; award-winning artists that have incorporated Flame images into their work; books, films, magazines and comics that use the images; t-shirts, advertisements, television shows that use Flames; Electric Sheep video clips for sale as stock footage; Flame prints for sale all over the Internet; VJs and nightclubs running the Electric Sheep, Flame wallpaper, Flame skins for Google Chrome and the Google homepage... the list (hyperlink to anchor for the list below) goes on and on. One of the highpoints was the honor of Siggraph selecting a Flame image designed by the Electric Sheep for their graphic identity in 2008, where it appeared on the web site, t-shirts, posters, and video screens all over the conference.
Most of the time it's exciting to see how far the Flame algorithm has spread, for example, the other day when Draves was idly flipping through a magazine dedicated to Ping Pong at a friend's house and saw a Flame image advertising the Gambler Outlaw Ping Pong Paddle – or when a fan emailed a link to a comic book cover featuring the Green Lantern and a green Flame.
These days there are many open source graphics packages, but nearly all of them are based on the standard metaphors of the pen and camera, hence their results are undistinguished. Flames are different because they are immediately recognizable.
On the other hand, relinquishing control over who uses your work and how can lead to some disappointing uses the artist would not otherwise have condoned, like profiteering initiatives that combine the use of Flames with fake science for "healing" and weight-loss. Notwithstanding that loss of control, the use of Open Source has been a boon for Draves and society at large. Each step along the way, the more open the process has been, the more programmers, artists, designers and ordinary people have gotten involved with Flames.
As a generative artist, Draves work is not only about the images and animations that he creates, but the interactive and participation and creativity the software spurs in others.
Cover of book The Store of Science by Joy Hakim, published by the Smithsonian
Can giving source code away for free be a sustainable practice? Draves' philosophy is that all creators "stand on the shoulders of giants", requiring previous work to be accessible. It would feel wrong in his gut to create his work, which he considers an initiative in the scientific tradition, without this openness. But there are other advantages as well.
Open source code is a magnet for the labor and skills of other progammers, who have contributed vastly to the Flame family of apps and plug-ins, growing it far beyond what Draves could have accomplished on his own. The efforts of this enterprising team of programmers introduced Flames to many new fans. In generative art, the artist gives up control of the creative act to their own software. Open source is the extension of this idea, where the artist gives up control of the software itself.
In the case of the Electric Sheep this also applies to the genetic codes, images, and animations created by the system, all of which are shared under Creative Commons licensing. This allows artists (not just programmers) to participate via reuse and remixing which provides incredible viral marketing power. Thousands of do-it-yourself images of Flames and Sheep all over the web have a comment section where someone asks "where is this from?" Someone says "it's done in Apophysis" or "check out electricsheep.org" and another fan is born.
There are trickle-down effects too. The software engineers who wrote successful programs based on Flame gained new respect and their own user base. Professional graphic designers who incorporate Flames freely into their work, often not knowing anything about the work that has gone into making Flames available, certainly profit from them.
However, for the majority of the programmers and designers, both professionals and amateurs, who work extensively with the Flame algorithm, it's more likely to be a passionate hobby than a moneymaking endeavor. Although Draves very much wants the Electric Sheep to become self-sustaining, so far it has been a labor of love, costing countless dollars to maintain and grow, plus volunteer labor and donated server space. Donations have been much appreciated, but are dwarfed by expenses.
Starting in 2006, Draves uses the part-human, part-machine cyborg mind to create award-winning high-resolution, limited edition and custom fine art, which is sold to support operations. A membership/subscription service is under development, as are other experimental business models such as iPhone apps.
The question of how to support creativity in the digital age is a profound one faced by programmers, musicians, and artists of all stripes. We have no definitive answer, but we remain optimistic and committed to our philosophy. The nature of information is to replicate and evolve. We believe in working with nature rather than against it.
Loka, a music video by Glenn Marshall (Prix Ars Electronica winner)
Making the decision to open source one's art is a philosophical statement in support of creating a better society, one with more creativity that is more participatory, less prepackaged and broadcast. An artist who makes open-source artwork actively relinquishes control, realizing that others will use it for questionable ends. But the artistic rewards Draves has received by sharing the code have been tremendous. It has been vastly expanded by contributions from all over the world and totally rewritten in 2009. Flames have become their own genre, currently ranking 7th in Google under the search term "Flames". Scott Draves has spawned an immense loosely joined worldwide community of designers, programmers, and passionate fans. The open sourcing of the flame algorithm and how our culture has responded to it show how the free flow of information allows an artist to exceed their own boundaries.
About the authors
Scott Draves a.k.a. Spot
is a software artist living in New York City. He is best known as the creator of the Electric Sheep, a continually evolving abstract animation with 350,000 unique participants each month. He created the Flame Algorithm in 1991, the Fuse Algorithm (the first implementation of nonparametric texture synthesis) in 1993, and the Bomb visual-musical instrument in 1995. He won prizes from the Prix Ars Electronica and VIDA 2.0 and 4.0, his work is permanently hosted on MoMA.org, and has been covered by Discover Magazine, the New Yorker, and Wired. His artworks are installed in the Gates Center of Computer Science at CMU, Google's headquarters, and Willow Garage, in addition to private collections nationally. Draves has a PhD in Computer Science from Carnegie Mellon University, and a BS in Mathematics from Brown University.
Isabel Walcott Draves
is the business manager of Spotworks LLC, the organization supporting ElectricSheep.org and software artist Scott Draves. Additionally, she is a tech startup consultant and an expert in strategic Internet marketing, social media, and online communities. Ms. Draves started the first online community written by teenage girls for teenage girls, SmartGirl.com, where she was CEO from 1996 until its acquisition in 2001 by the Institute for Research on Women and Gender at the University of Michigan. Ms. Draves has a masters in Communications, Computing and Technology from Columbia University and a bachelors degree with honors in Literature from Harvard College.
ANDERSON, D. et al 2002. Seti@home: An experiment in public-resource computing. Communications of the ACM, 45:56–61.
BARNSLEY, M. 1988. Fractals Everywhere. Academic Press.
DRAVES, S. and RECKASE, E. 2003 The fractal flame algorithm. http://flam3.com/flame.pdf. (revised and expanded in 2008).
DRAVES, S. 2007. Evolution and Collective Intelligence of the Electric Sheep. Art of Artificial Evolution, Romero, J. and Machado, P. eds. Springer Verlag.
DRAVES, S. 2006. The Electric Sheep and their Dreams in High Fidelity. In Non-Photorealistic Animation and Rendering, ACM (invited keynote).
DRAVES, S. 2005. The Electric Sheep screen-saver: A case study in aesthetic evolution. In Applications of Evolutionary Computing, LNCS 3449, Springer Verlag.
SIMS, K. 1991. Artificial evolution for computer graphics. In Proceedings of SIGGRAPH, ACM.
TAYLOR, R. and SPROTT J.C. 2008. Biophilic Fractals and the Visual Journey of Organic Screen-savers. Nonlinear Dynamics, Psychology, and Life Sciences, Vol. 12, No. 1, pp. 117-129.