Cyborg Texts: A Procedural Creativity Assignment

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: 

  • Illuminate the long pre-digital history of procedural creativity 
  • Integrate procedural thinking and technique into creative writing practice

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.


The Assignment

Cyborg Texts

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:

  • The pgnmentor.com URL for the player/tournament and the notation for the chosen matches (with the numbers, prefaced with the # symbol, of the chosen matches as indicated in the pop-down list);
  • The White and Black poems generated by the Chessbard Translator;
  • The eDiastic Output Text and a ‘Note’ indicating the ‘Seed Text’ and which eDiastic settings were used;
  • The edited version of the Output Text.

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: 

  1. Modify/hack a text generation program from Nick Montfort’s website. Check out the "Computational Poems" section, http://nickm.com/poems/: the works in the "Extra-Small" section are probably the best to choose from, since they are all self-contained: recommended works are Taroko Gorge, Lede, and Through the Park. Another suggestion is a couple of the works in the "Memory Slam" section, http://nickm.com/memslam/index.html: Love Letters or A House of Dust. Use a text editor designed to write/edit code to modify and run the hack:

For Python versions: Wing 101 Python IDE

 (https://wingware.com/downloads/wing-101)

For HTML/Javascript (and Python) versions: Geany

(https://www.geany.org/)

You can also use the online editors available at W3C Schools:

(https://www.w3schools.com/tryit/)  

  1. Explain the changes you made to the original program (add these to the program as comments) and take screenshots of these comments and the modified code, and of the output when the program is run. Submit as one MS Word file.

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:

  • @happyendingbot
  • @MagicRealismBot

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):

  1. Make the page’s layout and design attractive and in keeping with the theme.
  2. Use only a 6-sided die (d6) and a standard deck of playing cards as your randomizers.
  3. On the back of your TTRPG one-pager, include a sample playthrough
  4. Submit as one MS Word or PDF file. 

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). 

Cyborg Texts: Assessment Rubric

1. A Chessbard Translation and Its Deformance

The submission should include:

  1. The pgnmentor.com URL for the player/tournament and the notation for the chosen matches (with the numbers, prefaced with the # symbol, of the chosen matches as indicated in the pop-down list), the White and Black poems generated from these matches by the Chessbard Translator, the eDiastic Output Text and a ‘Note’ indicating the ‘Seed Text’ and which eDiastic settings were used. (3 marks)
  2. A poem demonstrating intentional editing of the eDiastic Output Text to achieve an artistic effect (compare with the unedited version). Charles O. Hartman’s practice (described in The Virtual Muse) of editing the outputs from his Prose program is a model to keep in mind. Look for an original title, deliberately rearranged lines and stanzas, added punctuation, added/deleted words, etc. Look for attempts to ‘clarify’ or bring out meanings in the Output Text, rather than attempts to overedit and obliterate the Output Text—there should remain a recognizable connection between the two texts. (7 marks)

(10 marks total)

2. Hacking a Poetic Machine

The submission should include:

  1. The name/source of the program used and a clear description of how the program was hacked. Marks should reflect the skill/extent of the hack: there should be a clear and coherent artistic intent in, for example, the arrays or lists of words/phrases that are substituted for the originals. (5 marks)
  2. Screenshot(s) of the program providing concrete evidence of the hack. (2 marks)
  3. Screenshots of sample outputs (at least three) of the hacked version showing the range of variety and lack of excessive repetition. (3 marks)

(10 marks total)

3. Twitter Bot

The submission should include:

  1. Tracery (or other) code: Does the code demonstrate an evident premise/theme/ scenario? Does it exhibit careful and intentional design and robust content in the arrays? Does it have a fair degree of complexity, ensuring variety of output? Use the Tracery editor’s built-in sample outputs (http://tracery.io/editor/) as a guide. (5 marks)   
  2. Sample output (10-12 ‘tweets’): assess for variety; comprehensibility (including grammar); quirky/unusual/evocative combinations. (5 marks)

(10 marks total)

4. One-page solo TTRPG

The submission should include:

  1. Instructions that use both a 6-sided die (d6) and a standard deck of playing cards (and nothing else) as the randomizing component of the TTRPG. (1 mark)
  2. Instructions that fit comfortably on one page; the page’s layout and design is easy to read, visually appealing, and in keeping with the scenario. (1 mark)
  3. A full sample playthrough that demonstrates the playability of the TTRPG. (2 marks)
  4. A scenario that balances open-endedness and constraint; the scenario/situation is easy to grasp without needing a lengthy textual introduction; the scope of possible action can be easily determined; provided non-player characters have specific and recognizable roles [The sample TTRPG we look at in class, Mark Cook’s Oubliette, does this well: it uses a recognizable and regimented space whose actors have defined roles—a prison—but leaves unspecified who the player is, why they are in prison, and what kind of world exists outside the prison]. (3 marks)
  5. Prompts that can bear repeated use in a single playthrough; prompts that work well in random combination. (2 marks)
  6. A clear mechanism for ending a playthrough: is this constructed in such a way that it provides closure but minimizes abrupt (premature) endings? (1 mark)

(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): 

  • Procedural text generators
    • can provide text of a great variety and quantity, in combinations that a human would not likely consciously or intentionally create;
    • can create intriguing 'nonsense' text, which can range from the humorous to the political/philosophical, to the ‘oracular’;
    • are more effective at generating poetic rather than narrative outputs;
    • are more exploratory/experimental machines rather than literature generators (which would need a sophisticated AI, or Artificial Intelligence);
  • Procedurally generated text
    • can sometimes seem meaningful although their meaning remains unclear/obscure;
    • without human intervention, rarely rise to the level of the literary or poetic as conventionally conceived;
  • Text generators and their outputs challenge accepted notions of creativity and authorship (original genius);
  • Text generators and their outputs can be used as a spur to creativity, or as the raw material on which to do creative work;
  • A writer who reworks generated outputs can be seen as engaged in an act of collaboration, in effect creating a cyborg and therefore ‘cyborg literature.’

(10 marks total)