Fidenza
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/ba836bbfffc0e3d6684157f8fde42ca78b408675-3000x1687.jpg?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/08e5d57c0f1463ad267172736cab37492ce584af-1000x1250.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/4231832a7407e95c5cdc643ddeb2347f5ec231c3-2500x1250.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/43307cd615217e68c0b234a0a56e42a46182f06a-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
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
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/35f8ed5a361f4178d0bc198befc69a9ab32944d0-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
Small Scale - Fidenza #545
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/c8bb1347a98c386bfc1a48250403c1d81b431b14-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
Large Scale - Fidenza #206
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/ac592476a5b860172681008fc20e6c728e447e87-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
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
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/f20b37b89c0a6b3913335ab43eb72b032c777e6c-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
Uniform Scale - Fidenza #65
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/aec7ca564e4361110d8affdc2be0923ee0eb2b21-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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.
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/3eaf45124af8453714fc1d4e8d7b61298b2cf658-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
Low Turbulence - Fidenza #353
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/2a4913d149ff233a93acc0e529cab73d43fb1d1a-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
High Turbulence - Fidenza #42
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/a4d4aeef4b758647aee11648c1571da31b86b374-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/49fb9a1ae3fd2afdb4637d1ef3317558cc832d56-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
Example of the Super Blocks feature - Fidenza #118
Next, the shapes can also be outlined, which gives the artwork a much more graphic appearance:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/eb2c0ea48f022d51fd72b89fc4f087a84c351e26-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/5d0f9787de484fa3b2cc8f5e3b8f1e17adf8d332-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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.
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/5d7b023a1688e395080b0c5b1a765f539971b052-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
Example of the Shape Angles: Sharp - Fidenza #323
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/37f8644f19ef3d5419da0878340cb54a5775584b-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/39e5ef026a2b7b42f167aba49e25b7c2661af7d1-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
Example of Relaxed Collision Checking - Fidenza #420
There’s also the most chaotic option, which removes collision checking altogether: “Anything Goes”:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/79de682b9ac80d9e562ce404c65db9428ec2bde8-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/cbe49b5ebf57dab0e1b4aaaadbadf7b5b485289c-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
With Margin - Fidenza #982
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/046baae9445523ecb3b1e7d52fa6ccca36df41d0-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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:
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/043c8425307fc7c6dda195012b3a42868f900bee-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/c936ead3a2ce4455d756c6dbedc5eaf3045bc333-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/875d34f0a88fe3478e45e9b7eb4e8b0eb853cbd3-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/18fb8296c3ea8cadeba155a5cd14ac20050670da-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/5564c49fe3899a3ed57e1bde90fef2eba7df7454-1734x2080.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/0a087734a454ae81c11bbe554d01e41ff4b59cce-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/014c0abd97497935d56b12b90c454cdc9204be60-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/efec40f66bde878580715d212cc5d310c4b128b7-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/23a260d48d76a3d69fb38d7d7d8e676c5fa57e50-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/642e800db176fff3737e6a46c4296009273a11c6-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/d401fbf74fd05ad2324db4e4bde4af1c57e92a68-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/7393a95c04ef9a481222ab640c9723341704ca8c-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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!
![MISSING ALT TEXT](https://cdn.sanity.io/images/6e7gp05s/production/63dea6dfc9ecd5470b4e8718945ad38b78d7c5ca-5000x6000.png?w=3800&q=85&fit=clip&auto=format)
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.