There are a number of different active link user commands you can access in the Help Browser that can be used to control directed evolution of MSG presets in the Evolution Editor palette. If you have previously used the MSG Evolver application to evolve MSG presets some of these will be familiar to you. When these commands are run on the evolution grid each msg preset preview in the grid is modified by the command.
Often there are 2 different command options (observe the color coded triangle icons above). One runs the command on the existing contents of the evolution grid. The other runs the command on the MSG editor preview and fills the grid using that as the source for the command.
Grid Evolution Commands
Randomize – randomly mutates the parameters
Swap 1 – randomly swaps 1 processor
Swap Random N – randomly swaps random N processors
Swap All – randomly swaps all processors
Insert 1 – randomly inserts a new processor in the the processor chain
Delete 1 – randomly deletes 1 processor from the processor chain
Add MetaEffect – randomly selects a meta edit effect and runs it on the processor chain
Add Color Gradient MetaEdit – randomly runs a color gradient meta edit
Add Color Palette MetaEdit – randomly runs a color palette meta edit
ReSeed – any random see parameters are randomly reset
Fix Recursion Problems – looks for potential problems with recursive io connections and fixes them
Grid Generate Commands
Scan Backward Presets Once – scans forward through the factory msg presets
Scan Forward Presets Once – scans backwards through the factory msg presets
Scan Random Presets Once – scans randomly through the factory msg presets
AutoEvolve Random Presets Once – auto evolves random factory presets
Auto Configuration – generates random fixed configurations
Evolve Continuous Commands
These commands mirror the ones explained above but will continuously update the evolution grid every few seconds until stopped by pressing the spacebar.
Directed Evolution Strategies
Working with directed evolution in the Evolution Editor to create procedural art is somewhat of an art in itself. There’s a definite feel to it and with practice you will get better. The more you work with the various commands described above the better feel you will get for the process.
Randomly mutating parameters in a fixed processor configuration will generate endless variations on a particular effect or art style, but will never break new ground in terms of complexity of the effect or changes in the style of the generated output.
Swapping processors changes the nature of the effect since the actual processors and their associated io connections are changing. Swapping one random processor will not create as radical an effect as swapping all of the processors, which can often be too radical a change or lead to garbage. Swapping N random processors is somewhere in between the two. Sometimes Swap All will break you out of a rut into something new but often it’s too much of a change and leads into a bad configuration.
Often the best approach is to repeatably use Swap 1 to generate new sets of presets in the evolution grid, followed by clicking on the one you like best to mutate variations of that swapped configuration, then repeat as necessary. Doing this over and over will move you slowly through the overall MSG configuration space in a controlled fashion. You can always undo to drop back to your previous evolution grid if you don’t like what a particular evolve command did.
Adding a MetaEffect is a great way to take something simple and add additional complexity. Doing this and then following it by a series of Swaps can lead to processor configurations you would have never have thought to try and potentially stunning visual effects. Or a lot of garbage. The trick to directed evolution is to figure out how to avoid the garbage and direct the evolution grid over time to get visually interesting results for your particular artistic sense and style.
Here’s an example of a preview of a procedural image created by directed evolution and the associated processor chain that creates the preview image. This is a good example of something created by starting with a simple pre built preset followed by adding 2 MetaEffects and a random Insert to increase complexity followed by a series of directed Swap 1 and click Mutation evolution steps until i arrived at something i really liked.
Often when that happens you have entered a sweet spot in the MSG configuration space. By sweet spot i mean that with every Randomize or Swap 1 command you generate more interesting preview images that contain a lot of potential keepers. A sweet spot is always a good place to restart directed evolution at a later time. You can do this by loading a MSG preset you previously saved from the sweet spot and running one of the commands that derives the evolution grid from the preview image as source for the grid command.