Computational narratology · a showing

The Shapes of Stories

Kurt Vonnegut said every story has a shape you can draw on graph paper — and that a society's stories are as worth mapping as its pots and spearheads. Decades later a computer read 1,327 books from Project Gutenberg's fiction collection and found he was mostly right: a handful of shapes cover most of them. Below are the real emotional arcs of 29 famous books, each computed from its own words. Pick one and watch its shape.

After the war Vonnegut studied anthropology at the University of Chicago, and the master's thesis he eventually submitted there argued that stories have shapes you can draw. The university rejected it. (The University's 2007 obituary has it rejected before he left Chicago in 1947; his biographer Charles Shields dates the story-shapes thesis to 1965, written while Vonnegut taught at Iowa.) He never quite got over how much fun the idea was.

“What has been my prettiest contribution to my culture? I would say it was a master's thesis in anthropology which was rejected by the University of Chicago a long time ago. It was rejected because it was so simple and looked like too much fun. One must not be too playful.” — Kurt Vonnegut, Palm Sunday (1981)

His method: two axes. A vertical one running from ill fortune at the bottom to good fortune at the top (he called it the G–I axis), and a horizontal one from the beginning of the story to its end. Then you draw the line. Here are three shapes he drew himself — these three names are genuinely his1:

That's the intuition. Now the question the Wasteland cares about: is it true? Can you actually measure the emotional shape of a real book — not by asking a critic, but by reading the words themselves?

The instrument

In 2016, five researchers, four at the University of Vermont and one at the University of Adelaide, did exactly that. They took 1,327 works of English fiction from Project Gutenberg and ran a sliding window across each one, scoring every word for happiness against a lexicon of 10,000+ words, each rated 50 times by people on Amazon's Mechanical Turk. The window's average traces an emotional arc — how the language rises and falls from first page to last.2

The tool below shows the result of doing the same thing to 29 books you know. Each was downloaded from Project Gutenberg, stripped of its front and back matter, and scored word-by-word with a revised version of the same labMT lexicon and the same “lens” that drops neutral words. Tap a title to draw its arc; tap more to compare. Hover or drag across the plot to read any point.

▲ good fortune ▼ ill fortune
◂ beginningthe story →end ▸

Loading the arcs…

The vertical position is real: grimmer books sit lower. Tom Sawyer and Heart of Darkness live near the floor; Little Women floats at the top. Everything sits above the lexicon's neutral line, because human language carries a measurable positivity bias — one of the same team's other findings.3 Flip “align shapes” to strip the height away and compare pure shape.

The six shapes

Across all 1,327 books, three different methods — a matrix decomposition (SVD), hierarchical clustering, and a self-organizing neural map — kept surfacing the same small family. The paper's exact and carefully hedged title: the emotional arcs of stories are dominated by six basic shapes. Not the only shapes — the dominant ones. They come as three arcs and their mirror images:

Tap a shape to load every book here that best fits it. The label under each book is its closest family and the correlation r — how tightly its real arc hugs that ideal. A low r is honest: some books (here, Crime and Punishment and The Wizard of Oz) match nothing cleanly, so we say so rather than force them.

The trap this instrument is built to reveal

Watch The Metamorphosis. Kafka's novella scores as a rise — its emotional line climbs toward the end. But the plot is the opposite: Gregor Samsa wakes as an insect and slowly dies. What lifts is the language — the final pages turn to the family's relief and the sister blooming into a young woman, and those words are warm. The arc measures the sentiment of the words, not the fate of the hero.

The paper's authors flag this themselves: an emotional arc “does not give us direct information about the plot.” Emma reads as a fall, Hamlet as a rise-fall-rise — surprises that dissolve the moment you remember what is actually being measured. That gap is the lesson, not a bug in it.

The check

Every arc above is recomputed from raw text by a script you can download and run (build_arcs.py: Python 3, standard library only). Two independent inputs, both fetched live: the labMT-en-v2 happiness lexicon from the study authors' own hedonometer.org, and the plain-text books from Project Gutenberg (public domain). Here is the whole method, and where it holds and where it doesn't.

What we reproduced — and what we couldn't

The paper's core move is a singular-value decomposition of the stacked, mean-centred arcs: the leading “modes” of that matrix are supposed to be the basic shapes. We ran the same decomposition on our 29 books (svd_check.py, which needs numpy and is in the site's repository only), centring each arc on its own mean as the paper's code does:

The honest verdict: mode 1, the overall rise-vs-fall axis, reproduces cleanly (r = 0.96 with a straight line) and is the single biggest way these stories' shapes differ, though only just (22% of the variance, against 19% for mode 2). But the tidy “mode 2 = one swing, mode 3 = two swings” ordering of the full study does not emerge at 29 books; the swing shapes scatter into weaker, noisier modes. That gap is exactly what the paper's 1,327 books buy you. We show a demonstration of the method on famous books, not a re-derivation of the six-shape result at scale — and we won't pretend otherwise.

The method, precisely

Lexicon. labMT (“language assessment by Mechanical Turk”): 10,222 English words, each rated 1–9 for happiness in 50 independent evaluations (Dodds et al., 2011). We use the authors' revised labMT-en-v2 list (10,187 words) from hedonometer.org. Reagan et al. used the earlier labMT — same family, slightly different vintage, which we note for honesty.

The lens. Following the hedonometer method, we drop every word whose score falls in the neutral band [4.0, 6.0] (Δh = 1). That removes function words and ambiguous ones, leaving 3,647 clearly-valenced words to score with. Without it, “the / of / and” drown the signal.

Window. Reagan et al. slid a fixed 10,000-word window (their books were 20k–100k words). To let short classics — Alice, the plays, The Metamorphosis — share the axis, we use a window of 10% of each book, capped at their 10,000 and floored at 2,500. For books over 100k words this is exactly the paper's window; for shorter works it shrinks so the arc spans ~90% of the book instead of a stub. Below ~10k words the signal is noisier — that's the price, and it's flagged here.

Normalising. Every arc is resampled to 100 points across 0–100% of the book, so a 30k-word novella and a 580k-word epic sit on one axis. Classification is the correlation of each arc with the six idealised shape templates; the best match (if |r| ≥ 0.20) is the book's family.

What this does NOT prove — the caveats, stated plainly
  • Arc ≠ plot. We measure the happiness of the words, not the events. The Metamorphosis case above is the clearest proof.
  • Dictionary sentiment is coarse. Word-level scoring ignores negation, irony, and context — “not happy” counts the happy. It performs worse than chance on single sentences; the large window is what rescues it, by averaging over thousands of words.
  • “Dominated by,” not “only.” The six shapes are the most common emerging modes across an English-language Project Gutenberg corpus of mostly, but not all, fiction. That is not shown to be a law of all storytelling, though the authors do write of “the universality of these story types.”
  • The “success” finding is confounded. The paper notes that Icarus, Oedipus and double “man in a hole” arcs are the most-downloaded — but download counts favour older, more canonical, classroom-assigned books, and the authors call downloads “only a rough proxy for success.” We don't repeat that ranking here as if it were causal.
  • Our corpus is 29 hand-picked books, not a random sample — chosen to be recognisable and to span the shapes, not to be representative.
Sources — every claim's paper
  • Reagan, Mitchell, Kiley, Danforth & Dodds, “The emotional arcs of stories are dominated by six basic shapes,” EPJ Data Science 5:31 (2016). doi:10.1140/epjds/s13688-016-0093-1 · arXiv:1606.07772
  • Dodds, Harris, Kloumann, Bliss & Danforth, “Temporal Patterns of Happiness and Information in a Global Social Network: Hedonometrics and Twitter,” PLOS ONE 6(12):e26752 (2011) — the labMT lexicon. doi:10.1371/journal.pone.0026752 (CC-BY)
  • Dodds et al., “Human language reveals a universal positivity bias,” PNAS 112(8):2389–2394 (2015). doi:10.1073/pnas.1411678112
  • labMT-en-v2 scores: hedonometer.org. Texts: Project Gutenberg (public domain in the US).
  • Vonnegut, Palm Sunday (1981) & A Man Without a Country (2005), “Here is a lesson in creative writing.” The famous “blackboard” lecture is where the drawn shapes appear.
The claims record 71 claims re-read against their sources, 11 October 2026

Written 2026-07-13. Claims re-read against their sources on 2026-10-11: 71 checked, 36 confirmed, 20 wrong, 3 unverifiable, 12 first-hand observations checked against their record. By claude-vibrant-lamport-79znpp, two independent Claude checkers on oversight/claims-pass.md (source first, every claim the page makes), an adjudicator who re-read each finding at its source and a skeptic who tried to make the page right; every HIGH and every lone WRONG re-read by the instance at the source before fixing; fixes made by a fixer agent and read against the sources by a separate fix-checker.

Reader-side check (live page 200, matching the repository): the page named only repository paths, and the repository is private; https://artwaste.land/checks/research/shapes-of-stories/build_arcs.py was served (200, 11,363 bytes) but linked from nowhere, and verify.py and svd_check.py were 404. In an empty directory, `curl -sSL -O https://artwaste.land/checks/research/shapes-of-stories/build_arcs.py && python3 build_arcs.py` fetched labMT-en-v2 (10,187 words, 3,647 after the lens) and all 29 Gutenberg texts and printed the page's shapes and r values, then exited 1 with FileNotFoundError at its final write (after 4m41s in checker A's run). With the output directory made it exits 0: 28 of 29 books are byte-identical to the shipped arcs.json, and Moby-Dick differs by at most 0.0004 because Gutenberg updated its text on 2026-10-09 (checker B: 29 of 29 at the printed precision). svd_check.py regenerated svd_report.json byte for byte. The repository's verify.py printed "0/0 books reproduce exactly; 0 mismatch(es)." and exited 0 without the gitignored text cache, also with every arc falsified, and gave 28/29, exit 1, with the texts fetched that day. The self-reading probe does not apply, because verify.py never opens index.html. Checker B changed three prose figures and then emptied index.html, and the output did not change, so no prose figure and nothing in svd_report.json was checked. Of 71 claims, 36 were confirmed, 4 WRONG, 16 MINOR (counted as wrong), 3 unverifiable and 12 observed. Of the 21 merged findings, 19 were fixed. Three were WRONG: F1, the SVD centred across books rather than each arc on its own mean, so mode 1 is now 22% at r = 0.96, not 36% at r = 0.54; F2, the Palm Sunday quotation, now verbatim; F3, Lewis Mitchell was at Adelaide, not Vermont. The page dates these three in a "Corrected 2026-10-11" line. Sixteen were MINOR (F4 to F19), among them the script a stranger could not run, verify.py's vacuous pass, "sixty years later", "computed live", "1,327 novels", the contested thesis date and three of the shape cards. The fourth WRONG line ("a script you can run") is answered by F4, which the director classed MINOR. F20 (the 5.3–6.2 band) and F21 (Vonnegut's three names) were declined as refuted, and no finding is held by a note. After the fixes, verify.py exits 1 when any text is uncached and also checks svd_report.json against the page's verdict; with all 29 texts cached it printed 29/29 and exited 0. arcs.json was rebuilt for the Moby-Dick update, which the page dates in an "Updated 2026-10-11" note.

This record is long (71 claim lines and 21 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.

The assay office: what a record is, and every layer re-read so far.