
My genesis generative art collection.
This is a summary of my first journey to find balance between diverse outputs and a cohesive collection. Below, I've shared details about each trait, as well as some of my own reflections after completing my genesis generative art project. Thanks for visiting.

Clew #236
a note on traits and/or rarity features
I'm a creator and a collector. As a collector, it's hard for me to appreciate a trait that I don't understand, hence why I felt the need to put together this thorough explanation of clew. You'll also notice that I avoid numeric scales, primarily because they are typically vague and I have no idea how to differentiate "[Insert Mathematical Phrase] Level 16" from "[Insert Mathematical Phrase] Level 17" when looking at the art.
To avoid any confusion, I also use the terms traits, rarity features, and properties interchangeably.
color palettes
I hadn't prioritized the color palettes until I studied Tyler Hobbs' various essays on color theory in generative art. Finding these essays was a groundbreaking moment for me, as a generative artist, and for this project. Once I developed more complex color palettes (and switched everything into HSB), the outputs really began to come together and I saw a lot more potential in the collection.
The final collection has 27 color palettes, inspired by photos, real life art, and/or other generative art projects (including Fidenza, Archetype, and Edifice), and then revised to my preferences. Each palette has ten different colors (except for Black & White) and, because the colors blend together and don't have probabilities applied to them, you can see a lot of variation even within one palette.
shapes
This all started with circles, but as I shared this with the gen.art community, they inspired me to consider other shapes. At one point I had about six different shapes incorporated into the code. When I found myself skipping through the other shapes to get to the squares and circles, I slowly began cutting out everything else. As you'll likely notice, I softened the corners of all squares to help this feel more cohesive. In addition, while the rounded corners of squares can create another shape entirely, they are all considered squares for rarity purposes.

circles
53.1%

squares
24.2%

squircles
22.7%
clew size
I wanted to create variation in the number of clew members, but found it difficult to hone in on the other variables when it was completely randomized. Eventually, I figured out a way to manage this, but ultimately decided that the additional variation wasn't needed or useful, so I landed on three clew sizes.
In my early iterations, there were two things I didn't like—all clew members ended up about the same size in the final output, and they would regularly run through each other. With some advice from rich (one of gen.art's mentors), I used the p5.collide2d library to stop one member of a colliding pair. When I got this to work, it was a huge step in the right direction. Not all clew sizes are created equal. For example, one microclew can have more clew members than another microclew because a new clew member is generated every time one stops due to a collision and whenever one runs too far off the canvas.

Microclew
4.9%

Megaclew
68.3%

Gigaclew
26.3%

Yottaclew
0.5%
color distribution
Originally, the clew members were all one unchanging color, but this uniform approach didn't result in a great composition. After exploring various options, I cut the original approach and developed out four alternatives.

diverse
different colors that don't change
65%

inside out
unchanging different colors which turn inside out
10%

switch
colors change on a randomly assigned schedule
10%

sporadic chaos
colors change rapidly and then pause
10%

chaos
colors change non stop
10%
body type
While I didn't start with it, the dense body type just felt right to me so I wanted to incorporate it into the collection. As I may have already mentioned, creating depth was really important to me, and the translucent body facilitated that. I also tried an almost entirely transparent version of the clew members but this resulted in the clew members becoming unrecognizable in a mess of blended colors. Of those clew members with a translucent body type, they can be assigned three different types of fill.

varied
11.6%

dense
11.6%

translucent: black
11.6%

translucent: light & dark
11.6%

translucent: palette
11.6%
core
For translucent clews, they also have a core. One challenge that I faced with this specific trait was ensuring an appropriate level of transparency on the outside layer of the clew members. Too little transparency and the clew member loses depth and looks like a moving blur of solid color; too much transparency and the translucent clew members look like wire frames.
44.3% of Clew had N/A for this trait since they were not translucent.

translucent, none
14.3%

translucent, external
9.7%

translucent, middle
11.8%

translucent, internal
10%

translucent, dense
9.9%
direction
In sharing my progress with the gen.art community, one of our gold members (Oxenford) asked how it would look if the clew members went big and then small again, so I gave it a try and liked how the clew members appeared to be recoiling (especially in the live view). When developing this, I originally had them diminishing all the way back to their starting size but ultimately decided against it because the shapes disappeared (almost entirely) in the final output. Without those shapes, there was no clear focal point and I was concerned that the collection began to feel less cohesive.
Note that with the forward/backward trait, it is still possible to have larger shapes in the final output when they collide with another and therefore stop in the middle of the production cycle.

forward
97.0%

forward/backward
3.0%
reproduction
I stumbled upon this intentionally but unexpectedly. I was implementing general advice for generative artists (i.e., change your variables to extremes and see what happens). In this case, I changed the starting size of the clew members to a negative number. This basically flipped them inside out. As they grew, the outside shape began to emerge from its inner core, giving the effect of them emerging from a cocoon (eclosion trait). I liked the way it looked, and therefore decided to replicate it (albeit using a slightly different technique). The germination trait has them emerging from a small seed.

eclosion
51.1%

germination
48.9%
rotation
Adding a rotation allowed the final outputs (and live views) to demonstrate more movement, and I was fully sold on the rotation trait once I saw it combined with an indirect perspective. Because the rotation is really only evident in the square shapes, I've eliminated it for clews with only circles. As you can see below, when rotation is turned off the clew appears much more organized and structured.

off
73.0%

on
27.0%
survivors
This was the last property that I added and it's activated when two clew members collide. "Small" survivors will result in smaller clew members stopping the larger ones while "big" survivors will result in the opposite. "Random" will stop one of the clew members in a manner unassociated with size.
Note that this property somewhat resembles "proximity" in that it changes how close the clew members appear in the final output. The one difference is that "survivors" (when big or small) will result in more equally-sized clew members. It will also accentuate the extremes of proximity.

random
62.4%

big
19.6%

small
18.0%
canvas
I found it really important to get the canvas color right given the fact that everything layers on top of it. Black was an obvious starting point, but I also challenged myself to incorporate a white canvas. After trying it for several weeks, it just never felt right. I then realized I was overlooking the most obvious option—using the actual color palette. Doing so allowed me to incorporate lighter canvas colors and also improve the overall cohesiveness of the outputs.
Rather than name every color within the palette, I decided to categorize them as "dark" and "light." Some outputs have different colored canvases because there are five colors assigned to each, so it's locked to "light" or "dark" but not to a specific color within those categories.

light
38.6%

dark
41.8%

black
19.6%
background
It seems like everyone is after texture these days, and—to be quite honest—that's what I was chasing when I started working on backgrounds. After testing a lot of different options, I decided to focus on using basic geometric shapes but getting the details right.

curved
8.1%

straight
10.9%

frothy
14.5%

linen
9.0%

fuzz
17.5%

sand
15.5%

confetti
17.3%

flat
7.2%
background depth
As I experimented, I found that I could add more depth by slowly developing the background (simultaneously with the foreground). This made the clew members appear like they are emerging from—or even stuck within—the background. In order to execute this, and ensure the background didn't completely swallow the foreground, I had to increase the transparency for the background elements as they developed.

shallow
13.2%

medium
56.6%

deep
22.9%
frame
Personally, I like a framed image. When I shared the first framing option with the gen.art community, there was resounding support for cutting it. So, I honed in on some different framing approaches that more cleanly incorporates the work itself. While I really like all of these, I love how the background only frame feels like the clew has gone rogue by extending beyond the frame and canvas.

none
61.4%

background
5.1%

foreground
20.9%

background/foreground
7.9%
edges
As I worked with the background framing more, I made a few "happy little accidents" that inspired me to test different approaches with the framed background. I explored quite a few but narrowed in on just two options, clean and rough. Note that all background options can have a clean frame applied except for curved.

clean
6.0%

rough
13.8%
perspective
This is one of the few times that I was intentionally seeking out ways to create more variety while also maintaining a cohesive look/feel. While it was relatively straightforward to code the indirect trait, the fine tuning to get the details right was burdensome. Note that the indirect can go in four directions (with a 1% likelihood for each) but they are all considered the same (i.e., indirect) for rarity purposes.

direct
98.4%

indirect
1.6%
symmetry
Who doesn't love a little symmetry? I'm particularly fond of the diagonal, and I always have to look at it closely to confirm it's there.

none
91.2%

horizontal
3.9%

vertical
2.5%

diagonal
2.5%
special
This was actually a last minute addition but I loved how it brought a totally different feel to the collection while still clearly being part of Clew. Both special traits, due to their look, highlight the flow field base of the broader collection; #clewFoLlOWclew emphasizes it further with its name.

#clewFoLlOWclew
0.7%

#lostNotLost
0.7%
appreciation
A special thanks to the gen.art community... toiminto, rich, and r0zk0 for helping me address a few specific coding challenges, and a deep appreciation to everyone (and specifically Oxenford) in the artist-applicants channel (of gen dot art's discord) who provided encouragement and recommendations as I developed this concept into a collection.
Thank you to Tyler Hobbs for his written work on generative art; his essays are both educational and inspiring. Thanks to the Two Bored Apes, Jaime and Roy; I found their podcast to be a great resource to better understand the broader generative art space. And I can't overlook a shoutout to the Coding Train for being an endless resource of tutorials and coding challenges.
Now that Clew is complete, I've revised this entire page to incorporate outputs and trait probabilities from the final collection.