Jason Boyd
Toronto Metropolitan University
This assignment engages undergraduate students in the hands-on practice of procedural creativity through playing with, ‘hacking,’ or building text generators that produce creative outputs. Students are asked to draw upon the material covered in lectures and their own experience as procedural creators to reflect upon ideas of creativity, authorship, and potential futures for the literary in a digital age.
Learning Goals:
Original Assignment Context: Beginning of upper-level elective undergraduate English course
Materials Needed: Various web resources for each student-driven option, see assignment in depth
Time Frame: ~4 weeks
Introduction
“Narrative in a Digital Age” (ENG921) is an elective course in the English undergraduate curriculum at Toronto Metropolitan University in Toronto, Canada (formerly named Ryerson University). It is normally taken by students in their third or fourth year of study. The synopsis of the course as provided in the syllabus reads in part:
This course explores the impact of digital technologies on understandings and practices of narrative or storytelling, examining how these technologies are changing the scope, definition, and ways of creating and experiencing the ‘literary.’ As part of this exploration, we examine not only digital works, but also exemplary print-based precursors and analogues to these digital works, as well as scholarship on this creative field. The course will focus on three broad categories of creative digital work: 1) Writing Machines, focused on the intersection of the literary with digital formats, computer programs and programming idioms; 2) Electronic Literature, particularly Hypertext and Hypermedia, which makes use of hyperlinking to create various kinds of pathways for the user to choose and explore, and Interactive Fiction (IF), which parses text-based input from the reader to construct a story; and 3) Digital Narrative Games, which examines the challenges and opportunities that video games present for creating new forms of interactive stories.
The first assignment of the course is called “Cyborg Texts.” This assignment has undergone almost yearly revisions and refinements since 2012, often in response to new opportunities or challenges: for example, in 2015, I included an option to make a physical ‘writing machine,’ taking advantage of my university’s new maker space, the Digital Media Experience Lab (this option had to be removed when the COVID-19 pandemic shifted learning online); and the “paper program” I discuss below was an option I included for the first time in the Winter 2023 course offering. The “Cyborg Texts'' assignment is designed to assess students’ comprehension of the content of the first section of the course, “Writing Machines,” which comprises Week 2 (Procedural Text Generation), Week 3 (Procedural Poetry), and Week 4 (Writing Within Digital Forms and Codework). In these weeks, students are introduced to the long history of procedural creativity, from ancient divination practices such as cleromancy, to Panini’s Sanskrit-generating Ashtadhyayi (ca. 500 BCE), to Tristan Tzara’s Dada poem ‘recipe,’ the potential literature of OuLiPo, William S. Burroughs’ cut-ups, Jackson Mac Low’s Diastic technique, as well as fictions and essays that address text generation/deformance by Jonathan Swift (Part III, Chapter V of Gulliver’s Travels, describing the Grand Academy of Lagado), Jorge Luis Borges (“The Total Library”), Stanislaw Lem (“U-Write-It” from A Perfect Balance), and Italo Calvino (The Castle of Crossed Destinies, the stories of which were created by laying out a grid of tarot cards, and constructing stories from each row and column). Students are required to explore text generators/deformers that use ngrams and Markov chaining, digital implementations of OuLiPo’s N+7 and Mac Low’s Diastic procedures, as well as works by procedural artists such as Allison Parrish, Nick Montfort, and Aaron Tucker. Charles O. Hartman’s critical memoir The Virtual Muse: Experiments in Computer Poetry (1996) is also discussed, as it provides an illuminating glimpse into the artistic philosophy and practices of a procedural poet.
The “Cyborg Texts” assignment assesses student comprehension of this material through hands-on engagement and reflection: as the instructions state, “This assignment asks you to explore – to play with – text generators/deformers to discover what kinds of interesting outputs you can create as a ‘cyborg author’.” The assignment gives students a number of options: they can generate poems from chess games using Aaron Tucker’s Chessbard and then use the eDiastic machine to create a Diastic version of these Chessbard poems; they can hack one of Nick Montfort’s poetry-making programs; they can create a Twitter bot using Tracery; or they can create a ‘paper program’ for generating stories—a one-page solo table-top role-playing game (TTRPG) that provides writing prompts through a randomized procedure. For all these options, the assignment requires students to explain what they did and show what they created and how. Whatever option is chosen, every student has to write a short reflection on what they learned about procedural creativity and authorship as ‘cyborg authors.’
To assist students in completing this and subsequent assignments, the final hour of each class is devoted to a ‘Literary Platforms’ workshop, which offers demonstrations of the various tools and strategies that can be used for the assignments. The first workshop, in Week 2, is “Paper Programs: Solo TTRPGs as Procedural Story Generators.” We examine a one-page solo TTRPG (in this instance, Mark Cook’s Oubliette [2021], https://marccook.itch.io/oubliette), and discuss how it is constructed, as well as which aspects of it could be improved to optimize the rule-based narrative generation. Week 3’s workshop is “Hacking Text Generators,” where I walk students through the salient features of a number of the HTML/JavaScript/CSS programs available on Nick Montfort’s site and show how they can make modifications to the lists or arrays of words and phrases that constitute the ‘raw material’ from which texts are generated, as well as ‘hack’ the programs by copying and modifying some minor existing elements. The objective of the “Writing Machines” section of course, as well as the “Cyborg Texts” assignment, is to show students that procedural creativity has a long pre-digital history that creative uses of the computer have built upon, to disrupt their usually simplistic Romantic ideas that the creative process consists only of capturing in any given medium a Wordsworthian “spontaneous overflow of powerful feelings” (Lyrical Ballads), and to provide them the opportunity to experience procedural creativity first-hand (which prepares them for the major assignment of the course, the design and creation of a ‘playable story’).
In regard to the “Literary Platforms” workshops in the first part of the course, the instructor needs enough familiarity with the basic mechanics of solo TTRPGs (itch.io is a great source for example TTRPGs; see, for example, https://itch.io/physical-games/tag-solo-rpg), as well as the basic syntax and structures of HTML, JavaScript, and CSS (Cascading Style Sheets) to be able to parse the sample programs (in this case, from Nick Montfort’s website). For this, the tutorials and reference documentation at www.w3schools.com are extremely useful both for the instructor and for students. While some of Montfort’s HTML-implemented programs can be fairly complex, the instructor only needs enough knowledge to show students how they can hack (modify and supplement) these programs in a way that can meet the requirements of the assignment. This means that the instructor needs to prepare example hacks that can be demonstrated in the workshop, by using a code editor like the free Geany (www.geany.org/) or the browser-based editor at W3Schools, where code can be modified and then run to see the output (or an error message that needs fixing!). Besides supplying new words or phrases to the arrays or lists that these programs use to construct their outputs, example hacks are the addition of a ‘P.S.’ to the letters generated by the Strachey/Montfort Love Letters, and adding additional lines to the Knowles & Tenney/Monfort A House of Dust. The reason why Montfort’s Taroko Gorge is a useful example is that many of the hacks by other procedural artists that are linked to the original produce interesting outputs without major changes to the code (the JavaScript), which can reassure students who are fearful of their ability to work with code. An instructor using this assignment also needs, for the week four workshop, to know the basic syntax and grammars of Tracery, and how to use them in the Tracery editor (I have been fortunate to have this workshop taught for the past few years by an alumnus of the course, Ewan Matthews (Twitter: @ThePringularity), who provides students with a fascinating overview of his and others’ “Digital Narratives for Twitter”). In sum, this assignment works best when the instructor has some experience in creating using these tools, and can show students work they themselves have created following the assignment’s instructions.
Students enjoy undertaking this assignment: they find it unusual, fun, challenging, and thought-provoking, judging from the reflection portion of the assignment. Working within the various sets of constraints enables them to experience aspects of or approaches to creativity that many have not encountered before. In their reflections, there is usually a spectrum of responses regarding the value of this type of creativity, but these responses, due to the hands-on aspect of the assignment, demonstrate a thoughtfulness and critical nuance that is often lacking in more traditional assignments that ask students to take a critical stance on creative works they understand often only at a very abstract level. While there are always students who proceed mechanically through the instructions and produce outputs that demonstrate very little deliberation (critical or creative), many students fully enter into the spirit of the assignment, carefully shaping and molding their raw Chessbard deformance into poems of haunting suggestiveness, creating hacks of text generating programs that reveal untapped potential (one favourite is Ewan Matthews’ hack of the Strachey/Montfort Love Letters, which turned the intentionally insipid and mawkish outputs of the original program into letters of alarmingly covetous intensity addressed by ‘The Beholder’ to a variety of precious gems), constructing Twitterbots that generate outputs of surprising complexity and variety, and designing one-page solo TTRPGs that can prompt moving or hilarious narratives written by the player. However, ultimately in this assignment I am not assessing students for the aesthetic value or quality of their creations, but on what they learnt by being ‘cyborg authors,’ and how this informs the reflection portion of the assignment.
This assignment asks you to explore—to play with—text generators/deformers to discover what kind of interesting outputs you can create as a "cyborg author.”
For Parts 1 to 4 below, select and complete one. Additionally, complete Part 5.
Upload the completed assignment on D2L (in the Assignments section) as a MS Word file. Give the file the title "LastNameFirstName_Cyborg" (including the file extension) (e.g. BoydJason_Cyborg.docx).
1. A Chessbard Translation and Its Deformance
a) Go to https://www.pgnmentor.com/files.html and choose a player (in the ‘Players’ section) or a Tournament (under ‘Events’—try an early player/tournament!). Once you have made your choice, click on ‘View.’ Choose at least three games that have at least one player in common (note that there is a pop-down list above the chessboard where you can select matches). Cut and paste the pgnmentor.com URL for the player/tournament into a MS Word file, and the notation for the chosen matches, making sure to include the numbers of the chosen matches as indicated in the pop-down list.
b) Cut and paste the notation below the chessboard for your selected matches into the Chessbard Translator (http://chesspoetry.com/translate/). You can paste the notation from multiple games into a single Translator window. Click the ‘Poetify’ button. Cut and paste the generated poems into your MS Word file.
c) Go to the eDiastic machine (http://www.eddeaddad.net/eDiastic/) and cut and paste the Chessbard Translator-generated poems into the ‘Input Text’ window (you may remove the ‘White Poem’ and ‘Black Poem’ headings). For the ‘Seed Text,’ try using a combination of the game notation, the players’ names, and/or a quotation about chess (such as can be found here: https://kidadl.com/quotes/best-chess-quotes-for-the-chess-master-in-you). Play around with eDiastic settings until you get a satisfactory Output Text. Remember to cut and paste what your ‘Seed Text’ was into your MS Word file and note what settings you used in the generation of the Output Text.
d) Cut and paste your final Output Text into your document. Edit the Output Text (e.g., add, delete, punctuate, reline) to refine or polish it, give it a title, and subtitle it ‘An Chessbard eDiastic Poem’.
e) Submit as one MS Word file. This will contain:
2. Hacking a Poetic Machine
This is an opportunity to incorporate hacking as a method of creating cyborg texts. Essentially, this involves the modification of a computer program designed to generate text.
Instructions:
For Python versions: Wing 101 Python IDE
(https://wingware.com/downloads/wing-101)
For HTML/Javascript (and Python) versions: Geany
You can also use the online editors available at W3C Schools:
(https://www.w3schools.com/tryit/)
3. Twitter Bot
Create a Twitter Bot modelled on the ones we have looked at in class. Cheap Bots, Done Quick! is the easiest way to do this, but it is recommended that you keep a copy of your Tracery code in a separate .txt file as a backup. Submit the .txt backup file along with screenshots of the output of the bot (on Twitter). Submit the code and screenshots as one MS Word file.
Example Twitter Bots:
Allison Parrish’s list of Twitter Bots: https://twitter.com/aparrish/lists/my-bots/members
[Note: These bots are provided in addition to the Twitter Bots assigned in Week 2: @Fairy_Fables, @cutup_bot, @evenutallybot, and @str_voyage]
Some resources:
If you do not want to (or cannot) use Twitter, you can instead take screenshots of what you have created using the Tracery editor (http://tracery.io/editor/): the window in the lower right will generate up to 100 outputs.
4. One-page solo TTRPG
As we have discussed, procedural creativity pre-dates and is not exclusive to computing technology. Create a one-page solo tabletop role playing game (TTRPG):
TTRPG resources:
5. Reflection
Based on your experience as a cyborg writer and what has been discussed in class about procedural text generation, write a brief (250-300 word) reflection on your experience of procedural creativity. How does this creative process differ from other creative processes? Who is the author of these works (both the processes and the outputs)? Do cyborg texts have potential for opening up "new horizons for the literary" (N. Katherine Hayles)? Make sure your response is informed by and explicitly refers to material covered in lecture (consult the lecture slides on D2L if necessary).
1. A Chessbard Translation and Its Deformance
The submission should include:
(10 marks total)
2. Hacking a Poetic Machine
The submission should include:
(10 marks total)
3. Twitter Bot
The submission should include:
(10 marks total)
4. One-page solo TTRPG
The submission should include:
(10 marks total)
5. Reflection
Overall, look for a recognition of the complexity of using computers/algorithms/formal procedures for creativity—a balanced understanding about the value and limitations of procedural text generation for creative writing instead of an unnuanced either/or judgement—which references the student’s own experiences in undertaking the assignment.
Some looked for insights include (these will vary according to what ideas and readings are covered in the course lectures):
(10 marks total)