Marko Cindric
New Media Artist

Braitenbird

April 2023

“…and do we really want to live in a wholly calculable world, in which to be surprised is merely to be outcalculated?”

  • 3D & Game Dev
  • Computational Art

Unity game engine.

Braitenbird is an interactive 3D simulation built in Unity that explores emergent behaviour patterns derived from simple rule-based motion. Loosely based on Braitenberg vehicle theory, the simulation is comprised of wandering seagull agents who shift to a seeking state when they encounter ‘attractors’ resembling spherical miniature suns. If two or more attractors are detected in an agent’s sensorial field simultaneously, its movement vector is modulated by each, with the nearest bearing the strongest influence. An invisible ‘global attractor’ with a much lesser influence is applied as the birds wander to keep them from straying too far from (0, 5, 0),1 roughly the midpoint of the scene. In wander state, their motion is driven by simple one-dimensional Perlin noise, applied evenly to each axis of their rotation vector.

Braitenbird draws inspiration from an extensive tradition of computational models of behaviour and artificial intelligence, such as its namesake Braitenberg vehicles, boids, and cellular automata. Early iterations included spawning the birds within an invisible box and having their directional vector invert when colliding with the walls, much like rudimentary ‘bouncing ball’ code employed in software like Processing or P5.js; this was phased out in favour of the ‘global attractor’ concept to maintain a more naturalistic motion in the agents. Perlin noise is a programmatic stand-in for curiosity and other factors that might compel real-world creatures to motion.

In humanity’s quest to understand life and consciousness, we have taken many peculiar turns. As we transition the dominant metaphor of the Western worldview from mechanism to computation, I am of two minds: on one hand, computation as a metaphor is much more conducive to recognizing the agency and interdependence of the more-than-human entities of our shared biosphere; on the other, computation fails to interrogate, and indeed even extends, a dangerous and insidious ethos of quantifiability and controllability as signifiers of understanding—it becomes a new paradigm of anthropocentric dominance, rather than an instigator of humility in the face of deep complexity. As James Bridle aptly writes in New Dark Age (2018):

The danger of this emphasis on the coproduction of physical and cultural space by computation is that it in turn occludes the vast inequalities of power that it both relies upon and reproduces. Computation does not merely augment, frame, and shape culture; by operating beneath our everyday, casual awareness of it, it actually becomes culture.

… Like an air control system mistaking a flock of birds for a fleet of bombers, software is unable to distinguish between its model of the world and reality—and, once conditioned, neither are we. (ch. 2)

Braitenbird, by its very nature as a virtual simulation, exists in a wholly computational world. At every moment, every position coordinate, every motion vector, every state, is precisely describable. Serendipitous moments are certainly possible, but only insofar as the frame rate of the game engine exceeds the pace at which a human could perform manual calculations of the relevant data as it changes over time. In the real world, complexity accumulates—factors that might influence a bird’s flight path, or even a robot’s ability to seek a light source, are incalculably manifold. In this sense, Braitenbird asks, what constitutes true emergence? And do we really want to live in a wholly calculable world, in which to be surprised is merely to be outcalculated?

“Technological zoology,” as Jussi Parikka coins it in Insect Media: An Archaeology of Animals and Technology (2010), has a long history into which a vast number of sociocultural paradigm shifts are baked, though it feels particularly vital—especially in an era of ecological unravelling, in which the planet urges us to meet it with reciprocity and reverence rather than a will to control—to interrogate what gets carried forth. Can we shape computation into something truly different from mechanism, or is it destined to become a mere extension of it?

  1. Unity uses a Y-up coordinate system. ↩︎