Fidenza

ByTyler Hobbs
Published2021.6.11
MISSING ALT TEXT

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:

Placeholder
MISSING ALT TEXT

A view of the flow field that underlies Fidenza

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:

Placeholder
MISSING ALT TEXT

Using chunky, non-overlapping shapes with the flow field


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:

Placeholder
MISSING ALT TEXT

Fidenza #58

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
Placeholder
MISSING ALT TEXT

Small Scale - Fidenza #545

Placeholder
MISSING ALT TEXT

Large Scale - Fidenza #206

Placeholder
MISSING ALT TEXT

Jumbo Scale - Fidenza #329

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
Placeholder
MISSING ALT TEXT

Uniform Scale - Fidenza #65

Placeholder
MISSING ALT TEXT

Micro-Uniform - Fidenza #944

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.

Placeholder
MISSING ALT TEXT

Low Turbulence - Fidenza #353

Placeholder
MISSING ALT TEXT

High Turbulence - Fidenza #42

Placeholder
MISSING ALT TEXT

No Turbulence - Fidenza #54

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:

Placeholder
MISSING ALT TEXT

Example of the Super Blocks feature - Fidenza #118

Next, the shapes can also be outlined, which gives the artwork a much more graphic appearance:

Placeholder
MISSING ALT TEXT

Example of the Outline feature - Fidenza #163

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:

Placeholder
MISSING ALT TEXT

Example of the Soft Shapes feature - Fidenza #222


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.

Placeholder
MISSING ALT TEXT

Example of the Shape Angles: Sharp - Fidenza #323


Placeholder
MISSING ALT TEXT

Example of the Spiral Feature - Fidenza #99

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:

Placeholder
MISSING ALT TEXT

Example of Relaxed Collision Checking - Fidenza #420

There’s also the most chaotic option, which removes collision checking altogether: “Anything Goes”:

Placeholder
MISSING ALT TEXT

Example of “Anything Goes” Collision Checking - Fidenza #430

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:

Placeholder
MISSING ALT TEXT

With Margin - Fidenza #982

Placeholder
MISSING ALT TEXT

Without Margin - Fidenza #628

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:

Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT
Placeholder
MISSING ALT TEXT

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!

Placeholder
MISSING ALT TEXT

Luxe-Derived - Fidenza #529


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.