Using genetic algorithms to drive space colonization and growth (details after the videos).

Points compete for resources (a noise-based vector field), with per-channel parameters for growth rate (positive or negative) and per-channel attack / defense bonuses.

On each step, each point accumulates resources from its position in space, on the basis of its growth factors. Its defense score is based on its growth stage and its local resources. Attacks are sampled from neighbouring points within a radius influenced by growth stage, and the net Attack-Defense value (per-channel) is subtracted from the harvested resources. Growth rate is determined by the final resource score.

After growth rates are applied: points exceeding 1.0 in growth stage are deemed ‘mature’ and start accumulating seed resources, while points lower than 0.0 in growth stage are culled.

Points reaching 2.0 in growth stage are eligible to disperse seeds. A random set of new points are generated nearby, with mutated parameters for growth, attack, and defense. The seed-dispersing point is culled.

Finally, all points are subjected to unbiased density-based culling.

The visualizations represent attack (outer) and defense (inner) parameters in terms of color for each point, and growth stage as size.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s