{"id":390,"date":"2020-02-19T02:27:00","date_gmt":"2020-02-19T02:27:00","guid":{"rendered":"https:\/\/courses.digitaldavidson.net\/elit20\/?page_id=390"},"modified":"2020-04-04T20:36:23","modified_gmt":"2020-04-04T20:36:23","slug":"tracery-project","status":"publish","type":"page","link":"https:\/\/courses.digitaldavidson.net\/elit20\/tracery-project\/","title":{"rendered":"Tracery Project"},"content":{"rendered":"<p>One of our <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/guidelines\/\">objectives<\/a> in DIG 220 is to \u201ccreate original multimodal work that takes advantage of the unique aesthetic and literary affordances of digital environments.\u201d To that end you will create a procedurally-generated narrative.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Update:<\/strong> <\/span>Check out all the <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/category\/tracery\/\">finished Tracery projects<\/a>!<\/p>\n<h2>Overview<\/h2>\n<p>You&#8217;ll use a variation of the &#8220;slotted&#8221; 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 <em>Mad Libs<\/em> gone crazy. Tracery is the procedural engine you&#8217;ll use. It&#8217;s a Javascript library by Kate Compton that lets you create surprising configurations of texts out of the template (called &#8220;grammar&#8221;) and vocabulary you provide.<\/p>\n<p>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 \u201cread\u201d\u2014though <em>parse<\/em> 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.<\/p>\n<figure id=\"attachment_391\" aria-describedby=\"caption-attachment-391\" style=\"width: 2199px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?ssl=1\" rel=\"lightbox[390]\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-391 size-full\" src=\"https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=480%2C322&#038;ssl=1\" alt=\"Screenshot of Tracery Code\" width=\"480\" height=\"322\" srcset=\"https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?w=2199&amp;ssl=1 2199w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=300%2C201&amp;ssl=1 300w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=1024%2C687&amp;ssl=1 1024w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=768%2C515&amp;ssl=1 768w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=1536%2C1030&amp;ssl=1 1536w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=738%2C495&amp;ssl=1 738w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=1458%2C978&amp;ssl=1 1458w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=996%2C668&amp;ssl=1 996w, https:\/\/i0.wp.com\/courses.digitaldavidson.net\/elit20\/files\/2020\/02\/2017-08-29-19_16_55-grammar.js-%E2%80%94-C__Users_sampl_Dropbox-Davidson-College_Teaching_Fall-2017_DIG-221.png?resize=1992%2C1336&amp;ssl=1 1992w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><figcaption id=\"caption-attachment-391\" class=\"wp-caption-text\">The Tracery grammar JSON that powers <a href=\"https:\/\/dont-drink-the-water.glitch.me\/\">Don\u2019t Drink the Water\u201d<\/a><\/figcaption><\/figure>\n<p>It\u2019s easy for text generation to be comical or satirical, like Nora Reed\u2019s <a href=\"https:\/\/twitter.com\/thinkpiecebot\">thinkpiecebot<\/a> or Compton\u2019s <a href=\"https:\/\/galaxykate.itch.io\/eternal-night-vale\">Night Vale Generator<\/a>, both of which use Tracery. Other text generation parodies powered by tools similar to Tracery include the <a href=\"http:\/\/www.elsewhere.org\/journal\/pomo\/\">Postmodern Essay Generator<\/a> and Eric Drass\u2019s <a href=\"http:\/\/www.shardcore.org\/cgi-bin\/getArtwork.pl?id=1fb_234_bc_2d_3e_37_10_22_1b_90_d4_176_2f_d_4_\">machine imagined art<\/a>.<\/p>\n<p>It\u2019s also possible to make text generators that are serious or provide social critique, such as my own <a href=\"https:\/\/dont-drink-the-water.glitch.me\/\">Don\u2019t Drink the Water<\/a> or Leonardo Flores&#8217; <a href=\"https:\/\/twitter.com\/TinyProtests\">Tiny Protests<\/a> bot, which both use Tracery.<\/p>\n<h2>Guidelines<\/h2>\n<ol>\n<li>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\u2019s the mood of the work? Humorous? Sarcastic? Somber or melancholy? Whatever it is, strive to give it some depth.<\/li>\n<li>Make an account on <a href=\"https:\/\/glitch.com\/\">Glitch<\/a> and clone the <a href=\"https:\/\/glitch.com\/~dont-drink-the-water\">template files<\/a> from &#8220;Don&#8217;t Drink the Water.&#8221; Glitch is a community of creative coders that provides free online tools and hosting. Once you&#8217;ve <a href=\"https:\/\/glitch.com\/help\/remix\/\">remixed the project<\/a> you can edit your own version directly in your browser. You can instantly see the results by clicking the &#8220;Show Next to the Code&#8221; option in Glitch (click the sunglasses). Also check out my tips on <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/styling-tracery\/\">customizing the look<\/a> of your project.<\/li>\n<li>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 <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/tracery-tips\/\">Tracery Tips<\/a> for more details on working with Tracery.<\/li>\n<li>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.<\/li>\n<\/ol>\n<h2>Criteria<\/h2>\n<p>These are the minimal requirements for the project to be considered for a B-range grade.<\/p>\n<ul>\n<li>Your Tracery project must have at least 1,000,000 possible combinations.<\/li>\n<li>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.<\/li>\n<li>The Tracery project is accompanied by a 750-1000 word Artist Statement. You&#8217;ll share the Artist Statement with me as a Google Doc and also post the link on Moodle<\/li>\n<li>The Artist Statement must integrate at least two secondary sources in a <em>substantive<\/em> way. \u201cSubstantive\u201d doesn\u2019t mean merely quoting at length or cherry-picking a key phrase. \u201cSubstantive\u201d means actively engaging with the source by (1) summarizing its overall argument; (2) showing how that argument ignores important issues, doesn\u2019t 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.<\/li>\n<li>The Artist Statement follows scholarly standards for citation, using either MLA, APA, or Chicago style.<\/li>\n<li>The Artist Statement contains no more than 3 grammatical, spelling, or other \u201cmechanical\u201d errors. It also contains no more than 2 minor factual inaccuracies and no major factual inaccuracies.<\/li>\n<li>You must also post a working link to your Tracery Project on the class blog, under the category \u201cTracery Project.\u201d Include a 2-3 sentence description of the project, as well as its name.<\/li>\n<li>The Tracery project and Artist Statement are shared by class time on Friday, March 13.<\/li>\n<\/ul>\n<p>To be considered for an A-range grade, you project must meet the above criteria <em>plus<\/em> the following:<\/p>\n<ul>\n<li>Your Tracery project must have at least 1,000,000,000 possible combinations.<\/li>\n<li>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.<\/li>\n<li>The generated text should be longer than a few paragraphs (prose) or stanzas (poetry). As a point of comparison, <a href=\"https:\/\/dont-drink-the-water.glitch.me\/\">Don&#8217;t Drink the Water<\/a> would need at least two more paragraphs to meet this criteria.<\/li>\n<li>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&#8217;ve provided some tips of <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/styling-tracery\/\">styling Tracery<\/a>.<\/li>\n<li>The Artist Statement must integrate at least one more secondary source in a substantive way (so, a total of three sources).<\/li>\n<li>The Artist Statement uses more effective logic, rhetoric, and style to advance its argument.<\/li>\n<\/ul>\n<h2>Tutorials and Tools<\/h2>\n<p>There are a host of Tracery tutorials out there, but the best are the following:<\/p>\n<ul>\n<li>Kate Compton\u2019s<a href=\"http:\/\/www.crystalcodepalace.com\/traceryTut.html\"> Tracery tutorial<\/a><\/li>\n<li>Allison Parrish\u2019s <a href=\"http:\/\/air.decontextualize.com\/tracery\/\">Tracery tutorial<\/a><\/li>\n<li>My tips on <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/tracery-tips\/\">working in Tracery<\/a><\/li>\n<li>My tips on <a href=\"https:\/\/courses.digitaldavidson.net\/elit20\/styling-tracery\/\">styling Tracery<\/a><\/li>\n<\/ul>\n<p>Some useful tools include:<\/p>\n<ul>\n<li>Beau Gunderson\u2019s <a href=\"https:\/\/beaugunderson.com\/tracery-writer\/\">Tracery writer<\/a><\/li>\n<li>Kate Compton\u2019s <a href=\"https:\/\/tracery.io\/editor\/\">Tracery visual editor<\/a><\/li>\n<li>A code\/text editor like <a href=\"http:\/\/brackets.io\/\">Brackets<\/a> or <a href=\"https:\/\/atom.io\/\">Atom<\/a><\/li>\n<\/ul>\n<h2>Possible Secondary Sources<\/h2>\n<p>In addition to Scott Rettberg&#8217;s <em>Electronic Literature<\/em>, here are some other sources you might want to consult. They are either online or in our shared Dropbox folder.<\/p>\n<ul>\n<li>Roland Barthes,<a href=\"https:\/\/www.dropbox.com\/s\/7zk433iddgw3eqf\/Barthes%20-%20Death%20of%20the%20Author.pdf?dl=0\"> \u201cThe Death of the Author\u201d<\/a> from <em>Image-Music-Text<\/em><\/li>\n<li>William S. Burroughs, <a href=\"https:\/\/www.dropbox.com\/s\/oxfe6ywlhhenzzn\/Burroughs%20-%20Cut-Up%20Method%20of%20Brion%20Gysin.pdf?dl=0\">\u201cThe Cut-Up Method of Brion Gysin\u201d<\/a> from <em>The New Media Reader<\/em>\u00a0(2003)<\/li>\n<li>Chris Funkhouser, <a href=\"https:\/\/www.dropbox.com\/s\/eb1tw119luwae2h\/Funkhouser%20-%20Early%20Computer%20Poetry.pdf?dl=0\">\u201cFirst Generation Poetry Generators\u201d<\/a> from <em>Mainframe Experimentalism: Early Computing and the Foundations of the Digital Arts<\/em> (2012)<\/li>\n<li>Charles Hartman, <a href=\"http:\/\/ebookcentral.proquest.com.ezproxy.lib.davidson.edu\/lib\/davidson\/detail.action?docID=776845\"><em>Virtual Muse: Experiments in Computer Poetry<\/em><\/a> (1996)<\/li>\n<li>Margaret Masterman, <a href=\"https:\/\/www.dropbox.com\/s\/79oc6blm5ikz11h\/Masterman%20-%20Use%20of%20Computers.pdf?dl=0\">\u201cThe Use of Computers to Make Semantic Models of Language\u201d<\/a> from <em>Astronauts of Inner-Space<\/em> (1966)<\/li>\n<li>\n<div class=\"csl-bib-body\">\n<div class=\"csl-entry\">Mark Marino, <a href=\"http:\/\/www.electronicbookreview.com\/thread\/electropoetics\/codology\">\u201cCritical Code Studies\u201d<\/a> from <i>Electronic Book Review<\/i> (2006)<\/div>\n<\/div>\n<\/li>\n<li>Janet Murray, <a href=\"https:\/\/www.dropbox.com\/s\/p6bp9jgm0a8zw18\/Murray%20-%20Additive%20to%20Expressive%20Form.pdf?dl=0\">chapter 3<\/a> from <em>Hamlet on the Holodeck<\/em> (1997)<\/li>\n<li>\n<div class=\"csl-bib-body\">\n<div class=\"csl-entry\">Noah Wardrip-Fruin, <a href=\"https:\/\/eis.ucsc.edu\/papers\/nwf-BC3-readingDigitalLiterature.pdf\">\u201cFive Elements of Digital Literature\u201d<\/a> from <i>Reading Moving Letters: Digital Literature in Research and Teaching<\/i> (2010), pp. 29\u201357<\/div>\n<\/div>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>One of our objectives in DIG 220 is to \u201ccreate original multimodal work that takes advantage of the unique aesthetic and literary affordances of digital environments.\u201d To that end you will create a procedurally-generated narrative. Update: Check out all the finished Tracery projects! Overview You&#8217;ll use a variation of the &#8220;slotted&#8221; technique of combinatory writing. &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/fullwidth.php","meta":{"footnotes":""},"class_list":["post-390","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/pages\/390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/comments?post=390"}],"version-history":[{"count":13,"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/pages\/390\/revisions"}],"predecessor-version":[{"id":661,"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/pages\/390\/revisions\/661"}],"wp:attachment":[{"href":"https:\/\/courses.digitaldavidson.net\/elit20\/wp-json\/wp\/v2\/media?parent=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}