DRAGONS CRACK

The identity

A fracture with light behind it

The name is not a metaphor to be illustrated. It is a description of what happens: an egg cracks and something comes out. Every mark in this system is that event drawn once, at a different size.

Everything is generated. branding/ builds the whole set from parameters in the same way dragonkit/ builds the dragons, and for the same reason: a one-line critique should become a coherent edit, not a re-draw. The palette this page is painted with is generated out of that module into tokens.css, so the site cannot drift from the mark.

Counted at build time

What exists

Counted from the tree when this page was generated, excluding frame caches and study snapshots. Rule two of the voice is that no number ships from memory; this is that rule applied to the collection itself.

whatcountwhere
Models (GLB)455321 world props, 51 HumanoidKit people and variant GLBs, 1 separate Fairy GLB, the rest dragons
World-prop triangles101,87073 mesh rows built into 321 declared variants
Films4624 unique titles; the rest are retained earlier versions
Film footage848 MBportrait-first, at 1080 × 1920
Animated loops74turntables and single clips
Stills3,437review sheets, previews and lifecycle plates
Interactive viewers16self-contained WebGL, zero external requests
Brand surfaces18all generated from parameters
The story7,962 wordsThe Lamp Leans, in seven parts
Engineering record63,521 words26 numbered failure shapes plus 25 task handoffs

The device

One jagged fault, descending left to right

It appears in the logomark as a crack across an egg, and in the wordmark as the same fault family driven through the letterforms. They share the seed, drop, direction and construction. Three parameters are load-bearing, and all three were defects before they were settings.

parametervaluewhy this and not something else
FAULT_DROP0.52 capsThe fault is specified as a drop across the full width in cap heights, not as an angle. At a fixed 11° it fell two and a half caps across DRAGONS CRACK — entering above the D and leaving below the final K, so the word CRACK had no crack in it. A drop holds for any string length.
FAULT_SPREAD0.075 capsHow far the halves part. Past about a tenth of a cap the two halves stop reading as one broken word and start reading as two words.
BREAK_HEIGHT0.56 capsWhere the fault crosses the letters, measured up from the baseline. A mask's midpoint is the baseline, so the default ran the crack along the feet of the letters instead of through them.

Palette

Eight colours, none of them invented

Six are lifted from a line of a shipped dragon.py; the other two were measured off rendered pixels. The provenance is recorded in brand.SOURCE and reprinted on every build, because a palette whose origin is not written down gets “improved” by the next person to open the file.

void

#0d0d15

measured: rendered background of pfp + teaser (#0d0d15 both)

basalt

#23262b

westerndrake_v3/dragon.py C_DORSAL

ash

#3a3f47

westerndrake_v3/dragon.py C_FLANK

ember

#d9541f

westerndrake_v3/dragon.py C_EMBER_DEEP

flare

#f5a03c

westerndrake_v3/dragon.py C_EMBER_HOT

core

#fef39d

measured: brightest 1% of the flame in pfp_dragons_crack_1024

crystal

#3ff0dd

crystalwyrmling_v3/dragon.py C_CORE

bone

#e8e0cf

westerndrake_v3/dragon.py C_BONE

Type

Specified by cap height, never by point size

Two faces at one point size do not share a cap, and every layout rule here — clear space, tracking, the fault's jaggedness — is denominated in caps. fracture.size_for_cap() measures the face and returns the point size that yields the cap you asked for.

Clear space is 0.62 cap heights on every side of the wordmark. The bloom is explicitly allowed to run past that box — the mark's bounding box is its body, not its glow, and including the glow was what threw every centred layout off by half a bloom radius.

settingvaluenote
Wordmark tracking0.055 capsHeavy, condensed, fractured. Never re-typed by hand.
Wordmark squeeze0.86In the print system the face is squeezed until the letterforms stop reading as the system font they are cut from. This site substitutes a face that is already condensed rather than scaling one horizontally in the browser; the crack is the load-bearing device, not the squeeze.
Eyebrow tracking0.34 capsSmall caps, in crystal. At most one per surface.
Fault steps22Across the full width, at seed 7, so every rebuild is identical.

Layout

Type sits in the dark half

Every hero plate has a lit side and a dead side, because these dragons are lit by their own fire. Copy goes in the dead side — and which side that is, is measured. surfaces.dark_spot() scans the allowed region for the darkest rectangle large enough to hold the lockup, so layout asks the image where the copy goes instead of assuming the dragon stayed on the right.

Wordmark

Wordmark

The fault driven through the word.

Key art

Key art

Type sits in the dark half, and which side that is, is measured.

Poster

Poster

Bottom sixth kept clear of platform furniture; hook at the top, because a vertical feed is read downward.

Header

Header

Excludes the profile-photo region and clamps the lockup inside the right edge.

Avatar

Avatar

Composed for a circular crop: the inscribed disc is 78.5% of the tile and the corners are decoration only.

Icon

Icon

Designed downward from 32 px. No eye, no scale texture, no outline — anything that stopped reading at that size was removed rather than shrunk.

Palette plate

Palette plate

The eight, rendered from the same module this page reads.

Avatar, plate

Avatar, plate

A rendered dragon plate on the brand ground: pure light added onto black, so there is no matte and no seam.

Voice

Three rules, and one of them is machinery

Rule two is not an aspiration. branding/facts.py counts the dragons and the signature attacks off the repository, branding/copy.py interpolates those counts rather than hard-coding them, and the key art's eyebrow is rendered from the same source. It exists because a previous teaser claimed “30 animations” and counting gave 28 — the number came from memory, was plausible, and was about to be published.

01

Say the concrete noun. "Basalt", "gout", "shell" — not "epic", "stunning", "next-gen".

02

Every number is counted from the artefact at the time of writing. No number ships from memory.

03

One idea per surface. If a poster needs two sentences to land, the poster is wrong, not the reader.

Product name

13 chars

Dragons Crack

Tagline / lockup

31 / 48

Every dragon starts in a shell.

App Store subtitle

21 / 30

Climb out of the dark

Social bio

122 / 160

Hatch three kilometres down. Eat what you kill, steal what it knew, and climb when the dark has nothing left to teach you.

Steam short description

270 / 300

You hatch three kilometres under a village that has never heard of you. Eat what you can kill and take what it knew — every animal down here evolved something worth stealing. Climb when the dark runs out of teachers. 2.6 m of basalt and fire by the time you see the sun.

Long description

1691 chars

Every dragon starts in a shell.

A dragon is not a species. It is the world venting — deep rock takes on more heat than it can shed, and what calcifies at the bottom of the shaft hatches and starts climbing toward the only low place it knows.

You climb because the deep runs out. The world has dragons in it, so nothing else stayed ordinary: everything down there evolved something, and every one of those is a skill you can take. Watch a thing hunt and you learn the tactic. Eat enough of it and you take the organ. Eat enough chalk grubs and you can move through rock; eat the crawler that ate your siblings and you inherit its eyes.

Then the band runs dry — nothing new left to learn, prey too small to grow on, and something younger already coming up the shaft behind you. The warrens first, where you are the smallest thing that hunts. Then the middens, where something hunts you on purpose. Then the mines — straight lines, square corners, lamps, and the first enemy that has been told you are coming. They are also the one animal you can gain nothing from by eating, so you watch them instead, for a year, for free.

Then daylight, at 2.6 m, starving and unable to stop. A village is food. A town is a fight. A city is a decision.

Five lineages, told by the route each took up: the drake grows its wings last because wings are useless in a tunnel; the wyvern climbs on its wing knuckles and spits one compact bolt, because a sustained gout in a chimney cooks the animal that made it; the lung swims the flooded route and arrives without hunger. Each is built to be unmistakable at thumbnail size, and each has a signature attack that is a different *shape*, not a different colour.

Launch post

426 chars

Every dragon starts in a shell.

You hatch three kilometres down. Everything else down there evolved something too, and all of it is on the table: watch it to learn the tactic, eat enough of it to take the organ.

You climb when the dark runs out of teachers. Warrens, middens, mines, and out.

Below, the thing that kills you is bigger than you. Above, it is smaller than you and there are four hundred of it.

Dragons Crack.

Press boilerplate

475 chars

Dragons Crack is a game about climbing out. You hatch at the bottom of a shaft and grow by taking what the dark knows — watched, or eaten — until the band has nothing left to teach, then you climb, out into a surface that has heard of you only as a mining problem and is too busy fighting itself to agree on an answer. Five lineages, each explained by the route it took up, all authored in code: proportions, pose, palette and polygon budget are parameters, not baked assets.

Known limits

What this system does not have yet

Every plate is the Western Drake

The other four dragons are built and animated but do not appear in any brand surface. A collection shot needs staging work, not just another camera.

The wordmark is a treated system face

It is distinctive because of the squeeze and the fault, not because the glyphs are original — worth knowing before it goes on a trademark application.

There is no motion system

The fault is a natural animation, and it opens. This site is the first place that has been built, and it is not yet tied back into the brand module.