# Beauty in the Hurting by Ryan Green

## The work and its context

Beauty in the Hurting is Art Blocks project 178 on the contract at `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, by Ryan Green. The index records 1,024 invocations against a maximum of 1,024, `p5@1.0.0`, an aspect ratio of 1, the Factory category and the licence label `CC BY-NC-SA 4.0` with no link [^S02]. The collection page describes a fixed edition of 1,024 in the Factory category [^S01].

Each output is a small planet drawn by a flock. The program first traces a looping, spirograph-like path of thin coloured lines around a centre, then releases a few hundred simulated sheep and a smaller pack of wolves onto a disc. The sheep flock, flee the wolves and leave faint glowing trails as they move. They die of age, of stillness or of drifting at the edge, and the work is finished when the flock has gone [^S02][^S06]. The mint description frames this as "the herding of sheep and the murmuration of starlings", "an apt metaphor for our own journeys of searching for truth, beauty and love", and says the pieces are "best viewed live to witness how the path of these digital creatures' lives paint their tiny planet" [^S02][^S01].

The description also carries a seventeen-line poem that begins "I behold the sleeping planet" and ends "I return my gaze to the heavens", and a commitment that 25 per cent of sales above the resting price would fund The Playability Initiative, whose stated mission is to design free games and creative digital tools for children with disabilities [^S02][^S01].

Green's link page describes him as an engineer, creative coder, videogame designer, digital artist and poet. It lists him as director, artist and programmer of That Dragon, Cancer, alongside two later Art Blocks projects [^S07]. That game's site describes it as "an immersive narrative videogame that retells Joel Green's 4-year fight against cancer", made in honour of the Greens' son [^S08]. This essay notes that background without reading any specific biographical meaning into the planets, which the artist has not claimed.

## Conception and development

The artist's statements on record are those in the mint description. The indexed `artist_interview` field is null and the website of record is a link hub [^S02][^S07]. The description gives the conceptual source directly: the patterns of herded sheep and starling murmurations [^S02]. Both are classic cases of flocking, where many individuals following simple local rules produce one collective shape, and the program is built on exactly that model [^S02].

The poem reads as the voice of someone holding the finished planet. "Plucked from the sky", "Rolled around in my hands", "Time worn, | Life stained", "Placed in my collection, | Delicate and beautiful, | When viewed from this distance" [^S02]. The line "It must have been painful" is the title's hinge: the beauty seen at a distance is the trace of struggle close up. This essay's reading is that the viewer, as collector, is cast as the one who holds the planet. That is an interpretation, not a statement the artist made.

The trait names confirm how literally the metaphor was built. The published features describe sheep and wolves as characters: Sheep Stubborness, Sheep Need Eachother, Sheep Independance, Wolf Aggression, Wolf Sight, Edge of the World ("I Wanna Go Home", "It's Fine", "Love it") and Sheep Creativity ("None, life is beautiful!") [^S03]. They were written by someone who thought of the parameters as temperaments.

The charitable clause ties the release to a named organisation, described in the mint text itself [^S02]. The organisation's own site was not located, and no record of how much was raised or transferred was found. That is left as an open question.

## How the work was constructed

The program is the `script` field of the index record for project 178, 13,518 bytes in one part, SHA-256 `40a3a4c45d5f93690e1fc57e3a5dc033ae7666e060483ea8ab556b7579bf4fbd` [^S02]. The renderer's inline script has the same digest and loads p5.js 1.0.0 [^S06]. It was read in full; no code is reproduced here.

Unlike Return and Beatboxes, this program uses no pseudo-random generator for its parameters. Each of the 32 hash bytes is scaled to the range 0 to 1 and read directly: byte 0 sets the flock size, byte 18 the planet's radius, byte 20 the share of wolves, byte 10 the sheep's speed class, and so on through byte 22 [^S02]. A 16-character slice of the hash is parsed and immediately discarded, a leftover of the common template [^S02]. Continuous variation comes from p5's Perlin noise, reseeded from byte 19 multiplied by a large constant, which sets where each creature is born and how its speed and force vary [^S02].

The drawing happens in two phases. First, for 4,000 steps run 100 at a time, a point orbits the centre at the planet's radius, and its angle is perturbed so it loops back on itself. It draws thin HSB-coloured lines on a background layer, forming the web of faint strokes around the planet [^S02]. Then a flock of between 200 and 550 creatures is released at a seeded point. Between about 5 and 18 per cent of them are wolves, which chase the local centre of the flock; the rest are sheep, which separate, align and cohere with neighbours and are pushed away from any wolf in range [^S02]. Each sheep also either circles, seeks or flees its own orbit point according to a four-way setting, and on half of all tokens a "wash" force swirls it around the flock's average position [^S02]. A creature that strays past the planet's radius reappears on the opposite side. That keeps the flock on a disc and draws the bright rim [^S02]. Sheep paint a translucent disc and a short line on every step, coloured by speed, which is the trail the viewer sees accumulate. Sheep die when their travelled distance exceeds a lifespan, when they stay nearly still for 1,800 frames, or after 600 frames at the edge [^S02].

The program therefore reaches an end. The animation runs until only wolves remain, after which nothing new is drawn and the image holds [^S02][^S06]. Space, a mouse click or a touch toggles small marker dots drawn over every creature; F toggles a turbo mode that runs ten simulation steps per frame; S saves the canvas [^S02]. There is no sound [^S02][^S06].

The published traits were produced by a separate feature script, and checking them against the program shows where the two diverge. Sixteen of the 21 published keys are a deterministic function of a single hash byte or program parameter across all 1,024 tokens. Flock Count equals the program's flock size, Wolf Count is the program's fractional wolf count rounded down, and Sheep Speed equals the program's five speed classes [^S03]. Five keys (Wash Speed, Wolf Speed, Wolf Stubborness, Sheep Light and the colour list) could not be reproduced from any single parameter tested and are left unexplained [^S03].

Three published traits describe something the program does not do. Wash Cycle is published in three values from a four-way split of byte 21, but the program's wash is off for the lower half of that byte's range. As a result, all 259 tokens labelled "Light Spin" in fact have no wash at all; only the 519 "Whirlwind" tokens apply it [^S02][^S03]. Planet Size is published from byte 18 in thirds, but the program shrinks the planet when the flock is small and byte 18 is high, so 101 tokens carry a Large or Medium label for a planet drawn at the smaller size [^S02][^S03]. And 21 tokens have no Sheep Light value at all [^S03].

## The mint

Invocation 0 was minted on 5 October 2021 at 22:12:17 UTC, sixteen days before the sale [^S03]. The index records activation on 15 October at 23:38:20 UTC and a start at 16:00:00 UTC on 21 October [^S02]. The collection page shows 22 October, the same instant in a browser ten hours ahead of UTC [^S01].

The sale was a Dutch auction. The collection page's sales notes give a start price of 3 ETH falling every five minutes through 2.5, 2, 1.5, 1.1, 0.9, 0.7, 0.5, 0.4 and 0.3 to a resting price of 0.2 ETH, reached 50 minutes after the start [^S01]. The index price field of 0.2 ETH is that resting price [^S02]. Nobody bought in the first twenty minutes. The first public mint, invocation 1, came at 16:20:47 UTC, in the 1.1 ETH tier [^S03].

Assigning each indexed mint time to the published tier gives two tokens at 1.1 ETH, eight at 0.5, seven at 0.4, ten at 0.3 and 996 at the 0.2 ETH resting price [^S01][^S03]. That is a reconstruction from timestamps, not from transaction values. On it, only 27 of 1,023 public sales were "above resting price". Depending on how the charitable clause is read, 25 per cent of those sales comes to about 1.65 ETH (a quarter of the amount above 0.2) or about 3.0 ETH (a quarter of their full price). Neither figure is confirmed by any payment record.

The edition then sold out quickly. By an hour after the start, 298 tokens had been minted, and the last of the 1,023 public tokens came at 17:29:26 UTC, 89.4 minutes after the start, which is also the recorded completion [^S03][^S02]. At retrieval the 1,024 tokens were held by 593 addresses, and 142 instants carried more than one mint [^S03].

## Copyright and licensing

The index records `CC BY-NC-SA 4.0` with a null link, and the collection page shows no licence field [^S02][^S01]. The canonical deed for that identifier permits sharing and adaptation with attribution, prohibits commercial use, and requires adaptations to be shared under the same licence [^S09]. If the label is taken at its word, anyone may share or adapt a Beauty in the Hurting image non-commercially with credit, and any adaptation must carry the same terms. Token holders get no commercial right from it. Because the record gives no link, the association with the deed rests on the identifier.

The program carries no licence statement, so the code's terms are unknown [^S02]. p5.js 1.0.0 is supplied by the renderer and was not separately examined. The seventeen-line poem in the description is the artist's text and is quoted here only briefly; its own terms are not stated [^S02].

## Close reading of examples

Four planets were observed together in the official renderer, each in its own frame of one page, sampled once a second for about a minute [^S04][^S06]. They were chosen to test the program against its metadata: the AB5D holding, a "Light Spin" token whose wash should be off, a "Large" planet the program should shrink, and a token with no Sheep Light value.

**Beauty in the Hurting #335** (token `178000335`, held by an address in the AB5D linked-wallet set [^S05]) is a small planet, 221 units in radius, carrying a flock of 445 with 52 wolves, the Whirlwind wash on at strength 1, and the fastest sheep [^S04][^S06]. It was watched twice, for about 50 seconds from load and again for about 90 seconds in the shared page, and the two runs behaved identically [^S06]. The web of faint green, yellow and blue globe strokes was already complete when sampling began. Inside a thin green rim, 445 small glowing rings crowd together in gold, red and cream. Within three seconds the flock fell from 433 to 234, then to 86, 62 and 55, and by 01:29:57 UTC it held at 53, roughly the number of wolves. The console logged "alive 53" once a second from then on [^S06]. The image then stopped changing. Signatures sampled across the next 45 seconds were identical except when markers were toggled [^S06]. Pressing Space hid the marker dots and changed the signature; pressing it again restored them [^S06]. What remains is a dense disc of gold and red circles with a radial burst near the centre where the flock collapsed inward. It is a record of a life measured in seconds.

**Beauty in the Hurting #25** (token `178000025`) shows the opposite pace. It is a Large planet of radius 408 with 270 fast sheep. Its published Wash Cycle is Light Spin, but the running program reported a wash strength of 0, as the trait analysis predicts [^S04][^S06]. The flock lived much longer: 270 alive for the first 12 seconds, then 253, 205, 168 and finally 28 after about a minute [^S06]. Without a wash to swirl them, the sheep travel in long looping chains, and the planet fills with lime-yellow worm-like trails that curl back on themselves across a mostly dark disc rimmed in violet. Every one-second sample during that minute was distinct [^S06]. The contrast with #335 is the clearest demonstration in this set that the planet's size and the flock's settings, not the colours, decide how a Beauty in the Hurting looks.

**Beauty in the Hurting #15** (token `178000015`) is labelled Large, but the running program drew its planet at a radius of 279.5, inside the range of the published Medium band, because its small flock triggers the program's shrink rule [^S04][^S06][^S03]. Beside the other frames it reads as a small planet: a cyan-rimmed disc with a knot of orange and gold near the centre. Its 235 sheep collapsed to 15 in about 20 seconds, and the image held from then on [^S06].

**Beauty in the Hurting #16** (token `178000016`) has no Sheep Light value in its metadata. It is a Grazer, the slowest class, with 200 sheep, a wash strength of 0 despite its Light Spin label, and a planet shrunk to 260.6 [^S04][^S06]. It was the slowest to change: all 200 sheep were still alive after 20 seconds and 182 after a minute [^S06]. Its flock gathered into a hot-pink and magenta cluster off-centre, dense and slow-moving. The F key, which the program documents only in code, switched on turbo. Frame count then advanced by 1,910 in three seconds, about ten times the normal rate [^S06].

None of the four played sound, and no audio element exists [^S02][^S06].

## Significance and limitations

Beauty in the Hurting reads the hash as a list of dispositions rather than feeding it to a random generator. Each sheep's stubbornness, independence and need for others is a byte of the hash, and the published traits give those bytes the names of temperaments [^S02][^S03]. The result is a work in which the viewer watches a small society live and die. How long that takes varies from a few seconds to well over a minute, and what remains is the trace [^S06]. Read against the poem's "Delicate and beautiful, | When viewed from this distance", the finished planet is the distance and the animation is the hurt [^S02]. That reading is this essay's.

The research also shows that its published traits cannot be trusted as a description of the program on three points: 259 tokens labelled Light Spin have no wash, 101 tokens overstate their planet size, and 21 tokens lack a Sheep Light value. Five traits could not be reproduced at all [^S03]. Anyone using the traits to choose or describe a token should check the live work.

Unresolved research questions:

1. What logic produced Wash Speed, Wolf Speed, Wolf Stubborness, Sheep Light and the colour list, and why do 21 tokens lack Sheep Light?
2. Was the Light Spin label intended to mark a weak wash that the shipped program never applies?
3. How much did the Playability Initiative receive, and on which reading of "25% of sales above resting price"?
4. Was invocation 0, minted sixteen days before the sale, an artist mint?
5. Is there a development account of the project from the artist?

[^S01]: Art Blocks. [Beauty in the Hurting by Ryan Green, collection page](https://www.artblocks.io/collection/beauty-in-the-hurting-by-ryan-green). Accessed 2026-09-20.
[^S02]: Art Blocks. [Art Blocks public GraphQL index, projects_metadata for project 178, including the complete program](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-20.
[^S03]: Art Blocks. [Art Blocks public GraphQL index, tokens_metadata for all 1024 tokens of project 178](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-20.
[^S04]: Art Blocks. [Art Blocks public GraphQL index, tokens_metadata for the four example tokens of project 178](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-20.
[^S05]: Art Blocks. [Art Blocks public GraphQL index, user_profiles for the AB5D collection](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-20.
[^S06]: Art Blocks. [Art Blocks live renderer for project 178 tokens](https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/178000335). Accessed 2026-09-20.
[^S07]: Ryan Green. [ryangreen8 link page](https://linktr.ee/ryangreen8). Accessed 2026-09-20.
[^S08]: Numinous Games. [That Dragon, Cancer](https://www.thatdragoncancer.com/). Accessed 2026-09-20.
[^S09]: Creative Commons. [Deed: Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/). Accessed 2026-09-20.
