Project Proposal – EVOLUTION!
Although not quite as grand a computer-generated cityscape or as geometrically bizarre as an algorithmically-modified Doric column, the various creatures, monsters and critters we looked at in our exploration really resonated with me. It’s impossible to mentioned “genetic algorithms” or “evolving forms” without my mind immediately jumping to those little imps that have permeated popular culture over the last 15 years, Pokemon.
When viewing the generative Nokia blobs, though, a second childhood memory surfaced. It’s a common practice in the artistic community to do a number of quick thumbnail silhouettes in an attempt to get as many ideas on the page as quickly as possible before choosing which to develop. Although it would be bordering on sacrilege to take this extremely loose creative process and relegate it to the cold mechanical guts of a machine, there are some interesting considerations within the realm of evolution, inheritance, genetic algorithms and morphology.
During my Looking Outwards, I stumbled upon these little guys – creatures generated by randomly combining body parts, each with associated attributes. Tentacles, for example, make a create more aggressive, while a larger body makes it more durable and sluggish. They can then perform an approximation of a battle, pursuing each other according to their morphological programming.
What I’m proposing is, ideally, some combination of the three preceding images. A program that can, at the very least, make a creature either out of a predetermined kit of parts or through abstract geometry. The next step would be to enable that creature to “evolve,” enhancing various features of its physiology, like a Pokemon. Time willing, there would also be some sort of genetic inheritance tied to data associated with their ultimate morphology. I’m really hoping to at least get that first one done!
To this end, here are a few of the resources I’ve scoped out…
Genetic Algorithm Overview
Genetic Algorithm Java Library
Geomerative, a basic geometry library for Processing
Toxiclibs, specifically Toxi.geom
Aaaand some more discussion of genetic modeling.