Art Of Life | print-friendly version |
Introduction | ||
Art Of Life is a Java platform for interactive evolution of creative images using an extensible Genetic Programming framework and a rich Swing-based GUI.
The primary aim is to provide a rich environment for computer artists to develop their own visual language expressed as an Art Of Life genotype/phenotype, which can be manipulated interactively to explore an image space.
Art Of Life is open source software, with a BSD license that allows artists to develop their own personal genomes on the platform with little restriction. The open source distribution includes a geometric "Mondrian" genome. It would be straightforward to also include a Karl Sims type bitmap approach but I haven't done that yet.
GP framework | ||
A Genetic Programming (GP) framework is included that focuses on ease of extension rather than performance, which is unlikely to be an issue in the context of image generation where the bottleneck tends to be drawing the artwork. The framework is intended to be a clean object-oriented implementation that enables new genotypes and phenotypes to be defined with relatively little work.
The implementation of "Mondrian-lookalike" image generation is provided as a simple example of a genotype and associated phenotype for drawing vector graphics.
Interaction | ||
Key to the success of Art Of Life is the Graphical User Interface (GUI) that enables an artist to explore the image space defined by a particular genome. The default application provides a number of tools to manipulate images and integrates with external applications by supporting saving as file and drag'n'drop as PNG and SVG format images.
PNG export allows Windows Explorer to be used as a visual gallery of saved images dragged out of the running workspace. Generated images that are exported as SVG can be opened and edited in Adobe Illustrator. The UI also allows viewing, zooming and panning of images within the workspace itself. Some of these features can be seen in the screenshots.
I currently see several elements to the GUI, but note that not all of what is described below is implemented in the current CVS HEAD.
Generator | ||
The generator runs a continuously evolving population of images, using selection, mutation and cross-breeding to create new offspring to replace the weakest of the last generation. The generator allows an artist to drag images around a panel in which the topmost images are deemed "fit" while the least fit images drop towards the bottom at which point they are culled and replaced with newly bred images. The generator is a continuous source of new ideas that can be controlled by the artist if desired although it will also happily run in the background.
Nursery | ||
The nursery simply creates new images, useful for bringing new ideas into a stale population in the generator.
Inspector | ||
The Inspector is a resizable view that allows chosen images to be zoomed, panned and viewed interactively. Multiple viewers can be opened simultaneously to view multiple images that can then be dragged back into other views for further manipulation.
Mutator | ||
The mutator allows the artist to create mutations of a chosen image, with control over the amount of random change that is allowed to occur. This can either provide "tweaked" variations of a good image, or huge mutations that may provide a start point for a new exploration.
Breeder | ||
The breeder allows the artist to create images resulting from some "blend" of the genomes of two parent images.
by Steve Meyfroidt