DocsHow to QQLImplicit Traits

Implicit Traits

BY HEEEY

Because of the inherent complexity of QQL (and despite the extensiveness and comprehensiveness of the parameter selector!) there are still plenty of elements or concepts that are hidden within the depths of the algorithm and that only become apparent after extensive exploration.

Two-Band-Ring Seeds

QQL #302
QQL #302
0x0f6d3427535ae6f62ec87db7148f41beb856303c26d9caaf08fbffff10a5e526 seed by Anders
0x0f6d3427535ae6f62ec87db7148f41beb856303c26d9caaf08fbffff10a5e526 seed by Anders

Through the parameter interface we can opt in to rendering seeds with rings that have one, three and/or seven bands. However, there is an easter egg (an undisclosed option) that makes it possible to render two-band-ring seeds.

As we discovered in “What is a seed?”, the last seven digits of a seed’s hash are a code that the algorithm uses to determine a seed’s individual traits. Despite not being a choice in the parameter selector, if we replace the 4th-to-last digit on any seed with an “e” and render the resulting hash, we will produce a seed with exclusively* two-band rings.

We can use headless to generate these seeds. However, an easier way is to take a seed’s hash from a seed we have already generated, manually replace the “e”, and add it to the import page to render a new seed that will be stored and visible in our queue.

Divergent-Band-Quantity Rings

We may also encounter rings with two, four, five and six bands in the “wild” when rendering seeds under specific circumstances. The algorithm determines the minimum radius that a ring with a given number of bands needs to have in order to keep the integrity of the final drawing. This is essentially what makes it possible to always draw those bands well at a standard resolution. When a ring that is supposed to be drawn with three or seven bands is determined to be too small, the algorithm checks to see how many bands can actually fit in that space, and draws it with that quantity of bands.

QQL #277
QQL #277
0x039cd535c7d3bcb04e93ad44491b30185ee0a4c536cd91022f55ffff14a50516 seed by Sim
0x039cd535c7d3bcb04e93ad44491b30185ee0a4c536cd91022f55ffff14a50516 seed by Sim

As small and tiny rings occur very often in seeds, it is very common to find single-band-ring seeds where the actual trait settings were set on three or seven bands. What is a bit less conspicuous, but still possible to discover, are rings with a non-selectable number of bands, because the size range for those rings is very specific and tight. In even rarer occasions we might be able to find seeds with rings of at least seven different sizes that have all possible number of bands.

Ring Count

QQL #318 with 1 single ring
QQL #318 with 1 single ring
QQL #281 with +1M rings
QQL #281 with +1M rings

A semi-visible trait is “ring count”, which is essentially the quantity of rings that a seed has. There is no need to manually count rings, because it’s possible to see the quantity using the browser’s console.

Using this method, it’s been discovered that the densest seeds can render around one million tiny rings. At the other end of the spectrum, it is possible — although not common — to find a seed with zero rings in it, showing only the background color.

Counting rings can be an interesting approach to QQL curation, as it makes it feasible, for instance, to verify that two different seeds have the same or a similar quantity of rings. Or, perhaps you might want to “curate” a group of seeds that are aesthetically similar, but with an increasing quantity of rings (e.g. one, two, four, and eight rings).

Inflatable Seeds

Through a combination of haphazard events, a seed’s rings (or perhaps just a group’s) might be assigned a size smaller than zero, making those rings negative-area and undrawable. As a result, this leaves an empty space where they should have been drawn.

0xe25ecd59478ce509232e37c2e0810fd4c655b8b492e019536c83ffff10aad136 seed
0xe25ecd59478ce509232e37c2e0810fd4c655b8b492e019536c83ffff10aad136 seed
0xe25ecd59478ce509232e37c2e0810fd4c655b8b492e019536c83ffff10aad136 inflated seed
0xe25ecd59478ce509232e37c2e0810fd4c655b8b492e019536c83ffff10aad136 inflated seed

Seeds where this occurs are called “inflatable seeds”, because we can slightly modify the algorithm (using headless rendering) so that these rings are “inflated”, or given a smallest-visible size, and can be rendered in the same location they would have been in the first place. This is possible because the QQL algorithm maintains the properties of these invisible rings, so their position, color and quantity of bands are known.

It’s important to mention, however, that while the original “empty” seed is a “normal” QQL seed, these modified versions are non-canonical representations of the algorithm, and are technically no longer QQLs. However, an inflatable and “empty” seed could of course still be minted at face value, knowing that it hides a composition full of tiny rings in its hash.

Splatter

QQL #206 with single-ring splatter
QQL #206 with single-ring splatter
0x34a2438811b7dd3d14aca7f31542d4666e4c37eadc4986e417abffff18edead7 2-ring splatter seed
0x34a2438811b7dd3d14aca7f31542d4666e4c37eadc4986e417abffff18edead7 2-ring splatter seed

Although we’ve explained how splatter colors work here, there are other aspects that make splatter distribution interesting. Every seed has a predetermined splatter center which will tend to concentrate a larger amount of splatter points nearby. The further away from this center, the fewer splatter rings we will find.

The amount and quantity of splatter rings in a seed is variable, but will depend heavily on the Color Variety selected. When this is set to High, there is a much higher probability of rendering a large number of splatter rings with different colors. All color varieties have a high chance of having no splatter at all, with High having a 0.5% chance of producing high-density, clearly visible splatter and the average quantity of splatter rings being lower than 1%.

In seeds where lines of same-color rings are no longer visible, odds are that what’s actually happening is that a high-density splatter with many different colors available is present and in full action.

A very interesting behavior of splatter rings is that these are placed on top—after all regular rings have been drawn— of preexistent rings, essentially covering and replacing them. As each ring is built with small band variations, a splatter ring will often let the colors of the ring below emerge slightly generating an interesting visual effect.

0x5b33b6f41e87111b7d22685b297f086b5535034dc0131961a86effff12964d15 medium-density splatter seed by Dyker
0x5b33b6f41e87111b7d22685b297f086b5535034dc0131961a86effff12964d15 medium-density splatter seed by Dyker
0x070a72b69e74cf56e1d61fa28ad0dd886cbf5d9ce191648a0780ffff1082a933 high-density monochrome splatter seed by Adrien
0x070a72b69e74cf56e1d61fa28ad0dd886cbf5d9ce191648a0780ffff1082a933 high-density monochrome splatter seed by Adrien

Ignored Flow Fields

In seeds that have a radial direction, groups have the possibility to ignore the established flow field direction. Instead, rings within those groups will be in a constant linear direction (horizontal, vertical or 45-degree diagonal). Around 70% of radial seeds have no ignored flow fields, 15% will potentially have half their groups ignore the flow field, and another 15% will show mostly straight lines of rings instead of some sort of spirals. This is the reason why if we select Spiral or Circular, sometimes the result will be straight lines of rings instead.

This implicit trait generates fascinating effects where two distinct flow fields or ring directions interact in the same seed, leading to a state of apparent collision.

0x4dc6750a016db9a96fef40d852e1faee11733db618261b3c76c2ffff18014b3e seed by Pstl
0x4dc6750a016db9a96fef40d852e1faee11733db618261b3c76c2ffff18014b3e seed by Pstl
0x7f4679ed286cb37e5925d6ea4e5f75a1bf39df87231b05625f3affff10c1412d seed by a-r-mega
0x7f4679ed286cb37e5925d6ea4e5f75a1bf39df87231b05625f3affff10c1412d seed by a-r-mega

Understanding implicit traits helps us in getting a full picture of the QQL algorithm and in going beyond the traits we can select through the QQL website’s interface. By naming and giving visibility to these undisclosed features we can in turn expand curation boundaries and also improve and clarify detection of some of the algorithm’s emergent properties.