Stipple Sunsets

Beachy dreamscape vibes.

Jake Rockland
8 min readApr 21, 2021
Stipple Sunsets #0 (the “artist mint”)

Prologue

Throughout the COVID-19 pandemic, my partner, our dog, and I have become very comfortable with our new stay-at-home reality. Despite this, I’ve found that beyond the faces of the people I miss, there are places that I miss. Places that are usually homesteads of solace have become something of longing for now.

The beach is a place of such peace for me (despite an unexplainable aversion to actually swimming in the ocean). Two waterfronts in particular have a special place in my heart: the Sea of Cortez and the beaches along the Mediterranean. Stipple Sunsets is my first work of generative art and is inspired by a longing to be back with my feet in the sand.

Jacob & Angel #5/200, Myron Tupa 1981

While generative art is a new creative space for me, creating art is something that runs deep in my family’s ethos. The walls of our house are currently decorated with silkscreen prints of my grandparents’ art, which was a large force of inspiration for this piece. When I set out to make Stipple Sunsets I wanted to make something that felt like some type of digital-native silkscreen.

Digital silkscreens

In its simplest form, a Stipple Sunsets piece consists of 3 “screens”: the ocean, the skyline, and the sun. As the virtual plotter iterates across the canvas placing stipple dots, it determines which color they should be placed in by checking the bounds of each of these various screens.

As a simple example, this screen-checking logic for the main sun semi-circle looks something like this (expanded a bit from the minified code uploaded to the Ethereum Virtual Machine):

// Returns true if the point falls within the sun semi-circle.
function withinSunSemiCircle(x, y, minDimension) {
// The sun semi-circle only occurs above the horizon.
if (!withinSkyBounds(x, y, minDimension)) {
return false;
}
// Check if the point lies within the sun modeled as a circle,
// given that the semi-circle aspect has been accounted for in the
// horizon check.
return withinSunCircle(x, y, minDimension);
}
// Returns true if the point walls within the total sun-circle,
// regardless of whether it is above or below the horizon.
function withinSunCircle(x, y, minDimension) {
let radius = sunRadius(minDimension);
let centerX = sunCenterX(x, minDimension);
let centerY = horizonLineY(x, minDimension);
let distanceX = (x - centerX);
let distanceY = (y - centerY);
let distanceSquared =
(distanceX * distanceX) + (distanceY * distanceY);
return distanceSquare <= (radius * radius);
}

If you’d like to poke through all the details, you can peek the source code in full using the Art Blocks API or pull it from the Art Blocks contract directly.

Features, features, features

While Stipple Sunsets is a piece with a simple aesthetic, there are a variety of features throughout the collection that provide every minter with a piece that is uniquely their own to enjoy.

The basics

There are four attributes which all Stipple Sunset pieces have: a color palette, a stipple size, a stipple density, and an alignment.

There are seven color palettes, with “Cool Summer” and “Sunglasses Required” being statistically twice as likely to be chosen as the other five. Additionally, each color palette consists of four colors, of which only three are used, so there is some expected variation between pieces that share the same palette while maintaining a consistent feel.

Stipple Sunsets #79, #58

Stipple sizing is an interesting example of how statistical odds will not always be reflected perfectly in actual empirical data, at the small sample size of 360 mints. While the smallest stippling size of three and the largest of six have equal probabilities (as do the sizes in between), the smallest stippling size is meaningfully less present in the actual mints.

Alignment is a fun characteristic in that no particular alignment is especially rare with the exception of the perfectly centered outcome. The odds that the sun gets left/right or up/down shifted are each 80%, meaning that the odds that a piece has “Perfect Balance”, or no explicit offset in any direction, are 0.2 * 0.2 = 4%.

Misprints

Expanding on the idea of digital silkscreens, I thought it would be fun to include in the mix digital misprints. These features are scenarios where the colors were confused, the printer did a double-take, or simply forgot a screen altogether.

Perhaps the most immediately apparent misprint is the “Double Print”. When this feature is enabled, the first “side A” of the canvas is printed with one set of parameters, and then the entire parameterization is redone for “side B”.

Stipple Sunsets #292

One very satisfying outcome that can happen with Double Print pieces, which we did not see in the mainnet set of mints, is that both sides of the double-print have the alignment of “Perfect Balance”, which causes them to align perfectly with each other.

Test run: unminted.

Continuing along the lines of mixups the “Color Splice” feature occurs when the printer erratically decides to mix an entirely different color palette into the piece. The “Blended” variant performs this splice sampling in a linear fashion while “Homage” does so in a way that attempts to nod to Autoglyphs, the first on-chain generative art project.

Stipple Sunsets #19, #121, #83, #4

While there are only two explicit versions of this feature exposed in the metadata directly, the emergent effect of this feature is entirely dependent on the combination of the stipple sizing and density for the mint. This is the case for both “explicit” variants of the feature.

Stipple Sunsets #301, #125

The final misprint is the “Forgotten Sun”, which occurs when the printer simply forgets to include the screen for the sun entirely. This misprint characteristic is the most unlikely statistically, with a selection probability of roughly 1 in 90.

One of my favorite mints from the series and almost certainly the most improbable outcome is #304, which has the Forgotten Sun characteristic and an Homage color splicing with a horizontal centering to boot! This combination is something I never saw in my testing (though Forgotten Sun was even less likely in my original testing) and was an outcome that truly surprised me in a delightful way.

Stipple Sunsets #304

One of the interesting outputs of Homage effect, which we did not see in the mainnet results, produces a very boxy recurring pattern. Given the low probability of the Homage effect occurring it isn’t a surprise that we didn’t see these pieces minted, but I’ve included some examples from testing below, which demonstrate the effect.

Test runs: unminted.

Embellishments

Not strictly misprints, there are a couple artist embellishment features seen in the series which were considered as being a consistent pattern across all prints but decided against in favor of keeping the “base Sunsets” simple. In the Aura effect a thin ring is drawn around the entire diameter of the sun, while in the Blended Reflections feature each of the sun bands is blended in with the color of the water.

Clockwise starting a top-left: Stipple Sunsets #94, #211, #24, #57

Observed vs. expected

Given the low sample size of 360 mints, may of the expected probabilities for various features are not perfectly aligned with the observed distribution of those features seen in the minted set of pieces.

Observed vs. Expected distributions

Rarity.Studio will have a more detailed breakdown of this rarity information soon, but I thought it would be fun to give a little glimpse into this difference between the “observed” and “expected” outcomes for the misprints and embellishments.

Giving back

Put bluntly: there is a lot of money moving around in the the world of crypto and non-fungible tokens. It is hard for me to not think that more of this money, if even a small fraction, could be given to those in greater need than those of us who have the disposable income to spend on art.

From the time Stipple Sunsets was still something I was just ideating on, I knew that I wanted to do a project where half of the artist proceeds would go to a cause beyond myself. This is not an idea that I had in a vacuum. Far from it, I have been impressed and inspired by the other artists in the Art Blocks community who had set a strong precedent of giving charity through digital art.

As quite a self-described nerd, I was (and continue to be) really excited by the ability to automagically direct a percentage of sales-proceeds to charity on-contract with the Art Blocks minter, in a way that meant the purchasers of the art pieces were directly giving at the time of purchase.

For each of the 360 Stipple Sunsets mints, 0.045 ETH was sent directly to the multi-sig wallet of GiveDirectly, a non-profit that sends money directly to the worlds poorest and most in need.

Stipple Sunsets minters giving directly with Art Blocks.

In total, Stipple Sunsets minters donated 16.2 ETH (roughly $40,000 USD at the time of minting) to GiveDirectly. This is something that makes me really happy. Making a fantastic thing even more fantastic, Art Blocks decided to match this contribution, giving an additional 16.2 ETH across 6 charitable organizations accepting crypto directly.

Snowfro, being awesome.

I don’t think that the impact of this, alongside the amazing charitable work of Dmirti, Jeff, and Erick can be overstated. Nor should it be understated how much this is a result of the amazing community that Art Blocks is building, which makes this type of giving possible. I’m excited to continue to see this intersection of art and philanthropy in future Art Blocks drops and it certainly will continue to be a big component of my future work.

Epilogue

I’m humbled by how much Stipple Sunsets resonated with collectors and the Art Blocks community. If you missed the project minting, you can still find pieces for sale on the secondary market on OpenSea. I will continue to give 50% of the resale proceeds that I receive to charities in the Rocky Mountain region as they are paid out.

💜 🤝
- Jake (rockland.eth)

--

--