Ethereal Microcosm: process and inspirations

Ethereal microcosm

Ethereal Microcosm is an exploration of algorithmic organisms simulated in a contained environment. It was released on fxhash as a long-lasting generative piece of 300 editions.

300 iterations of Ethereal Microcosm

I would like to walk you through some of the processes and inspirations that made Ethereal Microcosm come to life.

Ethereal: extremely delicate and light in a way that seems not to be of this world

Microcosm: Microcosms are artificial, simplified ecosystems that are used to simulate and predict the behavior of natural ecosystems under controlled conditions

The algorithmic journey

Quite early in my practice of generative art, I became interested in exploring systems from which life-like behaviors emerge. There is some indescriptible beauty in simulating ecosystems, and even more in engineering the rules governing all of their components.

During my researches, I discovered that there are primarily 2 classes of systems to simulate micro-biological patterns: cell-based modelling (Reaction-Diffusion, Multi-Scale Turing Patterns, Lenia) and agent-based modelling (Clusters, Primordial Particle System, Physarum Simulation). The former is based on manipulating the state of cells in a grid over time, while the latter focuses on the emergence of behaviors from rules applied to individual agents interacting with each other and/or their environment. I feel more comfortable exploring agent-based modelling approaches because this class of systems can be tweaked in many different directions. On the other hand, cell-based systems tend to be less flexible, and small changes often result in the loss of their stability.

Usually, in agent-based models, agents interact directly with each other and react to their siblings. Each agent knows some information on other agents (distance, angle, state…) and take decisions based on these information. A good example of that is the well-known boids simulation.

There’s also a sub-class of agent-based models inspired by Stigmergy. Instead of communicating directly, agents interact through their environment. They deposit/sense a substrate in the environment and take decisions based on the concentration of substrate near them. The Physarum simulation is a good example of such systems:

I wrote an article on this class of systems: Particle interactions using Deposited-Substrate as Communication Layer.

A while ago, I decided to add complexity to the Physarum simulation. In the original one, all the agents have the same properties, and follow the same rules. I wanted to see what would happen if we were to add different species, and have each specie interact with its own substrate.

Multiple Physarum species

I was already able to generate more complex patterns, but it lacked the high-scale complexity I was looking for. Experimentation after experimentation, I realized that really complex structures would emerge if I gave species the ability to eat the substrate of other species.

Agents of a same specie would cluster together while avoiding clusters of other species, resulting in interesting large-scale behaviors.

Interesting large scale behaviors

I based Ethereal Microcosm on this system. However, I wanted to push it further because I was still not happy with the overall complexity. First of all, I wanted to bring more diversity to the species. In the system above, all the agents had the same properties (they all reacted to their substrate in the same way). By giving different properties to each species, I felt some more interesting behaviors would emerge.

Species have different properties (colorized)

Finally, some inter-species mutations were added to the system. The properties of a specie could mutate when meeting other species. This component would allow for more complex behaviors over time and would make it harder for the system to reach a perfectly stable state, allowing for ever-evolving patterns.

Mutations inter-species

The visual journey

Generative Art is essentially made of 2 components:

  • the algorithmic system
  • its sensorial representation (most often visual)

In essence, agent-based systems manipulate points over time. If rendering those points directly can already be enough to represent an algorithmic system, I find it lacks some visual quality. This is what Ethereal Microcosm would look like if only points were rendered:

Ethereal Microcosm rendered with points

In my quest of pushing systems to generate life-like patterns, it felt right to explore a realistic imagery to highlight their nature. And so I began experimenting with different techniques. A lot of different techniques.

The quest of realistic-looking imagery

For each new system I studied, I wanted to push the visual quality a bit further. This is the same system (Clusters X) which went through a few visual updates over time:

Increase in visual quality for Clusters X (sorted by chronological order)

The render style of Ethereal Microcosm is the result of many months of exploration of various techniques. A lot of tiny details were added here and there.

Improving the visual complexity / quality cannot simply be done at the post-processing level. The system itself needs to be designed carefully. I wanted it to exhibit 2 visual properties:

  • large scale patterns, similar to micro-biological entities
  • small scale areas with high details, suggesting the existence of even more complex smaller processes

The idea was to provide 2 levels of visual appreciation of the patterns. When looking at the whole picture, the brain should recognize micro-biological entities. And when taking the time to observe smaller details, the brain should feel that if we were to zoom on specific areas, we would surely observe even more complex behaviors.

When I started working on the piece, I focused on finding stable states to generate large scale patterns.

Then, I explored the parametric space in various way to find a right balance between local and global complexity. By adding interactions, playing with contrast, combining colors in specific ways, I was finally able to bring local complexity in the patterns.

When looking at those areas where it seems like there is a lot of details, the brain feels that the system must be even more complex at a smaller scale.

Area with high level of details

To conclude with this part, some captures of my progress as I iterated on the rendering of the piece:

Iterations on the visual style

Variety & Quality

When I started working on the piece, I decided to put a special focus on the overall variety and quality of the collection: each iteration must have distinct and unique properties and must be of high quality. While variety and quality are easy to achieve on their own, preserving both is quite challenging (which is one of the rare factor common to every long-lasting generative piece). And as you try improving one of those, it becomes exponentially harder to preserve the other. However, there is a key idea. Once we have reached a basic working stage in the implementation of a system, it’s way easier to first improve the variety and then the quality than it is the other way around.

So I experimented a lot with the system. I focused on bringing variety in both the system and its visual representation. My objective was to find a parametric space large enough so that it could support as much variety as needed. And once I was happy with it, I decided to come up with a division of the parametric space into 3 high-order components:

  • initial distribution of the agents
  • properties of the simulation for each specie
  • aesthetic (microscopy theme / colors of the agents)

And by having separate components on which I could work, it became easier to improve the quality of each one individually. Finding the components which will work well for a certain system requires a lot of exploration. It can sometimes be very time consuming to explore different ideas to finally find one which works for a project.

Picking the initial distribution played a key role in preserving variety in the collection. Because the system I designed was very chaotic, slight changes in the initial conditions would result in drastically different outputs even after a few seconds. It worked well in this case.

Different distributions

There are 13 different initial distribution, and each one will setup the system so that unique behaviors can emerge.

Vertical ellipsis – #50#57#101#99#136
Clustered at the center – #27#76#89#185#300
1 line per species, with shuffle at center – #46#90#123#138#286
2 colonies clustered on 2 sides – #15 – #91 – #132 – #159 – #164
Circular layers of species – #149 – #168 – #223 – #229 – #298
Diagonal – #79 – #107 – #151 – #190 – #267
X – #43 – #95 – #103 – #160 – #258
C as in ciphrd – #37 – #48 – #135 – #242 – #249
O as in OOOOOO – #6 – #36 – #114 – #197 – #269
Colonies in small arcs – #23 – #49 – #174 – #189 – #209
Sin Wave – #61 – #191 – #206 – #217 – #259
Shuffling segments of species – #63 – #141 – #170 – #195 – #236
Vertical line – #56 – #120 – #140 – #162 – #183

Even though we observe similar looking patterns among the iterations of a distribution, I think the simulation by itself brings enough variety for them to look distinct enough. I picked the number of iterations based on the number of distributions. I estimated that ~23 iterations per distribution would be a sweet number to keep an ideal level of variety.

Aesthetic exploration

Different iterations of the collection explore different aesthetics, both coming from microscopy imagery and from an imaginary environment.

Without a visual environment

The environment is completely removed to leave full visual expression to the system. Iterations without a background have the most contrast so they seem more unreal than the others. Less realistic but more vibrant.

#9#189#174 #100

Going for simplicity is definitely not the easiest choice to make. I’ve been inspired by the work of Sage Jenson and Arsiliath who both manipulate contrast in a striking way.

Physarum, Sage Jenson
6, Arsiliath

Slight materialization of the environment

I like to add an ocular lens over the piece. It improves the illusion of a viewer accessing the simulated universe through a physical object, its screen. By slightly adding color to the environment, it immediately creates some depth and materializes the space in which the simulation happens.

Materialization of the background

In my opinion, adding some depth in such a way creates an interesting visual experience, especially when viewing the piece in full screen.

#120, full-screen

Realistic visualization

I also wanted to explore a more realistic imagery. I have always been interested by the tools we designed to explore our environment. Our understanding of the world is intrinsically tied to our ability to observe it.

Some iterations were inspired by Phase-Contrast microscopy

#259#294#71#51

And others by the more classical light microscopy

#298#236#191#159

Organisms from another world

The aesthetic of the collection as a whole was inspired by the microscopy imagery, but I also wanted to diverge from a purely realistic style to embrace the ethereal nature of these micro-organisms. Because they come from another world, they don’t have to comply to all the constraints of ours. I especially designed the color space so that alien-like aesthetics could be generated.

#170#56#55#114

Fluorescence Microscopy

I wanted to leave some traces of my favorite microscopy technique, from a conceptual standpoint: fluorescence microscopy. It’s a technique designed to highlight certain parts of substances (using their natural fluorescence or by labelling with fluorescent probes).

I wanted to give viewers the ability to get more informations visually on the different species evolving in the simulation. Pressing V toggles the fluorescence microscopy mode, and highlights certain species. Sometimes what we see of a phenomena doesn’t describe the full extent of its complexity. Hopefully, we built tools for that.

The Fluorescence Microscopy effect
#9

In some iterations, the Fluorescence Microscopy will only be a cool effect which will not add information for the comprehension of the system. However, in other iterations in which the species don’t have colors with enough contrast, it may reveal interesting behaviors. The same paradigm applies to real life.

Belousov–Zhabotinsky reaction

The BZ reaction is an oscillating chemical reaction. I don’t know how it works but it’s beautiful. You may have already observed such patterns:

They tend to emerge from cyclic systems, as a matter of fact I generated quite a few using various systems by accident.

When clicking in the environment of some iterations, the BZ reaction can happen. In some instances, the colors of the species make some very interesting combinations for the pattern:

Clicking may trigger the BZ effect

Not all the iterations have the BZ reaction, it depends on the properties of their substrates.

Ethereal exploration

Ethereal Microcosm is both a contemplative and interactive piece. While each microcosm will evolve on its own over time, it’s also possible to interact with it using a set of tools.

Using keyboard controls A & R allows space manipulation. Pressing A will pull the particles towards the center and R will pull them outwards.

Pressing R increases the strength of the Infinite Zoom effect

Pressing M or F will apply slight changes to the agents individually.

Pressing M creates a random motion of the particles
Pressing F slightly mutates the agents

I also wanted to emphasize the uniqueness of each visualization by giving tools to have control over the emerging patterns. By pressing D, the left click enters in drawing mode. It becomes possible to leave permanent marks into the substrate of the simulation.

By pressing D, it’s possible to draw in the substrate

Each iteration will interact with the drawing differently based on the properties of the agents and their colors. The same drawing will result in very different visual effects.

Having fun with drawing

Ethereal Microcosm on fxhash

Leave a Reply

Your email address will not be published. Required fields are marked *