Fidenza
Fidenza is my most versatile generative algorithm to date (as of 2021). Although it is not overly complex, the core structures of the algorithm are highly flexible, allowing for enough variety to produce continuously surprising results. I consider this to be one of the most interesting ways to evaluate the quality of a generative algorithm, and certainly one that is unique to the medium. Striking the right balance of unpredictability and quality is a difficult challenge for even the best artists in this field. This is why I’m so excited that Fidenza is being showcased on Art Blocks, the only site in existence that perfectly suits generative art and raises the bar for developing these kinds of high-quality generative art algorithms.
Let’s dive into how Fidenza works, examine some of the unique features, and have a look at the variety of output.
The Core Algorithm
The main basis of Fidenza is a flow field algorithm. I’ve been playing with this technique since 2016, and I’ve used it in dozens of works during that time. Flow fields allow me to produce unpredictable, organic curves. These curves also have the nice aesthetic property of being non-overlapping. They will always run alongside neighboring curves without ever colliding. If we strip away all of the upper layers in Fidenza and just look at the flow field, we see curves that look something like this:
The configuration of the flow field itself is versatile. It can be altered to have mild turbulence or extreme turbulence, to produce short curves or long curves, or even to snap curves along sharp angles instead of smoothly flowing.
The next important component of Fidenza are the shapes that are drawn over the flow field. Instead of thin curves, it uses thick, curved rectangles. Importantly, the algorithm checks to ensure that the rectangles don’t collide and overlap. This produces a nice spacing in between the elements:
Next comes the assignment of color. Fidenza uses probabilistic color palettes. These are a set of colors that are selected by hand to work well together. Each color in the palette is assigned a probability. So, for example, you can say that about 50% of the shapes will be blue, 25% will be red, 10% yellow, and so on. For Fidenza, I prepared 14 different probabilistic color palettes, one of which uses a different probability technique. More about that in a bit!
To get a little extra color variety in, the curve shapes usually get split up at the ends and have extra colors chosen. The prototypical end result looks like this:
Now that we’ve covered the base case, how about some of the variations that are possible?
Varieties of Scale
There are seven different “scales” that Fidenza can operate. These control the sizes of the potential shapes. Most scales have a probabilistic mix of small, medium, and large elements. Those are:
- Small - Very Rare
- Medium - Rare
- Large - Second most common
- Jumbo - The most common, with nice big chunky shapes
- Jumbo XL - Rare, huge shapes only
Then there are two special scales, where all of the shapes have the same thickness. These produce a particularly harmonious result:
- Uniform - All shapes have the same medium thickness
- Micro-Uniform - All shapes have the same super tiny thickness
Turbulence
The amount of turbulence in the flow field is variable, including values of “low”, “medium”, “high”. There’s also the special value of “none”, which produces straight shapes with no curvature at all.
Stroke Style and Shape Segments
The shapes themselves have a few different drawing styles besides the standard versions. The first variation is called “Super Blocks”, and this causes the shapes to be filled with square (or nearly square) blocks of color, causing very vibrant patterns:
Next, the shapes can also be outlined, which gives the artwork a much more graphic appearance:
Finally, there’s the “Soft Shapes” feature, which gives the shapes a bit of a painterly look. Instead of filling the shapes with a solid color, they are drawn using thousands of tiny parallel lines. A smooth, continuous noise is applied to the lines to give them a little push and pull in different sections, producing some organic variation in the texture and shape:
Sharp Edges and Spirals
A couple of the features manipulate the flow field and how shapes move through it. First, the “Shape Angles: Sharp” feature causes the shapes to cut through the flow field only at angles that are increments of Pi * 0.2.
Additionally, the flow field may be turned into a spiral instead of its normal flowy character.
Collision Checking
Normally, Fidenza checks for collisions between shapes and avoids them. This is the “Collision Check: No Overlap” feature. There are two different modes where those checks are not as strict. First, there’s “Collision Check: Relaxed” that still takes overlap into account, but does allow partial overlap to happen:
There’s also the most chaotic option, which removes collision checking altogether: “Anything Goes”:
Margin
One of the simpler features, “Has Margin”, controls whether or not a margin of negative space is preserved around the edge of the image:
Color Palettes
Fidenza was designed with 14 different probabilistic color palettes. Of those, Luxe is the most common, and incorporates the largest variety of colors: sixteen in total. The other color palettes use fewer colors, and range from using eleven colors down to just one. Here are some examples of the 13 “normal” color palettes:
The Luxe-Derived palette chooses a subset of the colors from the Luxe palette, and then assigns new probabilities to those, creating an entirely new palette. This process is very unpredictable, making most of the results surprising. Sometimes they’re great, sometimes they’re not. For that reason, I kept it as the rarest palette. I’m super pleased with how some of these results came out, though!
Additional Resources
Explore: Browse the collection on Archipelago, which has great tools for filtering by traits.
Collect: See what's available on OpenSea.
Prints: Holders of Fidenza NFTs can order the official prints from the studio, if available.