Instructor: Nick Montfort, nickm at nickm dotcom, writingnick on IM, 14N-233
Class meets Mondays and Wednesdays, 9:30am - 11am, 14E-310
Office hours: Thursdays 2:30pm-4pm, 14N-233 and by appointment (in person or via IM)
Updated 20 October 2009
Video games, digital art and literature, online texts, and source code are analyzed in the contexts of history, culture, and computing platforms. Approaches from poetics and computer science are used to understand the non-narrative digital uses of text. Students undertake critical writing and creative computer projects to encounter digital writing through practice. This involves reading and modifying computer programs, so previous programming experience, although not required, will be helpful. The graduate section includes additional assignments.
This course considers the wide spectrum of ways that text, language, and writing have been used in creative digital media, including video games, digital artworks and installations, electronic literature pieces, websites, message boards, the interface to and source code of recreational programs, and other sorts of systems and spaces. The focus is on the many non-narrative uses of text, which include the use of text for the display of information, for visual and lyrical purposes, and as human-legible computer code. The course considers these uses of text within different contexts of computing and upon different computing platforms. Drawing on concepts and approaches from poetics, the material history of texts, and computer science, the course explores how text has been used effectively in digital media and how the use of text relates to the overall goals of digital media creators. Students interact with and read various creative computer works, supported by critical readings from the Web and printed sources. The understanding of text in digital media is developed through practice, by completing several digital writing projects, some individually and some in groups. The projects in this course involve reading and modifying computer programs. Previous programming experience is not necessary, but students should arrive ready to learn the basics of programming if they do not already know how to program. While there are no prerequisites, some experience with writing, in the form of a previous writing course or in some other form, will be extremely useful.
Graduate students may take this course, with additional assigned work, as CMS.844 for graduate credit. One of the six sections of this course covers material explored in greater depth and more comprehensively in 21W.772 Digital Poetry. Another complement to this course is 21W.765J/21L.489J/CMS.845 Interactive Narrative, which deals with the narrative uses of text (and other media) in digital works and which can be taken at any point relative to this course.
The course serves a wide range of students interested in text and digital media, from artists and creative writers who want to create digital literary works to those interested in online and in-game advertising. The course builds on the Writing and Humanistic Studies Program's extensive undergraduate offerings that relate to digital media: Interactive Narrative, Digital Poetry, Becoming Digital, and Writing in Cyberspace. For those who want to take a single course on digital writing, this course offers an additional option. For majors and minors, this course will help to provide a deep and broad education in digital media and writing. For students in Comparative Media Studies, the course will address a single element of digital media that is pervasive and important to our understanding of media ecology and the uses of digital media in culture. It will complement courses that consider video gaming and digital media from visual, cinematic, and spatial perspectives.
Note that for 5% of your grade, at some point during the semester you are to attend a digital media event (lecture, reading, performance) or visit an exhibit, for example, a talk or reading in the Purple Blurb series, a digital media exhibit at AXIOM or another local gallery, including the List Gallery on campus, or a talk in the Upgrade! Boston series. You should email me with at least two (farily long) paragraphs, the first describing the most interesting aspects of the event or exhibit and the second discussing these in relation to what we are studying in this course.
Note: Readings may be specified in more detail, links will almost certainly be added, and other small changes may be made throughout the semester.
Computational cut-up exercise. Computational processes and writing processes. Introduction to the course. Demonstration of Christopher Stratchey's M.U.C. love letter generator.
Our guest, Prof. Noah Wardrip-Fruin of UC Santa Cruz, shows documentation of and discusses his collaborative projects The Impermanence Agent, Talking Cure, and Screen. Quick preview of Tom Philips's A Humament, a required text for this class.
Discussion of first assignment, "Mad Libs" and (vs.) radical writing practice and projects. Another look at the M.U.C. love letter generator; considering of the model of langauge, love, and computation that it embodies. Look at random haiku generators (1 2 3) and Eliza. Consideration of how these progams model the haiku and psychotherapeutic interaction.
Program 1 assigned. Languages such as Perl, BASIC, and others (with instructor approval) may be used; Python is the class's official "supported" language. Deadline extended to Sep. 29.
For program 1, you're asked to write a program that produces creative writing as output, like the Manchester love letter generator, the haiku-generating programs we looked at, Eliza, Tale-Spin, assert.py, and ppg256.
Your program 1 isn't supposed to assist someone in writing; it should do the writing itself. It can implement some non-digital system for writing that we investigated in class (a Surrealist writing game, the cut-up technique, writing under an Oulipian constraint), or it can imitate formulaic but interesting human speech or writing. It isn't supposed to be complex. Rather, it should be simple, the simpler the better. You should be able to tune it and modify it so that it does better or worse at the writing task you're interested in. If you have a program that could be improved by generalizing many steps into a single method, or in other ways, you do not need to refactor your program to make it short in order to complete the assignment, but doing so may help you develop a better program. I will be glad to help you with refactoring so that you can adjust your program more easily and improve its writing output.
The hard part shouldn't be the programming (although those with no previous programming experience will face some challenges), but that your program should be an investigation into writing and language. Your creative work will, hopefully, help you to learn new things about how people write and speak and about how we receive language. It may make an argument that some type of writing is formulaic, or perhaps that certain phrases and words are powerful no matter how they are combined.
Constrained writing exercises, surrealist exercises, a Python program that says "yes." See also: the official site of the Oulipo (in English and French), the 20 Consonant Poetry site, and Table of Forms. To begin with computational writing, we consider very simple language-generating program, assert.py. Begin the discussion of several readings which have piled up, to be continued in the next class:
Detailed explanation of the ppg256 series of short poetry generation programs and a 1k story generator in Python. Review of some programs from the first class with consideration of Burroughs, Swift, the Oulipo via Gillespie, Link, and Wardrip-Fruin.
Brief presentation of each student projects in a screening / discussion format. Students will explain their concepts and how their programs function and will demonstrate their programs. No slides or pre-written remarks are necessary, just program 1 and a willingness to discuss what motivated it and how it works.
DUE: Program 1. A program that writes automatically and implements some originally non-digital procedure.
Technologies of writing and the word. In-class reading of additional concrete, visual, and typewriter-related poems from Futurist and other traditions. Preview of works from this unit, assignment of works to students for close reading, presentation, and critical writing.
Language in space and time. Students present pieces they have read closely.
Students present pieces they have read closely.
In class, read Morpheus Biblionaut by William Gillespie (text) and Travis Alber (design). Also, read from TOC by Steve Tomasula et al. (on DVD)
DUE: Paper 1. Computational poetry & fiction critical essay, on the same topic as one's presentation. Bring a printed copy your paper, of between 5 and 8 pages, double-spaced, into class. We will take some time to discuss our writing before we move into the digital communication channel unit.
Traditional digital forms on and beyond the web. HOWTOs, man pages, USENET and email messages, textfiles, RFCs. Note that the paper 2 assignment (due next class) has changed.
In-class programming exercise: one-liners BASIC and Perl. Introduction to weird langauges and obfuscated code.
DUE: Paper 2. (~3 pages.) Assumptions, observations, reflections on a digital communication form. Choose a form such as the text message, Wikipedia, online personals, etc. Write down specifics about how you believe people read and write in this form; include these assumptions in your paper. Examine writing in the form closely and record what you observe. Reflect on what does and doesn't agree with your assumptions — don't just note that you were right or wrong, but explore in writing why that was the case.
Workshop on Shakespeare and Chef, weird programming languages.
Program 2 assigned. Languages such as Perl, BASIC, and others (with instructor approval) may be used; Python is the class's official "supported" language. You may wish to select a langauge that is more suitable for your particular type of work. You may begin by modifying an existing program as long as you do a "total conversion" of the program's textual output - that is, completely reprogram the text-generating ability of the program and completely rewrite all the texts that are used to produce outputs.
For program 2, you are asked to develop an interactive computer program that can be played and enjoyed, one that produces creative writing as output during play. It does not have to be a game in the strict sense of being winnable or allowing the player to do better or worse in a quantiative sense, but it should invite play in some form.
For example (this is not an exhaustive list of possibilities), you can write a piece of interactive fiction, a chatterbot, a roguelike game, a computer role-playing game, or even something that looks more or less like a screensaver but allows user interaction. Technical complexity is not required, graphics are not required, but the generation of creative writing is essential (as it was in program 1) and the program must be interactive (as was not required in program 1). There will be an in-class workshop to allow you to hear from your classmates. You should meet with me in my office or by IM at least once as you are developing program 2, either during office hours or by requesting an appointment.
Your program should be an investigation into writing, language, and play. It can build upon your work in program 1 or take you in a new direction.
Students present and read their weird and obfuscated programming work in progress. "Sight reading" of other obfuscated programs.
Art games. Documentation of various artist-created games will be shown, including some games that aren't text-heavy such as those by Cory Archangel and Eddo Stern.
DUE: Program 2. (Due by email at the beginning of class.) A computer program that is coded in an aesthetic way, either in a weird or conventional programming langauge.
Language in the Cave. Discussion of the Cave / shared 3D context, scientific computing and visualization.
DUE: Working (if incomplete) sketch of program 3 to show in class. That, have some aspect of program 3 implemented in at least a tentative way, so there is something to look at and discuss. Bringing this to class (or emailing it to me before 9am) and showing your work in progress is part of class participation; you are not otherwise graded on this.
Introduction to the use of text and langauge in video games. Different contexts of gaming: the arcade, computer gaming, console gaming. Enumerating the different functions of text in a "typical" game.
Play and discussion of early video games in the Trope Tank (14N-233).
Play and discussion of early video games in the Trope Tank (14N-233).
DUE: Paper 3. A paper comparing the use of text in a digital art project with that in a video game or literary work. It should be at least six pages. You are not restricted to discussing games we have played (or art we have looked at) in class, and are particularly encouraged to consider current commercial games that you find interesting.
Class will be devoted to discussing work in progress on Program 3.
Students will demo Program 3 and there will be a short time for critique.
DUE: Program 3. An interactive computer program that can be played and enjoyed, one that produces creative writing as output during play.
The Writing and Communication Center (12-132) offers free one-on-one professional advice from lecturers who are published writers about all types of academic, creative, and professional writing and about all aspects of oral presentations. Go to http://humanistic.mit.edu/wcc and click on "Appointments." The Center's core hours are Monday-Friday, 9:00 a.m.-6:00 p.m.; evening and Sunday hours vary by semester — check the online scheduler for up-to-date hours.