One of our objectives in DIG 220 is to “create original multimodal work that takes advantage of the unique aesthetic and literary affordances of digital environments.” To that end you will create a procedurally-generated narrative.
Update: Check out all the finished Tracery projects!
Overview
You’ll use a variation of the “slotted” technique of combinatory writing. This means building sentence templates with empty slots for nouns, verbs, and so on. A program then randomly selects from pre-selected lists of words to fill each slot. Think of procedural generation as Mad Libs gone crazy. Tracery is the procedural engine you’ll use. It’s a Javascript library by Kate Compton that lets you create surprising configurations of texts out of the template (called “grammar”) and vocabulary you provide.
Strictly speaking, this project does not involve programming. It does, however, require procedural thinking. Every Tracery grammar takes the form of JSON data. This is a highly structured text format that both humans and computers can “read”—though parse might be a better word. Your grammar data file tells Tracery what your templates are (templates in the plural because you can embed templates within templates recursively) and provides the vocabulary for Tracery to use as it fills in the templates.

It’s easy for text generation to be comical or satirical, like Nora Reed’s thinkpiecebot or Compton’s Night Vale Generator, both of which use Tracery. Other text generation parodies powered by tools similar to Tracery include the Postmodern Essay Generator and Eric Drass’s machine imagined art.
It’s also possible to make text generators that are serious or provide social critique, such as my own Don’t Drink the Water or Leonardo Flores’ Tiny Protests bot, which both use Tracery.
Guidelines
- Decide what kind of text you want to generate. Will it be a parody? Social commentary? A genre, like horror, romance, or science fiction? Fake non-fiction? What’s the mood of the work? Humorous? Sarcastic? Somber or melancholy? Whatever it is, strive to give it some depth.
- Make an account on Glitch and clone the template files from “Don’t Drink the Water.” Glitch is a community of creative coders that provides free online tools and hosting. Once you’ve remixed the project you can edit your own version directly in your browser. You can instantly see the results by clicking the “Show Next to the Code” option in Glitch (click the sunglasses). Also check out my tips on customizing the look of your project.
- Go through the Tracery tutorials below as you work on your project. When you first start it might help to use a visual editor. Beware that these editors are liable to crash as your grammar grows in complexity. You can paste the code from the visual editor into Glitch. See also my Tracery Tips for more details on working with Tracery.
- You will also write an Artist Statement that puts your Tracery project in dialogue with questions regarding combinatory writing, procedural generation, novelty and repetition, authorship, and creativity.
Criteria
These are the minimal requirements for the project to be considered for a B-range grade.
- Your Tracery project must have at least 1,000,000 possible combinations.
- 9 out of 10 combinations must parse correctly. That is, at least 9 out of 10 combinations should make grammatical sense, though not necessarily logical sense.
- The Tracery project is accompanied by a 750-1000 word Artist Statement. You’ll share the Artist Statement with me as a Google Doc and also post the link on Moodle
- The Artist Statement must integrate at least two secondary sources in a substantive way. “Substantive” doesn’t mean merely quoting at length or cherry-picking a key phrase. “Substantive” means actively engaging with the source by (1) summarizing its overall argument; (2) showing how that argument ignores important issues, doesn’t go far enough, or could be applied to new contexts; and (3) applying concepts from the secondary source to your procedurally-generated text. See below for possible secondary sources to consider.
- The Artist Statement follows scholarly standards for citation, using either MLA, APA, or Chicago style.
- The Artist Statement contains no more than 3 grammatical, spelling, or other “mechanical” errors. It also contains no more than 2 minor factual inaccuracies and no major factual inaccuracies.
- You must also post a working link to your Tracery Project on the class blog, under the category “Tracery Project.” Include a 2-3 sentence description of the project, as well as its name.
- The Tracery project and Artist Statement are shared by class time on Friday, March 13.
To be considered for an A-range grade, you project must meet the above criteria plus the following:
- Your Tracery project must have at least 1,000,000,000 possible combinations.
- The generated text should do more than provide a few minutes worth of entertainment. It should be something compelling enough that a reader wants to keep reloading even after the initial novelty has worn off. Make it provocative, evocative.
- The generated text should be longer than a few paragraphs (prose) or stanzas (poetry). As a point of comparison, Don’t Drink the Water would need at least two more paragraphs to meet this criteria.
- You must customize the look of your project in meaningful ways. That is, in ways that noticeably contribute to (rather than detract from) the visual style of the project. Font sizes, color changes, even changing the font could conceivably be meaningful changes to make. I’ve provided some tips of styling Tracery.
- The Artist Statement must integrate at least one more secondary source in a substantive way (so, a total of three sources).
- The Artist Statement uses more effective logic, rhetoric, and style to advance its argument.
Tutorials and Tools
There are a host of Tracery tutorials out there, but the best are the following:
- Kate Compton’s Tracery tutorial
- Allison Parrish’s Tracery tutorial
- My tips on working in Tracery
- My tips on styling Tracery
Some useful tools include:
- Beau Gunderson’s Tracery writer
- Kate Compton’s Tracery visual editor
- A code/text editor like Brackets or Atom
Possible Secondary Sources
In addition to Scott Rettberg’s Electronic Literature, here are some other sources you might want to consult. They are either online or in our shared Dropbox folder.
- Roland Barthes, “The Death of the Author” from Image-Music-Text
- William S. Burroughs, “The Cut-Up Method of Brion Gysin” from The New Media Reader (2003)
- Chris Funkhouser, “First Generation Poetry Generators” from Mainframe Experimentalism: Early Computing and the Foundations of the Digital Arts (2012)
- Charles Hartman, Virtual Muse: Experiments in Computer Poetry (1996)
- Margaret Masterman, “The Use of Computers to Make Semantic Models of Language” from Astronauts of Inner-Space (1966)
-
Mark Marino, “Critical Code Studies” from Electronic Book Review (2006)
- Janet Murray, chapter 3 from Hamlet on the Holodeck (1997)
-
Noah Wardrip-Fruin, “Five Elements of Digital Literature” from Reading Moving Letters: Digital Literature in Research and Teaching (2010), pp. 29–57