code name: Cluster [WIP]

Cluster” — the work in progress.

The Story

The natural world abounds with incredible examples of collective intelligence and behavior, especially within the realm of swarm organisms. From the busy mounds of ants to the microscopic growth of bacteria colonies, these groups exhibit remarkably complex systems that govern their actions and ensure their survival. These intricate layers of organization, encouraged me to explore the collective behavior.

While exploring systemic behaviors with algorithms, it occurred to me that the essence of life remained elusive within the digital framework. I pivoted from the idea of strictly replicating a physical behavior and focused on exploring mathematical realms of systems within digital imaging. That resulted in a depiction that is inspired by the world of swarming populations, yet allows the beholder to explore deeper cultural and abstract associations.

The Process

“Cluster” is based on a particle system. There are groups acting in various ways, carrying their personality and role coded as a color. Some of them are slow builders, community driven workers that gather and travel in groups to create structures. Other are independent explorers – moving fast across the space discovering new territories with minimum interaction. There are also cleaners, powerful invisible forces that work from behind the scenes to reorganize established order and encourage change.

The top visible layer is a pixel-alike grid processing gathered data and calculating color, making the system behavior visible to the human eye.

Structures built by the emerging system vary: from distinct and visible nests that illuminate the space, to more unified surfaces with smooth blending. Particles manifest their existence in different ways – some interweave effortlessly, while others expose groupings or even solitary figures.

Under the visible system lay universal forces that change periodically introducing new conditions and pushing the equilibrium to change.

Technical aspects

“Cluster” is a JavaScript code without external libraries with layered WebGL shaders.

The code is aspect ratio agnostic – it will adjust itself to any screen aspect ratio. Though the precise system behavior will depend on available area. Underlying conditions, as forces, time intervals, palettes remain unchanged.

Current code size is ~15 kB with JS minification.

Ideas to explore

  • color palettes — change black backgrounds to color ones; introduce light variations
  • interactivity — introduce external force by user input (options: mouse/tap, mobile device gyroscope)
  • ???

Examples