Parameter Overview
BY HEEEY

To control the visual range of generated seeds, the QQL website includes a parameter selector with 12 trait categories. Each parameter has anywhere from three to eight options that affect the potential outcome of running the algorithm.
Any combination of the 12 parameters creates a distinct visual family—seeds that share core characteristics but still offer enough variety in color, ring quantity, size, and composition to feel like their own diverse algorithm. This means that trying to replicate exact seeds or even exact styles is not simple to achieve, and may take hundreds of iterations.
Palettes








Palette selection is a fixed-outcome trait which constrains the ring colors and backgrounds that may be generated. These do not overlap with each other, as each palette is unique and separate from the rest. The palette trait is one of the easiest to identify once you spend a little time with the algorithm.
The seven QQL palettes are: Fidenza, Edinburgh, Austin, Berlin, Miami, Seattle and Seoul. For a deeper look, we’ve covered individual QQL colors one by one as well as analyzed color palettes in detail.
Color Mode




Color Mode is another fixed-outcome trait, as selecting Simple, Stacked or Zebra generates constant and expected results.
Simple means that each ring has one layer of circles, all of them of the same color, which creates seeds where color flows uniformly through the lines and sectors of rings, establishing distinct zones of consistent hue.
Stacked generates two superimposed layers of circles where each layer may have a different color. Each layer may be shifted by a small distance, with all rings sharing the same amount of shift, regardless of size. This can create several interesting effects such as blurriness, a “perceptual” color that is a blend of the two layers, a deeper and more intricate texture, or slightly elongated discs when both layers share the same color.


Finally, Zebra refers to “striped” rings in which each band alternates colors, meaning that each ring has two colors—similar to a bullseye. One minor note: rings that only have a single band will only have a single color, even with the Zebra setting. So, you can find seeds that are technically Zebra, but they are single-band and single-color, making the Zebra parameter non-evident.


Color Variety

Color variety, unlike the traits we’ve examined so far, is a variable-outcome trait where selecting Low, Medium, or High gives the algorithm a loose range of potential behavior, and doesn’t necessarily guarantee that an exact behavior will occur.
Selecting Low makes it possible for 1 to 5 of the palette’s colors to be used in a seed, while Medium ranges from 5 to 15 and High from 10 to 25. Although no QQL palette actually has 25 different colors, the internal mechanics of how QQL draws colors from an ordered sequence means that, for some palettes, the full set of colors will only be seen when High color variety is selected, and the upper end of the range is random chosen by the algorithm.



Furthermore, just because a list of colors is available doesn’t mean all of them will be used. The composition of the space is divided into groups full of small invisible lines where each group is assigned a “starting color”. Depending on what color variety has been assigned, the starting color may change from group-to-group or from line-to-line, but the odds of this happening are variable. Although the odds of changing colors from group-to-group are close to 100% with High color variety, many seeds have only one group, making it possible to render a single-color seed (if there are no line-to-line changes in color). Even with High color variety selected, the odds of changing from line-to-line are still relatively low and might not occur.


Structure




Structure is a fixed-outcome parameter where each of the three traits determines the potential shapes that ring groups may take within the canvas.
In Orbital, groups of rings are placed around a center of expanding discs. It’s common for a jukebox or stadium shape to emerge where a rectangle has a semicircular edge and bands of different colors are laid further from the center on each side of the rectangle and beyond the first arc forming larger semicircles.
In some seeds, discs are divided into arcs of several groups, each with rings of different properties. In others, the full circle is part of the same group, which tends to generate simple and recognizable patterns.


Formation displays a grid of groups, each potentially containing rings of different colors and sizes. A grid can have one to seven partitions per side, meaning that we can discover formation seeds with anywhere from 1 to 49 different groups. There is also a chance for groups to be skipped, which may result in rectangular voids within a seed.


The parameter Shadows is composed of groups of three-dimensional columns, or comets, with circular edges that can be stacked, and which partially cover or replace one another. A column forms when a circle is followed by a diameter-width tail and a comet appears when its tail diminishes in size, converging to a single point away from its circular origins.
Shadows is the structure trait in which white space is more prevalent generating the most intricate shapes and compositions that can be found in QQL.


Direction

The Direction parameter influences the shape that the underlying flow field takes, which in turn determines the position and cadence that the lines of rings take in the canvas. In essence, rings always follow these imaginary lines, and depending on which direction a seed gets assigned, these lines orient one way or another in the canvas.






There are two directional patterns, each with four different options. Linear directions include Horizontal, Diagonal and Vertical, all of which are fixed-outcome traits as they always assign the same values to the aforementioned lines, with Diagonal laying points out in a 45º angle. The final linear direction, Random Linear, produces variable-outcome seeds where the lines of rings may be drawn on a straight line in any direction, making it possible for seeds with slightly slanted lines of rings or stronger slopes to emerge.


Radial directions are all variable-outcome traits, allowing for a range of directions to happen within each trait. Radial flow fields work by taking a central point from which lines of circles shoot off linearly away from the center. Depending on what trait is assigned, these lines spiral clockwise or counterclockwise more or less aggressively, with Explosive producing low-rotation outputs, Spiral producing lines that may make a full rotation around the canvas, and Circular making more than one full rotation, trending towards the tightest spiral that the algorithm allows. At first glance, these traits might be confused with one another, as the maximum possible rotation that Explosive can generate coincides with the minimum possible rotation that a Spiral seed might produce.
The final radial direction trait, Random Radial, covers the full range of the previous three traits, and can also produce non-spiralling seeds with lines moving away from the flow field center in a completely linear way.


Turbulence

Turbulence makes it possible to randomly alter the structured direction of flow field lines by adding several disturbance vectors across the canvas that change the direction these lines flow. If None is selected, no changes to the flow field occur. With Low, between 10 and 30 turbulence points may alter the flow field by rotating it less than one degree. With High, the effect happens across 20 to 60 areas that may each rotate the flow field much more noticeably. Both Low and High are variable-outcome traits. Turbulence points have a variable effect area with a diminishing impact on the flow field the further away we move from the focal point.



These alterations are often hard to notice in outputs as they are combined with so many other factors, but one clear bit of evidence is when a line of rings seems to change direction abruptly and in an unexpected way. A spiral that circles harmoniously without twists won’t have any turbulent influence, and the same goes for a perfectly straight line of rings.
Margin

Margin is a fixed-outcome parameter that determines how much margin, if any, is to be left free of rings on the edges of the canvas. Margin None may generate canvases full of rings that extend beyond the edge by allowing rings to be partially drawn as long as their outermost edges are no further away than 5% of the canvas width. This affordance makes it possible for the largest possible rings to emerge as well as for an “endless” flow to persist.



Crisp margin checks that rings don’t go beyond the edge of the canvas while leaving a very small yet perceivable margin, and Wide margin adds a thicker empty space around the edge of the composition. With the Wide setting, the margin on the bottom edge of the image is slightly thicker than the other edges.
Due to the interaction between Crisp and Wide margins and rings, if large rings appearing in seeds with these margins, it can lead to more intricate, non-straight borders. These borders can then serve as an additional tool for creating compositionally rich seeds.
Ring Size & Size Variety

Ring Size & Size Variety are variable-outcome parameters that work together in order to determine the size of rings used in each QQL seed. The algorithm includes a list of 13 predetermined base ring sizes that range from really small to really large, with availability determined by our Ring Size and Size Variety parameter choices.



Selecting a particular ring size (Small, Medium or Large) limits the list of available ring sizes from the pool.
Size Variety controls how many base ring sizes are available. While Constant offers the smallest selection, Variable expands the pool, and Wild gives you the largest range of available sizes.
With Constant variety, the range of possible ring sizes across the different size categories don’t overlap with each other, so the smallest and largest possible sizes are unique to that size setting. With Variable variety, there is some overlap in base ring sizes across Small, Medium, and Large, but the odds are highest for the average ring size to be selected. The Wild variety setting expands the pool of available ring sizes, with Small containing the “smallest” eight, Medium including all but the largest, and Large containing all but the smallest of the medium ring sizes, while strongly leaning towards larger ring size odds.



For instance, selecting Small and Constant “activates” four of the 13 fixed ring sizes, from the second smallest onward, and each with different probabilities of being used in rings. Then, only one of these four is selected as the starting base ring size, and a ring size modifier is applied that may make the actual size of rings an average of 5% smaller or larger. This final ring size is then used to draw all rings in a ring group in the same size. When it’s the next group’s turn to be drawn, a new base ring size might be selected and this will then be modified again. This is why there are some QQL seeds where rings in different areas of the canvas are just slightly larger or smaller than the others.



The average deviation from the base ring size is around 10-15% for Variable and around 30% for Wild size variety, making it possible to generate extra small rings that are no longer visible and emerge as a texture, or extra large rings that occupy most of the seed’s area. In Wild, we can also find seeds that combine both very large and very small rings, combining texture with composition in elegant ways.
Spacing



Depending on the selected spacing trait, a fixed distance between rings in the same group is assigned. This distance is combined with a required no-collision buffer area around each ring. The size of the buffer is dependent on the ring’s size (being potentially larger for large rings) making spacing a variable-outcome parameter.
For Dense seeds, we find almost no surrounding space around rings, with up to around 4% of a ring’s radius collision buffer around it and little-to-no separation between rings. Medium and Sparse spacing use the same ring-separation mechanisms but with a bit of a different approach.


Each of the traits can render seeds in a few ways. One option is for seeds to have a proportional buffer around rings relative to the rings radius: around 15-25% for Medium and around 25-75% for Sparse, with minimal to no distance between rings. Another option is for there to be a smaller buffer but a larger constant distance between rings, which depends on the canvas size (around 3-8% of the canvas width for Medium and around 8-10% for Sparse). A third possibility is for rings to render with a combination of both proportional buffer and constant distance.
A noticeable buffer can show us seeds that have medium or large rings with a circular empty space around them surrounded by smaller rings that accentuate this effect. A constant ring distance, on the other hand, will render seeds that have very noticeable grids of rings that are evenly separated one from another.


Rings




Ring settings allow us to choose the quantity of bands we want rings to potentially have. It’s a fixed-outcome parameter with three checkboxes, 1, 3 and 7, that can be selected individually, in pairs or all at the same time.
For instance, selecting all three options returns rings with one, three, or seven bands, while choosing '7' only produces rings with seven bands. However, there are some exceptions.
When more than one band-quantity is available, rings within the same group can generate with different bands producing a very heterogeneous collage of rings which also blurs the group’s area.
Ring Thickness



Ring Thickness is a variable-outcome parameter where traits define the range of thickness that ring bands can have, or in other words, how much spacing there can be between bands. Thick clamps ring thickness between 65-80%, and Thin produces rings that range between 7-23% thickness. Mixed makes it possible for rings to cover the whole thickness spectrum with the possibility to present thin-ring areas together with thick-ring areas in the same seed. On top of that, Mixed can also generate medium-thickness rings that fall between the thickness of Thin and Thick.
If we take a look at rings that clearly belong to the same group, we can notice that ring thickness is not exactly the same from ring to ring. That is because each ring can vary from the assigned thickness by about 3%, resulting in seeds that have ring patterns with greater textural complexity.


Understanding how each QQL trait works is essential to rendering QQL seeds with intention, which in turn can make the curation process more targeted and streamlined. We’ve seen how the parameter selector is an essential and integral tool of QQL, and how it connects parametric artists with the endless variations and deterministic randomness of the algorithm and its seeds.
Knowing how the parameter selector works, how some traits will render totally expected results and how from others we can expect a more diverse range of outcomes, can help us in discerning why seeds look the way they do and how each trait affects or determines their visual characteristics and potential variations.