Art by Kenny Vaden

Thalassophobia

Link to collection: https://www.fxhash.xyz/generative/19688

This post provides additional background on the development of the algorithm-based, long-form generative art system that I called Thalassophobia, which dropped on fxhash.xyz on September 21, 2022. That was an interesting date for a drop in large part, because Charleston, SC was struck by Hurricane Ian (Category 1) during the auction, so we were repeatedly losing internet and electricity while tuning in to watch the drop party. This was also a significant drop for me, because it was my first work on fxhash and it was my first long-form release since WORLDS in Dec 2021.

Thalassophobia is defined as a persistent terror related to deep water.

As a surfer for many years, I encountered absolutely terrifying, natural ocean conditions that include very large waves, strong rip currents, and occasionally wildlife. More rarely, I have seen, clear and deep water that can trigger a “glass cliff” sensation when staring down into the blue abyss. Most of the time, those visual conditions are beautiful and inspiring, but sometimes it makes the hair stand up on the back of your neck too. That eerie deep blue sensation inspired me to create closed system that is essentially a giant feedback loop. Following the winding but ultimately cyclical paths reveals an inescapable route, which represents how fear can grow and consume.

The composition features a winding and cyclical path made from colored circles and light texture. Circles and paths were chosen to form a visually simple system, and in part because these elements are important symbols. In summary, this was a recursive circuit that is made up of smaller circuits.

Above: This is the version of Thalassophobia that represented the fxhash collection, based on a random hash value that was generated during the project setup.

Below are some samples from the early development of this piece in May 2022.

Original, unpublished code-sketch for Thalassophobia

I composed Thalassophobia in the R Statistics Language. This is my primary coding language, because I’ve used it for 15+ years in scientific research (fluency) and it is an excellent tool for precision plots with journal formats in mind. Browser-optimized languages like Processing and P5.js are often at a relative disadvantage for creating prints, although their strengths are browser-based artwork.

Early version of Thalassophobia that I posted on social media in May 2022.

The algorithm featured the namesake color scheme, transparent circles, and similar but crude convolution and crossing rules compared to the finalized long-form system. Turning this into a long-form system with finalized NFT outputs would still require work.

Projecting the R version of Thalassophobia during an informal live coding session, at the Quantum.art location in Santa Monica, CA (June 2022).

Because the algorithm for Thalassophobia was originally composed in the R Statistics Language, I had to translate it to the p5.js language, which is better suited for fxhash. The process of translation consists of re-reading my R code and explaining to the p5.js language what the original algorithm was doing. While trigonometry carries over from R to p5.js, the default data structures are somewhat limited in javascript (js) so I usually need to be pretty creative to get p5.js to carry out the same operations.

After getting the p5.js code to work, the long-form process started and I explored different variations so each minted NFT would be totally unique. During the development, I explored animation with a black orb travelling around the path (similar to the original code sketch) as well as different approaches to the texture and colors of the piece.

Above: Three examples from the long-form development of the algorithm. The left panel shows the initial translation success, producing outputs in p5.js that were nearly identical to the original R code. The middle panel shows how the lines became lighter and colors brightened with additional development. The right panel is a nearly-finalized version of the code, but still without some features like parallel lines and transparency manipulations that were introduced closer to the drop date.

The following aspects of the system became concrete as the algorithm matured:

  • The start point for the looping path is randomized for each image.
  • Transparency was varied sinusoidally across circles and softened the transition where the cycle begins and ends, with the last circle almost completely transparent drawn over the first.
  • Color gradients were created that smoothly transition across the path and completely cycle, with different start points on each run. This means that the colors do not have an abrupt start or stopping point in space, and that the gradients would look different even for the same underlying set of colors.
  • Light texturing of lines, varied transparency and occlusion cues were used to reinforce the subtle depth and structure.

Rarity was calculated for 2 characteristics set to occur with different probabilities:

  1. The circuitous path included between 2-6 randomized switchbacks
  2. The circles were small, medium or large

The color gradients had an equal likelihood of selection among 15 alternative palettes.

This video features the first 56 tokens minted.

The mosaic below shows all 66 generative tokens:

Leave a Reply