A few nights ago, I saw Ian posting a series of beautiful black and white patterned images on Twitter. I had no idea what they were, so I asked if he could explain them and allow me to reprint them in Unwinnable Weekly.
Turns out, the images were generated by a program he’s been working on and he offered to share it with me. I used it to generate all the images in this piece. If you’ve played UN EP, Ian’s entry into our Playable series, you’ll have an idea of how pleasant an experience fiddling with this nameless little Flash program was: meditative, surprising, aesthetically sparse but also mesmerizing and alluring.
But I am sure Ian will do better at explaining just what was going on…
– Stu Horvath
Originally, I wanted to find a quick way to generate Lichtenberg figures, the semi-fractal branching patterns of electrical discharge. Lightning is an example of a naturally occurring, three-dimensional Lichtenberg figure.
I’ve been thinking a lot about caves and fluids – the effects of drainage on rock over long periods of time – and Lichtenberg figures take a similar form to things like rivers. Trees too. They’re part of this whole family of branching natural phenomena. A lot of the generative work I do comes from the failure to emulate natural processes. The main difference between Lichtenberg figures and rivers, I suppose, is the order in which they’re generated. Lichtenberg figures are created from a single source spreading outward, while erosion simplifies many points into one.
So, how do we replicate this process on a computer? What are the defining features or rules that guide this aesthetic and how do we transcribe them? There’s a couple of important aspects of Lichtenberg figures. Among them: no branches overlap and all branches spread from one central point. There’s also a tapering from center to extremities.
The tapering is most difficult to emulate and I figured the images could potentially look more interesting without it, so I decided to focus on the central point and the no-overlap rules. There are a couple other rules obviously guiding them, but for now I’m ignoring them. If Lichtenberg figures are formed by following the path(s) of least resistance, we might imagine simulating a field and filling it with random amounts of “resistance” which then influences which way the path is likely to flow. This requires a lot more work. For the first prototype I emulate my subject matter and took the path of least resistance.