In The Blind Watchmaker, Richard Dawkins described biomorphs: objects defined by a very simple set of numbers where the numbers define how the object is appears. This is an analogy to life on Earth, which is defined by our genome (i.e. our set of “numbers”) which define how that life-form looks and behaves. For example, in Dawkins’ biomorphs, several of the numbers defines how tall the object should be, which compares to humans who have a number of genes in their genome that affect their height.
Once you have a genome (i.e. the numbers) and the rules of how they’re expressed (i.e. how the numbers are displayed), a number of copies are made, each copy having a small random variation in one of the numbers. Because each of these copies is very slightly different from the original, each one will be drawn slightly differently. If you select the copy that most looks like some target shape (e.g. a reindeer), and then keep repeating the copying and selecting, eventually, you can end up with something that looks very close to the target (within the limitations of what the rules can draw). Going back to the analogy, this copying is life-forms reproducing, producing children with slight variations, and the selection process is analogous to natural selection, favouring offspring that are better suited to an outside pressure (in this case, the pressure to look like a reindeer).
There are is an online biomorph simulation, that allows you to perform the above process here.
Anyway, I was playing with the biomorph idea and thought it would make a cool way to create unique and varied art, but wasn’t happy with just using Dawkins’ original ideas. So I developed my own version, using a similar set of numbers, but with my own rules on how a genome is displayed. Rather than turning a genome into a line drawing, I decided to represent a genome as a row of colours. Some numbers in the genome would define the starting colour, one would define how many colours to show, others how the colours change from that starting colour.
With this idea in mind, I wrote a program (on GitHub) which allowed me to randomly create a genome, see it displayed, then generate copies with mutations, and see how they compared. I then selected the copy most appealing to my eye and repeated, until I had reached the thirteenth generation.