AB5D

Space Birds

Mark Cotton · Project 177 · Factory

Art Blocks Factory, project 177 · 48 outputs · released 14 October 2021 · CC BY-NC 4.0

Space Birds #33 by Mark Cotton. Copyright: CC BY-NC 4.0. From the AB5D collection.

Hold the mouse button on the artwork to pause; release to resume. Open the original artwork and press S to save a screenshot. Open artwork

Space Birds #31: a two-by-two grid of grey outline polygons with small purple discs on a pale green ground inside a cream border

Space Birds #31, a Four Pack in the Professor Longhair palette, held by AB5D. Render: Art Blocks media proxy.

The work and its context

Space Birds is project 177 on the Art Blocks contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. The index records 48 invocations against a maximum of 48, the runtime p5@1.0.0, a square aspect ratio, the licence label CC BY-NC 4.0 and the Factory curation status 1. The project text describes the forms: "three simple polygon forms; triangles, quadrilaterals and pentagons". Combined and layered, they "twist and morph their shapes as they rotate in space" 1.

Each output is an animation, not a still. Translucent pointed polygons turn slowly through one another above a vertical colour gradient, while small discs, rings or comma-like shapes orbit them. Holding the mouse button pauses the animation, and pressing "s" saves a screenshot 12. The compositions repeat a single cluster across a grid of one to nine cells, so a Nine Pack reads less as nine birds than as a moving wallpaper.

It followed Cotton's earlier Factory project, Gizmobotz (project 105) 34.

Conception and development

Cotton set out his process in a Medium essay published on 8 October 2021, six days before release, which the index gives as the project's website 41. He describes a practice built on accident: "Experimentation, trial and error, combining unrelated themes and acting impulsively have led to some of my favorite results" 4.

The starting point was a pair of p5.js functions: one draws a shape's outer perimeter, the other cuts an inner opening, or contour, into it. Cotton found that if he moved "each corner of the Shape and each corner of the Contour in random directions and for random distances", the contour could break out of its shape 4. The result was the folded, self-intersecting polygon that became the Space Bird. He then added a colour gradient, real-time morphing, rotation and a shifting background, in that order 4. At one point, he writes, "the work was actually creating itself while I was following along" 4.

He considered "Twisted Polygons" and "Qlusters" as titles before settling on Space Birds. The name joins two references: the bird-of-paradise flower, and Constantin Brancusi's sculpture series Bird in Space. In his words, the polygons "echo the shapes of both the Bird-of-Paradise flower and Brancusi's Bird in Space series" 4.

The trait names come from the same essay. The three line weights are named after artists: Mucha (thin), Picasso (medium) and Peter Max (thick). "X-Ray Mode" gives dark grounds with pale strokes, and "Framed" and "Unframed" name the two borders 4. The palette names, set in the program, include Professor Longhair, Ed Paschke, Marfa and Santa Fe; the essay seen here does not explain them 1.

Cotton came to generative art from painting, mixed media and sculpture. He also makes ambient and experimental music as Another Neglected Hobby 45. A 2014 review on Hypnagogue of the album Sleeping With the Window Open credits the project to him 6.

How the work was constructed

The program is a single script of 16,801 bytes, SHA-256 5f72910c1d600d1a5a70ec5fe7cebccbc1342d9037bf47591992f3dfa6be3a26. It was retrieved from the Art Blocks index on 20 September 2026 and read in full 1. It seeds a xorshift generator from the token hash and makes a fixed sequence of draws: eight general-purpose values used for colours and vertex positions, then a palette, a shape mode, the grid, the morph offset and amplitude, a line-and-mode switch and a border switch 1.

The program itself computes no trait labels. The published traits were therefore produced by a separate feature script. A Python re-implementation of the generator, run against all 48 hashes, reproduces the published palette, orientation, line, X-ray and border of every token (own computation) 1.

Trait Rule in the program Published count of 48
Orientation columns and rows each 1 to 3, uniform: nine layouts at 1/9 each Two Across 10, Nine Pack 8, Three Up 7, Four Pack 6, Three Across 5, Singular 4, Six Up 4, Two Up 2, Six Across 2
Line a draw of 1 to 99: 1 to 40 thick (Peter Max), 41 to 59 thin (Mucha), 60 to 99 medium (Picasso) Picasso 22, Peter Max 19, Mucha 7
X-ray Mode same draw above 80 (19 in 99): dark grounds, pale strokes 6
Border a draw of 1 to 10: 1 to 5 Unframed, 6 to 10 Framed 24 / 24
Color Palette 29 named palettes, integer weights summing to 339 21 palettes seen; Spice Rack and Teal Eaves 4 each; Color Wheel, Sunset, Philco, EdFex, Red Splash and Sandstone 1 each
Shapes a draw of 1 to 10: 1 to 3 triangle and quadrilateral, 4 to 9 pentagon and triangle, 10 quadrilateral and pentagon Triangles 46, Pentagons 34, Quadrilaterals 16 (but see quirk 1)
Inertials two-cell layouts with shape draw 1 to 9, or Singular with 10 11
Magneto Rings Singular with shape draw 4 to 9, or two-cell layouts with 10 3

Each shape is one perimeter plus one contour. The triangle has three corners, the quadrilateral four and the pentagon five. Their corner positions mix fixed random offsets with three sine waves that drift very slowly, so the fold of each polygon changes as it turns 1. The three shapes rotate at different rates and in different directions. Fills are 80 per cent opaque palette colours that cross-fade on a 1,200-frame cycle, and the background gradient drifts between two colour pairs on a 5,000-frame cycle (code reading) 1.

Every cell in a grid is drawn from the same random values, so all cells are identical copies turning in step 1. This is why #33, a Six Across, shows six matching pink-and-blue clusters.

Space Birds #33: six identical clusters of pale blue polygons, pink circles and thin grey spikes in a three-by-two grid, inside a dark grey frame

Space Birds #33, Six Across, Bubble Gum, Picasso line, Framed. Held by AB5D. Render: Art Blocks media proxy.

Quirks in the algorithm

A full read of the program, checked against all 48 published token records, turned up the following.

  1. Seven outputs carry the wrong shape traits. In grids with three rows or three columns, the program draws a quadrilateral and a pentagon when the shape draw is 1 to 3. The published traits for those tokens instead say triangle and quadrilateral. The re-implemented generator identifies seven such tokens: #1, #11, #20, #21, #23, #37 and #39. Each is labelled "Twisted Triangles: True, Twisted Pentagons: False" but draws a pentagon and no triangle (own computation) 1. Corrected, the counts are 39 triangles and 41 pentagons, not 46 and 34. Collectors treating "no pentagons" as a rarity should note that seven of the fourteen "False" pentagon tokens do in fact draw one.
  2. Broken colour codes that render as solid white. Several palette entries are malformed: one lacks its "#", one has seven hex digits, one uses the letter "o" for a zero, and one carries a stray quotation mark. They occur in Philco, EdFex, Ed Paschke and Warhol 1. In p5.js 1.0.0, a colour string that matches no pattern is read as opaque white 7. Five tokens pick one of these entries somewhere in their colour draws: #1, #36 and #44 (Ed Paschke), #16 (EdFex) and #18 (Philco) (own computation). In #44 both main shapes cross-fade through white. In #1 the pentagon fill and the top of the background fade towards white rather than violet.
  3. Palettes that never appear, and one that cannot be seen. Eight of the 29 named palettes appear in no token: Arizona, Citrus, 3D Glasses, Coral, NOLA, Fridge, Warhol and Ghosted 1. With 48 draws from weights summing to 339, this is chance, not a bug. But "Ghosted" (weight 1) has only two colours, both fully transparent. Had it been drawn, its shapes would have shown as grey outlines only. Several other palettes end in a transparent colour. Professor Longhair is one, which is why the shapes in #31 read mostly as line drawings.
  4. X-ray is always Picasso. The same draw sets both the line weight and X-ray Mode. X-ray needs a value above 80, which always falls in the medium-weight band. All six X-ray tokens are Picasso 1.
  5. "Unframed" has the wider border. Unframed outputs draw a heavy off-white band round the edge, a paper-like mat about 5 per cent of the canvas wide. Framed outputs draw a narrower dark grey frame with an inner line that cycles through palette colours 14. The contact renders bear this out: #31 has a cream mat, #33 a dark frame.
  6. An accidental else. The branch that sets the medium line weight is guarded by an arrow function where a comparison was presumably meant. A function is always truthy, so the branch runs whenever the earlier tests fail, which is the intended behaviour reached by accident (code reading) 1.
  7. Curves with missing arguments. Several curve calls in the Inertials routine wrap their arguments in parentheses, so JavaScript passes only the last value. With p5.js 1.0.0 on a 2D canvas, those segments reach the browser with undefined control points and are skipped, clipping the comma-like shapes (code reading) 17.
  8. Dead code. Each cell sets a translucent "bubble" fill that no shape uses, because every shape sets its own fill. A weighted list of palette names is built and never read, and variables named hash and features are declared and never used 1. The unused palette-name list suggests Cotton began to compute traits in the program before moving that job to the separate feature script, where the shape labels in quirk 1 went wrong.
  9. Frame-based, slow and heavy. All motion is counted in frames, not seconds. The morph advances by a tiny angle each frame, so one full cycle of the sine waves takes about 62,800 frames, some 17 minutes at 60 frames per second (own computation) 1. The background gradient is redrawn line by line every frame, one line per pixel of height. On large screens this is costly, and slower machines will run the whole piece more slowly. The canvas is square, sized to the smaller window dimension, and stroke weights scale with it (code reading) 1.
  10. Structural rules in the data. Inertials appear only in Two Across and Two Up outputs, and Magneto Rings only in Singular and Two Across outputs. Neither ever appears in a Four Pack or in any grid with three rows or columns, and no token has both 1. Only two tokens lack triangles, #4 and #29, and both have shape draw 10 1.

The most coveted variants

No auction sale, record trade or collector survey of Space Birds was found for this draft. What follows rests on trait rarity in the index and on what the renders show, not on documented market preference 1. At retrieval the index gave a lowest listing of 3.69 ETH 1.

Color Wheel (1 of 48). #47, the last token minted, is the only Color Wheel. Its rainbow palette gives violet, magenta and green triangles over a gradient from brown through green to navy, repeated three across 1.

Space Birds #47: three clusters of magenta and violet triangles with green discs over a dark brown-to-navy gradient, inside a grey frame

Space Birds #47, the only Color Wheel, and an X-ray output. Render: Art Blocks media proxy.

No triangles (2 of 48). #4 and #29 are the only outputs without a triangle 1. #4 stacks three turquoise quadrilateral-and-pentagon clusters in a Three Up column, with pale discs at their edges.

Space Birds #4: three stacked turquoise clusters of folded polygons with white discs on a pale pink ground, inside a cream mat

Space Birds #4, Swimming Pool, one of two outputs with no triangle. Render: Art Blocks media proxy.

Magneto Rings (3 of 48). #18, #29 and #43 carry the rings 1. #18 is a Singular in Philco, a grey palette, so the single bird and its two rings of orbiting circles read almost as a pencil drawing on a pale ground.

Space Birds #18: a single grey spiked form with two sets of concentric ring outlines on a cream-to-green ground, inside a dark frame

Space Birds #18, Singular, Philco, with Magneto Rings. Render: Art Blocks media proxy.

X-ray Mode (6 of 48). The six X-ray outputs are #7, #10, #16, #24, #41 and #47 1. #7 sets coral polygons against a navy-to-green night gradient with pale strokes.

Space Birds #7: three coral triangle clusters with pale spikes and red discs over a navy-to-dark-green gradient

Space Birds #7, X-ray Mode, Sea Salt Caramel. Render: Art Blocks media proxy.

Singulars (4 of 48). #6, #18, #41 and #43 show one bird at full scale, the closest the series comes to Cotton's single folded form 1.

The pre-release pair. #0 and #1 were minted on 5 October 2021, nine days before release 1. #1 is also one of the seven mislabelled tokens: its published traits say triangles, but it draws pentagons (quirk 1).

Notable collectors

No collector of Space Birds is named in any source inspected. At retrieval the 48 tokens sat in 38 addresses. The largest holding was four (#1, #3, #4 and #36), and one address held three (#30, #42 and #43) 1. The artist's address held none 1. AB5D holds #31 and #33 1.

The mint

Two tokens were minted before release: #0 at 15:32:51 UTC and #1 at 15:48:43 UTC on 5 October 2021 1. The index records activation on 12 October at 15:52:04 UTC and the auction start at 16:00:00 UTC on 14 October 1. The sale was a Dutch auction starting at 2 ETH and falling by 0.25 ETH every five minutes to 0.25 ETH 12.

On that schedule, the price reached 0.25 ETH at 16:35 UTC. The first public mint, #2, came at 16:38:54 UTC 1. So, if the schedule ran as published, no one bought above the floor, and every public mint was at 0.25 ETH, the value in the index's price field (own computation) 1. Four tokens were minted in the first hour after the start, 29 within the first day and 39 within a week. #6, #7 and #8 share a timestamp of 18:02:35 UTC 1. The last seven followed slowly: one in November 2021, four in January 2022, one in February and the final token, #47, on 16 April 2022 1.

The project text pledges 25 per cent of the artist's proceeds to five cancer charities: Alex's Lemonade Stand Foundation for Childhood Cancer, The Leukemia & Lymphoma Society, the Lymphoma Research Foundation, the International Waldenstrom's Macroglobulinemia Foundation and the Ellis Fischel Cancer Center at the University of Missouri 1. The earlier AB5D essay gives a donation figure of $6,400 from an Art Blocks report of December 2021 8. That figure could not be traced. Druid's "Charity on Chain" updates of October 2021 and February 2022 do not mention Space Birds 9.

The index records CC BY-NC 4.0 without a link 1. On that label, the images may be shared and adapted for non-commercial purposes with attribution. Commercial use needs permission. The program carries no separate code licence. p5.js is loaded by the platform when the work is viewed 17.

Significance and limitations

Space Birds is a small, idiosyncratic Factory project. Its interest lies less in the market than in the way it wears its making on its surface. The contour trick Cotton describes in his essay is visible in every output, and the program keeps the traces of fast, impulsive development: malformed colours, an accidental else, dead code and a feature script that disagrees with the renderer in seven of 48 tokens 41. Its limitations are those of the record. No sales history, collector commentary, exhibition or print was found, and the charity outcome is unconfirmed.

Unresolved research questions:

  1. Did Art Blocks or the artist ever publish the Space Birds donation total, and where does the earlier essay's $6,400 figure come from?
  2. Will Art Blocks or the artist correct the shape traits of #1, #11, #20, #21, #23, #37 and #39?
  3. Did the Dutch auction run on the published schedule, so that every public mint was at 0.25 ETH? Mint transactions would settle it.
  4. Cotton's X account and any Art Blocks community sessions may hold further statements. The quotations above come from an automated extraction of his Medium essay and should be checked against the page.

Bibliography

Primary

  1. Art Blocks public GraphQL index, projects_metadata for project 177 (including the full program) and tokens_metadata for all 48 tokens. Retrieved 2026-09-20 via https://artblocks-mainnet.hasura.app/v1/graphql. Collection page: https://www.artblocks.io/collections/factory/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177 

  1. Mark Cotton, "Inspiration for and Development of 'Space Birds' on ArtBlocks.io", Medium, 8 October 2021. https://medium.com/@markcotton_81658/inspiration-for-and-development-of-space-birds-on-artblocks-io-560af0d1a6a9 

  1. Art Blocks, "Space Birds by Mark Cotton", project page. Read 20 September 2026. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177 

  1. Art Blocks, "Gizmobotz by Mark Cotton", project 105. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/105 

  1. p5.js 1.0.0, lib/p5.js in the npm package p5@1.0.0, colour parsing ("Input did not match any CSS color pattern: default to white") and the 2D renderer's curve handling. https://www.npmjs.com/package/p5/v/1.0.0 

Video and audio

  1. Another Neglected Hobby, Bandcamp. https://anotherneglectedhobby.bandcamp.com/ 

  1. Hypnagogue, "Another Neglected Hobby: Sleeping With the Window Open", 23 March 2014. https://hypnagogue.net/2014/03/23/another-neglected-hobby-sleeping-with-the-window-open/ 

No video or podcast about Space Birds was found.

Criticism, collecting and market

  1. AB5D, "Space Birds by Mark Cotton", earlier version of this essay. https://ab5d.xyz/series/space-birds-by-mark-cotton/ 

  1. Druid, "Update: Charity on Chain: ~12 Million in September and October", The Link (Art Blocks), 30 October 2021, https://medium.com/the-link-art-blocks/update-charity-on-chain-12-million-in-september-and-october-a1af7dbb4560; and "Charity on Chain Update: Just shy of $48m total donations", 18 February 2022, https://medium.com/the-link-art-blocks/charity-on-chain-update-just-shy-of-48m-total-donations-d8c400983ac1 

Further reading

Supplied revision published by AB5D. Author not specified. Original prose: CC0. Artwork and code rights are addressed separately above.

Token usage unavailable for the complete essay.

Token usage

Usage for this supplied revision was not provided. The linked generation record describes the original research batch.

Generation record

Artist dossier · Source record · Essay data

Research record

The indexed project script was inspected. Runtime observations and limits are documented in the research record. Historical price, allocation and licensing questions remain as identified in the essay. Publication does not resolve those evidence gaps.

Retrieval evidence · Research notes · Manuscript