Pocket Curveship

Curveship running on a tiny computer, the Ben NanoNote.

Curveship runs on the Ben NanoNote, by the way. It could be faster, certainly – I and others will be working on that. But it does run, which is a good start and bodes well for the ability of Curveship games to run on many different platforms.

Happy Chinese New Year.

Curveship 0.5 Released

Happy Groundhog Day. Today, I’m releasing Curveship, my interactive fiction system that models not only the fictional world, but also the narrative discourse. A development version (0.5) of this Python framework is now available for download. You can find the links, along with some description and documentation of the system, at curveship.com.

(Original photos by April King and Postdlf, Wikimedia Commons; they & these modified versions are CC by-sa 3.0.)

10 PRINT Talks Galore

Two of my talks on this program:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

have recently come online. I’m currently studying this program deeply and writing a single-voice book about it with many other authors.

My earlier talk, given jointly with coauthors Jeremy Douglass and Casey Reas on July 23 of last year, was “Studying Software by Porting and Reimplementation: A BASIC Case” at USC. As of yesterday, video of it is online with the rest of the conference proceedings from Critical Code Studies at USC.

More recently, on January 10, I spoke about the program at UC Santa Cruz. My talk “Line of Inquiry: Many Authors Explore Creative Computing through a Short Program” is available on video in six parts. Part 1 will let you link on to the rest.

Colloquium Past, Conference to Come in Mexico

I’ve recently returned from a great trip to Mexico City. I was at the 5th Mexican International Colloquium on Computational Creativity presenting alongside two other foreign guests, Graeme Ritchie and Dan Ventura, and two local researchers, Rafael Pérez y Pérez and Eduardo Peñaloza. There was a productive and lively roundtable on interdisciplinary work and collaboration the day before the talk, too. Rafael Pérez y Pérez, a collaborator of mine, arranged the colloquium and was a very gracious host, making sure that we got to and from the airport, to all of the colloquium events, and to several excellent meals.

Rafael presents the collaborative version of the plot generator MEXICA.
They must love George Perec's La Disparition in Mexico City.

I have a few things to mention about the 5th MICCC, but I’d like for this post to be mainly forward-looking rather than backward-looking. That’s because ICCC-11, the 2011 International Conference on Computational Creativity, is an event on the same topic as this recent colloquium, and it will be taking place in the same city thanks to the local organizing work of our wonderful host, Rafael. Although the colloquium was intellectually rich and I enjoyed visiting Mexico City for its own sake, I was also very pleased because I was anticipating this larger-scale academic gathering that will be taking place April 27-29. In part, I was reminded of the conference because I and the other organizers, Rafael, Graeme, and Dan, spent a good bit of the time working to make the remaining decisions and to prepare for ICCC-11. But even just walking around the city, I had in mind how much other computational creativity researchers would enjoy coming to México.

At the colloquium, I was the only one who didn’t discuss a large-scale system that is somehow related to the creative process. (I do have a such a system, Curveship, but I wanted to focus on something else in this talk.) I spoke about creative computing and the relationship that this area has to computational creativity. In creative computing, the computer is seen as a medium and platform for human creative work. There’s a strong relationship between this area and computational creativity, but there are some distinctions, too. I spoke about a very short, simple Commodore 64 BASIC program:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

The C64 BASIC program executing.

This one-line program is the focus of a deep investigation that I am undertaking with nine other authors. We plan for this study to result in a single-voice academic book – not an edited collection, not a “chapter book” with separately authored segments, but something that reads like a single-author book but is written by ten people. We are still in the early stages of writing this book, but it’s our hope that 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 by Nick Montfort, Patsy Baudoin, John Bell, Ian Bogost, Jeremy Douglass, Mark Marino, Michael Mateas, C. E. B. Reas, Mark Sample, and Noah Vawter will be published by the MIT Press in 2012. (Yes, the book’s title is the program itself.) Since the colloquium focused on interdisciplinary work and collaboration, this seemed like a nice project to discuss, even though the ten of us working on this project are not trying to model the creative process using computation. I described how the study of this program shed additional light on the relationship between platform and creativity, and how it suggested that computational creativity models try to take into account that relationship.

This poster was in the lobby of the auditorium where I did my presentation. Looks a bit like the output of 10 PRINT, no? It seems to show just that with two other characters (a horizontal line and a vertical line) thrown into the mix.

The other talks offered some excellent descriptions of and discussions of computational creativity systems: MEXICA, DARCI, and STANDUP (along with its predecessor, JAPE). These systems, and the things that have been done with them, are all great examples of creative computing, by the way, in addition to being computational investigations of creativity! I could do a post this long covering just the new thoughts that have come to me about these projects, each of which I knew about before. For now, I’ll refer you to the abstracts and links for more on those projects.

Coming up: The 2011 International Conference on Computational Creativity, April 27-29 in Mexico City

Interior of La Casa de Primera Imprenta.

I’ve been to Mexico City before, but this was my first trip to the city’s main square, the Zócalo. This is the area where ICCC-11 will take place. It’s an amazing sight. You can see that Mexico City is mind-bogglingly big as you fly in, but the Zócalo is massive in a different way. The plaza and the area is human-scale (designed for pedestrians and very walkable, with many shops and restaurants) while also being tremendous and impressive. On the north is the cathedral; the National Palace, where President Calderón works, is to the east. An enormous Mexican flag flies from the National Palace during the day. To the west are several buildings, including the Best Western Majestic Hotel, which will be offering a discounted rate for ICCC-11. Just off the plaza, between the Cathedral and the National Palace, is where ICCC-11 will be held – at La Casa de la Primera Imprenta. The first printing press in the Americas was installed in 1536 in this building. It now offers a conference facility of just the right size for ICCC-11 presentations and demos, several galleries, and a bookstore.

SHRDLU fans will note that the Linotype machine in La Casa de Primera Imprenta has a different layout than an English Linotype machine.

The Autonomous Metropolitan University, Cuajimalpa is the host institution for ICCC-11, which is also supported by UNAM’s postgraduate program in computer science and engineering. The colloquium that UAM-Cuajimalpa put on with UNAM was well-attended by students and faculty who had some good questions for us. I know that we will have great local arrangements for ICCC-11; the participation we had in the colloquium suggests that we will be part of some good conversations (and, no doubt, see some good presentations and demos) from local ICCC-11 attendees.

So, I hope to see you readers who work in computational creativity in Mexico City at the end of April. I’m the publicity chair for ICCC-11, but in addition to publicizing the conference, I’m glad to email with anyone who has questions about the conference or about visiting Mexico City. And, remember that the deadline for submissions (of short papers, long papers, or show-and-tell proposals) is December 13, less than a month away now: The call for papers has the details, and there is more information on other parts of the ICCC-11 site.

Curveship Codefest Coming Up

Anyone who is in the Boston area and interested in spending a day (or a good chunk thereof) helping me push Curveship toward release should shoot me an email. Thanks to a great suggestion from Prof. Fox Harrell, I’ll be hosting a one-day Curveship Codefest soon in MIT’s building 14. People are welcome to write games, to write spin (ways of narrating), and to hack on the core Curveship system with me. We’ll be working toward a release of Curveship under a free software license in December or January.

Code is Beauty, Beauty Code

Beautiful CodeIn recent years, I’ve written a series of 1k (that is, exactly 1024 character) reviews on here. This ruse has helped me compose succinct (and possibly useful) notes about many things that I wouldn’t have otherwise written about. But some things that are worth reviewing, such as a documentary about interactive fiction, are really better treated in a bit more depth. Given my interest in the aesthetics of code, and in code that produces aesthetic output, a book entitled Beautiful Code: Leading Programmers Explain How They Think is certainly one of those things.

Beautiful Code is an edited collection of 33 articles by a well-known publisher of technical books. The articles deal with how programmers solved a variety of problems, some of them very general computational problems, others quite specific to particular systems and applications. Several of the authors discuss their own code. The book is part of the Theory in Practice series with Beautiful Data, Beautiful Architecture, and Beautiful Security.

Beautiful Code: Leading Programmers Explain How They Think. Edited By Andy Oram & Greg Wilson. O’Reilly Media, 2007.

Beautiful Code is a success in several ways. It widens the conversation about code and the innovative development of it beyond particular programming languages, which have often been silos for such discussion has taken place in the past. At least, book-length discussion of programming – in textbooks, in introductory and reference books, and in “tips and tricks” books – has often been language-specific. While encompassing many systems and code in many languages, the book doesn’t take the position that the programming language can be abstracted away, that knowing about data structures, algorithms and an arbitrary programming language allows on to say all that can be said about how to program.

The first article is a particularly excellent one. In it, Brian Kernighan discusses 30 lines of regular expression matching C code which Rob Pike wrote as an example in an hour or two. This concise article deals with how to solve the core of the regular expression problem elegantly and correctly, but it also touches on many other important aspects of code and programming. By suggesting a series of modifications, Kernighan shows that code is an element of future programs rather than simply a fixed solution. Kernighan mentions how the code takes advantage of C pointers and suggests converting it to Java to see how the result would be slower and would require a lengthier program. If you can only read one essay in Beautiful Code, be glad that the editors have placed this one in the front, allowing you to retrieve it in a constant-time operation.

I was also interested in how several of the essays dealt with the need to consider hardware specifics, something one might expect pure, beautiful code to avoid touching. There’s some hint of this specter in chapter 7, which discusses how Jon Bently’s official, “proven” algorithm for binary search has a bug when it’s implemented on most real systems. When the code finds a midpoint within the array by computing (low + high) / 2, the sum of low and high can, in very extreme cases, exceed the maximum integer value, giving a negative (and obviously wrong) result. Later chapters deal with more productive connections between hardware and code. In chapter 10, Henry S. Warren, Jr. delves into the amazing intricacies involved in efficiently computing the population count or sideways sum: the number of bits in a word, or an array of words, that are 1. The current best way of doing this for an array involves using a special circuit called a carry-save adder. Chapter 14, “How Elegant Code Evolves with Hardware: The Case of Gaussian Elimination,” explores the relationship of leading matrix algorithms to changing hardware architectures.

Several other articles interested me; I suspect that programming language researchers, professional programmers, and others will find that a good number of the selections are worthwhile.

But despite the title and some compelling discussion inside, this is really isn’t a book about “beautiful code.” There is almost nothing in it about beauty or what that concept means when applied to code. “Aesthetics” isn’t in the index. When beauty is mentioned, it seems obligatory and stands for whatever the author of a particular chapter values. This, for instance, by Travis E. Oliphant:

>”Iterators are a beautiful abstraction because they save valuable programmer attention in the implementation of a complicated algorithm.” (p. 318)

Could one say anything similar about paintings? Sunsets? Or even something that has an important functional aspect, like a building? “Frank Ghery’s Stata Center is a beautiful building because the layout of its hallways saves valuable programmer time.” That doesn’t sound quite right, does it? There are more reasonable-sounding, if not very elaborated, statements about code and beauty in the book, but some of those seem to express a very narrow perspective. For instance, Adam Kolawa writes:

>”In sum, I believe that beautiful code must be short, explicit, frugal, and written with consideration for reality.” (p. 266)

Michael Mateas and I have written about obfuscated code, a topic that isn’t mentioned at all in this book. While obfuscated programs are usually short, they are also the opposite of explicit, gratuitous rather than frugal, and written without any concern for “realities” like re-use, practicality, and legibility. An obfuscated program isn’t good programming practice – that’s part of the point. For reasons that Michael and I have written about, we consider the best examples of obfuscated code to be beautiful, and I suspect we’re not the only ones. They simply display a different kind of beauty, an aesthetic of complexity and extravagance that shows us things about programming and about the language in which the obfuscated code is written – things that technical essays don’t reveal. You may share this aesthetic and be willing to consider obfuscated code beautiful, if, for instance, you saw beauty in the exorbitant Ok Go video “This Too Shall Pass.”

A final disappointment: There are no articles on the creative, artistic use of code, on programming projects that are meant to create beautiful output – no music, poetry, story, or terrain generators, lightsynths, demos, intros, or Processing sketches. Certainly a book about beautiful code, even if it is targeted at the professional programmer, would benefit from investigating a program or two of this sort?

This isn’t to say that valuing conciseness and clarity is a bad idea, or that having a book about utilitarian programming practice, particularly a wide-ranging one with many interesting articles of great technical depth, is a problem. It just means that much work remains to be done on matters of beauty and code. Perhaps we’ll soon see a book that brings together the diversity and depth of technical discussion that’s displayed here with consideration of the nature of beauty, of what it means for code to be beautiful, and of how the workings, conception, code expression, and wider contexts of a program are all involved in its beauty.

Creating Adventure in Style and The Marble Index in Curveship

##### The blog edition of my presentation at the Electronic Literature Organization’s ELO_AI Conference, Brown University, 5 June 2010

The process of writing and programming the first two full-scale interactive fiction pieces in the new system I have been developing, Curveship, has been a part of my poetic practice that I have found interesting and has also been a useful activity from several perspectives. Here I focus on the project _Adventure in Style_. I will also mention _The Marble Index_, a project that contrasts with _Adventure in Style_ in an important way. These two pieces, still in progress, are initial explorations of the potential of Curveship and of the automation of narrative variation. My hope has been that these two games will serve as provocative interactive experiences, whether or not those who interact with them are interested in Curveship as a research project or as a development system. Of course, it will be very useful if they also serve as demonstrations of how Curveship works. I have, additionally, used these two projects to help me determine what additional development is critical before I release Curveship.

While Curveship has functioned as a research system for several years and has been previously discussed from the standpoints of computer science, artificial intelligence, and narrative theory, this is my first attempt to discuss the specific pieces of interactive fiction that were conceived as aesthetic projects, rather than primarily for research or demonstration purposes.

#### Curveship

The system used to implement these pieces, Curveship, is an interactive fiction development system that provides a computational model of a physical world, as do existing state-of-the-art systems such as Inform and TADS. Curveship does something significant that other systems do not: It allows author/programmers to write programs that manipulate the telling of the story (the way actions are represented and items are described) as easily as the state of this simulated world can now be changed. It has been straightforward to simulate a character and to have that character move around and change the state of the world. In addition to this, Curveship provides for control over the _narrator_, who can speak as if present at the events or as if looking back on them; who can tell events out of order, creating flashbacks or narrating what happens by category; and who can focalize any character to relate the story from the perspective of that character’s knowledge and perceptions.

Curveship is a Python framework which will run on any computer that runs Python; I intend to release it under a free software license when it the core aspects of it are complete, well-tested, and well-documented. Rather than repeat what is already online about the system, I’ll just mention here that information about Curveship is available in several papers and in my 2007 dissertation. The best place to begin reading about the system is [my blog, _Post Position_](http://nickm.com/post/tag/curveship/), where papers and my dissertation are linked. My blog posts use the same (simplified) terminology as does the code; these terms (such as “spin” to refer to the specification for narrating) are the current, official ones. Some of my earlier publications, although they represent many aspects of Curveship well, use out-of-date terms.

#### _The Marble Index_

_The Marble Index_ simulates the experiences of a woman who, strangely disjointed in time and reality, finds herself visiting ordinary moments in the late twentieth century; the narration accentuates this character’s disorientation and contributes to the literary effect of incidents. So far, only a few sketches of parts of _The Marble Index_ have been done. In _The Marble Index_, the narrative style is controlled by the interactive fiction program. I am not very far along on this project, but I mention it because I anticipate that, just as the interactive fiction programs takes care of simulating the world in current IF, the program will usually take care of modifying the narrative style in a less direct way. _The Marble Index_ will probably be more representative of how the narrating will be controlled in a “typical” Curveship piece.

#### _Adventure in Style_

_Adventure in Style_ is in part a port of the first interactive fiction, the 1976 _Adventure_ by Will Crowther and Don Woods – one which adds parametric variations in style that are inspired by Raymond Queneau’s _Exercises in Style_ (_Exercises de style_, 1947). For several years, I have been beginning my presentations about Curveship by showing that the goal of the project is to combine _Adventure_ and _Exercises in Style_, because the two pieces show what is essential and compelling about interactive fiction (simulating a storyworld with a text interface) and about narrative variation. Now, in working on a creative project which is supposed to be effective as a stand-alone piece, not only as a demo, I am trying to combine these two much more literally.

In _Adventure in Style_, the player can rather directly control the narrative style by commanding the player character to manipulate an in-game object. The critical object here is the lamp, which the adventurer almost always needs to be holding in the cave. A special case, in which the player chooses to use the standard style throughout an entire traversal, gives the player an experience much like that of running the original _Adventure_ program. The fictional work of _Adventure in Style_ is almost complete, with the cave laid out as in _Adventure_ and many of the treasures and other objects implemented. Although the fiction file has not been fully tested, the map of and most of the puzzles in _Adventure_ are in place. Several of the possible variations in style, but not all the ones that are planned, have been implemented as well.

Several of my interests flow together, and then underground, in _Adventure in Style_. It is a port, and during my investigation of the Atari VCS (Atari 2600) with Ian Bogost as we worked on _Racing the Beam_, I found that ports are fascinating because they involve thinking about the essential aspects of a game and how they can be expressed in different ways across different platforms. When played in the standard narrative mode, one can see that _Adventure in Style_, in reimplementing a previous game, aspires to the unoriginality of Kenneth Goldsmith’s practice of uncreative writing, in which a writer simply transcribes or retypes text, such as a year’s worth of radio weather reports or a particular issue of _The New York Times_. Since narrative variation, the only aspect of the project that doesn’t come from _Adventure_, comes from _Exercises in Style_, _Adventure in Style_ is thoroughly uncreative: neither the original game nor the concept of variation sprang from my fictive forehead. Nevertheless, or perhaps because I have avoided trying to make any real contribution of my own, I find that these two great tastes taste great together. They serve as a way to understand the computer’s power to control the telling of a story and to model an underlying story world.

#### Grue Street

I took _Adventure in Style_ to the first meeting of Grue Street, an interactive fiction writers’ group that I started in Cambridge, Massachusetts as an offshoot of the local IF organization, The People’s Republic of Interactive Fiction. (In the tradition of Infocom’s _The New Zork Times_, we named the group to riff on a local writing center, “Grub Street.” Hopefully this organization won’t follow the lead of the Grey Lady and threaten us with a lawsuit.) Grue Street got off to a good start with six games and seven authors – one game was a collaboration. We required each attendee to bring something playable to the meeting, a “situation” of some sort:

> “Situation” can mean something like a puzzle, task, or conversation, which may take place in one room (or scene) or in several. The term is meant to be pretty open; it’s mainly to encourage authors to have more than just an empty setting (with nothing to do in it) or a lone character or collection of objects (with no reason to interact). You don’t need to have your whole game completed or even sketched out to participate.

The writers interacted with each piece as a group. On the one hand, this left each of us with only one transcript of play to study, but, on the other, it gave authors the opportunity to hear players thinking out loud and talking with each other.

I didn’t come away from the meeting with any ideas for major revisions to _Adventure in Style_, but the group’s reaction did help me think about frame the game, creating a useful welcome message, and choosing a good variation to introduce initially. It also made me realize that it will be hard for some people to see the project as anything more than a demo of Curveship.

#### Three Goals

My work on Curveship has been directed toward three major goals:

1. To advance and support research in natural language generation, narratology, computational creativity, and related fields.
2. To create a functional IF development system that allows authors to create games for players.
3. To enable new, compelling literary and aesthetic experiences.

“Shimmer,” advertised during the first season of _Saturday Night Live_, was a substance designed to be both a floor wax and a dessert topping. To update this for the 21st century, we might image a substance that is a floor wax, a dessert topping, and a hand sanitizer. While the three goals of Curveship do work together in certain ways, in other ways they make the research, development, and creative project seem a bit like “Shimmer Plus.”

An IF development system needs a reliable way for players to download games and probably for them to play games online, and, among other things, it needs a start-of-the-art parser. These are useful for goal 3 but unnecessary for goal 1. Generally, goal 1 and goal 3 involve pushing the envelope in some ways that are similar and some ways that are different, while goal 2 requires stability, documentation, and ease of use.

There are projects that have taken on two major and distinct goals at once. _Façade_ by Michael Mateas and Andrew Stern was an attempt to create a highly distributable, playable, and enjoyable experience that also advanced the state of the art of interactive drama. It was not itself a platform or development system, however. Graham Nelson’s co-development of Inform and _Curses_ involved creating a literary work and the now-dominant IF development system, but Inform (which has since been developed in very intriguing new directions) was not initially focused on expanding the possibilities of IF. Daniel Howe’s RiTa and Ben Fry and Casey Reas’s Processing have been developed first and foremost as general platforms, but have contributed along other lines. Nevertheless, projects that strive toward all three of these goals are rare.

I will be re-opening activity on Curveship this summer and would be glad to hear from people interested in using the system, as this will help me focus my efforts and create a release that works for the community interested in the system’s capabilities.

@party: Weaving thread

I spent this weekend at @party 2010, the first (and hopefully not last) demoparty of this name. The event was in the Town of Harvard, Massachusetts – a bit outside of Boston. I heard four live music performances, saw an early cut of Jason Scott’s almost-finished Get Lamp documentary, and saw and heard grafix, music, and demos (wild and windows) in the Saturday evening compos. There were great tunes, a truly excellent 4k windows demo, an incredible demo running on an Arduino, and much more. Many thanks to the organizer, Metoikos, and everyone who helped her out. And, a big thanks to the demoscene!

Working with two others and using the moniker “nom de nom,” I completed my first demoscene production: thread, a Commodore 64 demo that has fewer than 32 bytes of code. (There are no C64 demos this size or smaller on pouet.net, as far as I can tell.) This demo is a tribute to a BASIC program that generates random mazes, one that exists in one form in the C64 User’s Guide but has also circulated as a one-liner. Here’s a version of the program:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

I developed thread working in person first with Le Colonial of Atlanta, a sometime co-author of mine who also writes Atari VCS games. (He’s also known as Ian Bogost.) At the party itself, I was fortunate to encounter C64 expert rv6502 of Montréal, who joined me and did the heavy lifting in the second phase of this project.

After working one evening with Le Colonial in Cambridge, we had a 32 byte program that wasn’t exactly like the original, but did something pretty cool. When I checked it out on my actual C64 right before I left for the party, however, it didn’t work. The SID was initialized differently in the emulators I’d used than it was on the box itself – as it happened – and there was something odd happening with my video display as well.

I brought my C64 to the event rather half-heartedly, without any way of getting programs onto it other than typing them in and without a display. Alas, I wasn’t going to get away from the program that easily: Dr. Claw brought me a monitor to use and NO CARRIER loaned me a flash cart – and, later, a physical copy of the Commodore 64 Programmer’s Guide. rv6502 and I sat down to work further on the program. It turned out my C64’s video was different that of the emulators I used, but also different from Ferris’s actual C64 (which matched the behavior of the emulators I tried). So it wasn’t just an emulator failing to match the metal; the two different C64s apparently have different KERNAL code in ROM. Dumping my machine’s ROM and used that with my emulator would have solved that part of the mismatch.

I won’t try to go into all the details of developing this demo, but there were two particularly great things about the process at a high level. First, I got to collaborate with and learn from two others at different points. Second, I got to learn a lot more about the C64, including many things I wouldn’t have run up against if I hadn’t been working on something like this. I’m not talking about small differences between emulation and the hardware, which were a minor part of this experience, in the end. I mean finding excellent facilities of the 6502 and the C64 to work around those which weren’t doing what we wanted.

We’ve released thread in three versions: The canonical one, which has 31 bytes of code but is in a 33-byte PRG file, because the beginning memory location is stored in the first two bytes of PRG files. If this bothers you, there is a 28-byte version which fits into a 30-byte PRG file and has all the same colors, but displayed in a way that we think is not as pretty. We also include a simple, straightforward reimplementation of the BASIC program above: A 20-byte program in a 22-byte PRG file. I’d love to get this uploaded to pouet.net at some point, but I don’t know how. For now, here’s a zipfile with source and PRGs.

thread got 4th place in the Oldschool category at @party. After you load a PRG file in your emulator (or on your C64), you can run it by typing “SYS 4096”.

Finally, these are the 31 bytes of thread:

A9 80 8D 0F D4 8D 12 D4 A8 B1 F9 8D 86 02 AD 1B D4 29 01 69 6D 20 D2 FF E8 D0 ED E6 F9 50 E9


ELO_AI at Brown Wraps Up

The Electronic Literature Organization‘s conference at Brown University has new concluded – the workshops, performances, screenings, exhibits, and sessions all went very well, as did the coffee breaks and other times for informal conversation. Many thanks to the organizer of ELO_AI (Archive & Innovate), John Cayley!

The conference was a celebration of and for Robert Coover, co-founder of the Electronic Literature Organization and major American novelist, whose teaching and promotion of electronic literature has been essential to the field. Robert Coover was toasted and at least lightly roasted, heard papers presented on his work, and did a reading of the “recently renovated Hypertext Hotel” – a famous early project by students which did indeed turn out to have some recent renovations.

ELO_AI began on Thursday with an array of workshops by Damon Loren Baker, John Cayley, Jeremy Douglass, Daniel Howe, and Deena Larsen. Deena Larsen was later part of a great roundtable on archiving with Will Hansen, Marjorie Luesebrink, and Stephanie Strickland; the group discussed Duke University’s work with Stephanie Strickland’s papers (and digital works), the Deena Larsen Collection at the University of Maryland, and the efforts that the ELO made in the Preservation, Archiving, and Dissemination project. On the first day of the conference, Mark Marino organized a great panel with four undergraduate presenters. And, there was an opening reception at the Westminster Street gallery where an excellent show of digital literary work has been put together. While there was an array of work (in the screenings, performances, gallery, and sessions) from people who were presenting at an ELO conference for the first time, I was also glad to see many of the people who were instrumental in creating and publishing literary work on the computer more than a decade ago.

Without trying to enumerate every session of the conference, I’ll mention the Sunday 10am plenary to try to get across how wide-ranging the presentations and presenters were. In this session, George Landow, author of the famous Hypertext: The Convergence of Contemporary Critical Theory and Technology (1992), told the tragicomical tale of hypertext’s use in education at Brown. Angela Chang and Peggy Chi described two interactive projects for very young readers, projects that used my Curveship system and the Open Mind Common Sense project from Henry Lieberman’s MIT Media Lab group. Lawrence Giffin used the not-very-democratic framework of the salon to consider the important avant-garde site Ubuweb. And finally, Paola Pizzichini and Mauro Carassai looked into the Italian edition of Michael Joyce’s Afternoon and its almost total absence from Italian libraries. Certainly, some sessions were more focused – very focused in the case of the one on William Poundstone’s digital writing work; at least with a theme of process intensity, in the case of the session were I presented my work on Adventure in Style. But we had a genuinely diverse group of presenters, and sessions like this one on Sunday revealed this, while also showing that we do have cross-cutting interests and that we can have valuable conversations.

A special area if interest for me, interactive fiction, was represented by Aaron Reed, who did a reading of his Blue Lacuna in which he deftly showed both interactive sessions and the underlying Inform 7 code while a volunteer interactor spoke commands. Aaron Reed also gave a paper on that large-scale piece, explaining his concept of interface and his work on developing a non-player character who ranged across different spaces without being a simple opponent or companion character. In the same performance session and paper session, I got to see and learn more about Fox Harrell’s Living Liberia Fabric, a piece produced in affiliation with the Truth and Reconciliation Commission (TRC) of Liberia, incorporating video testimony, and employing Fox Harrell’s GRIOT system for poetic conceptual blending.

We welcomed new ELO board members and officers. Joining the ELO board are Fox Harrell, Caroly Guertin, and Jason Nelson. Dene Grigar took office as vice president, and Joe Tabbi completed his term as president, handing that role over to me.

During the sessions, we heard critical perspectives on many particular electronic literature work and some on the ELO itself, which will help us think about the challenges the Organization faces and how we can better serve readers and writers beyond American universities. The ELO has had ten years of growth and learning by now, and while there will be more of each to do, our four main projects are now well enough established that all of them are past 1.0:

  • The Electronic Literature Collection, the second volume of which has been edited and produced by an independent editorial collective and will be published soon.
  • The Electronic Literature Directory, which in its new manifestation offers community-written descriptions as well as metadata.
  • Our conference – this most recent one at Brown was our fourth international gathering.
  • Our site and our online communications, which offer information about the ELO and an introduction to electronic literature.

I’m glad to be starting my service as president of the ELO at a time when the organization has just had a very successful conference and has these other effective projects rolling. Thanks to Joe Tabbi and other past presidents and directors of the Organization for bringing us to this point – and, again, to John Cayley for bringing us all together at Brown.

DAC09 Proceedings Now Online

Proceedings of the Digital Arts and Culture Conference, 2009 are now online. The conference was a great success; DAC continued to lead the way in the culturally engaged study of digital art and media. Many thanks go to Simon Penny, who was director of the conference, and others at UIC: Ward Smith, Liz Losh, and Sean Voisen. The theme leaders for this conference put together very strong series of papers that were both focused and relevant. I hope those of you who didn’t make it to Irvine will visit the proceedings and see a bit of what happened at the latest instance of this extraordinarily rich series of gatherings, where the study of video games, digital art, digital literature, performance, and the cultural aspects of online and computing experience have been explored so well over the years.

“Les deux” / “The Two”

[English follows…]

Mon générateur d’histoires “The Two” est désormais en ligne avec une traduction française, “Les deux” , de Serge Bouchardon. La version anglaise était auparavant disponible en Python. C’était le second de trois générateurs de 1k que j’avais réalisés à la fin de 2008. “Les deux” génère des histoires toutes simples de trois lignes, mais dont l’effet de sens n’est peut-être pas si simple. Les versions anglaise et française sont à présent disponibles en JavaScript et sont ainsi facilement accessibles sur le Web.

My story generator, “The Two,” is now online along with a French translation, “Les deux,” by Serge Bouchardon. The English version of the story was previously available in Python. It was the second of three 1k story generators that I wrote near the end of 2008. “The Two” generates three-line stories in a straightforward way, although the effect may not be straightforward. Both French and English versions are now available in JavaScript, so they can be run from the Web easily.

Interactive Fiction Platforms, Strong Bad’s Upgrades

Alex Mitchell just did a great job of presenting the work he and I did on the influence of interactive fiction platforms: “Shaping stories and building worlds on interactive fiction platforms.” We looked at how TADS 2 and Inform 6, which are really extremely similar development systems created to do almost exactly the same things, nevertheless may offer different affordances to IF authors and may influence the way story words (and other aspects of IF) are developed. Check out the full paper if this interests you.

In this panel, which was intriguing overall, I’ll also mention Stephanie Boluk’s fine presentation. She investigated seriality (in a broad sense), melancholy, and the relationship between narrative and database, bringing narratology (among other approaches) to bear on her object of study: Homestar Runner. “Homestar Runner’s far more surreal characters are impossible to locate along any realistic age spectrum. They perform innocence and experience in various degrees, functioning as polysemic signifiers that embrace these contradictory positions – a hybrid condition made possible by their status as cartoons.” Also, a discussion of how Strong Bad’s past computers coming back from the dead resists the dehistoricization of digital media.

Big Day at DAC 2009

Ian Bogost and I just gave our talk “Platform Studies: Frequently Questioned Answers” here at Digital Arts and Culture in Irvine, California. There were three other talks – fascinating ones – in this day’s opening plenary session. Garnet Hertz took us into circuit bending, tactical media, and the artistic recycling and reuse of electronic waste. Jason Farman spoke on locative media with a focus on geocaching as technologically-enabled, embodied, proprioceptive play. Conor McGarrigle explored, in detail and with reference to several specific projects, the relationship between the practices of the Situationist International and contemporary locative media work.

Ian and I addressed six misconceptions about platform studies (the concept, the focus) which we’ve already heard a few times. Our talk was an attempt to better invite people to participate in the project and in the book series. In brief, the six misconceptions, and our responses, are:

#1 Platform studies entails technological determinism.

Platform studies is opposed to “hard” determinism and invites us to continue to open the black box of technology in productive ways.

#2 Platform studies is all about hardware.

Platform studies includes software platforms as well.

#3 Platform studies is all about video games.

Platform studies extends to all computing platforms on which interesting creative work has been done.

#4 Everything these days [in the Web 2.0 era] is a platform.

We invite a focus on computational platforms, the basis for digital media work.

#5 Platform studies is about technical details, not culture.

Platform studies connects technical details to culture.

#6 Platform studies means that everyone in digital media will have to get computer science training or leave the field.

Platform studies shows how technical understanding can lead to new sorts of insights, but will not evict the many other important sorts of scholars from digital media.

The full paper is online, too. Since the beginning of the project, we’ve insisted on the embedding of the platform level in culture and other non-technical contexts, and we’re tried to draw connections between the way computing systems work and culture, history, and society. Others, we’re sure, will have new ways to do that; please, join us in taking up the platform as an focus for digital media studies.

I have one other collaborative paper today, which will be presented by Alex Mitchell: “”Shaping Stories and Building Worlds on Interactive Fiction Platforms.” Then I’ll present “The ppg256 Series of Minimal Poetry Generators.” Finally, I’ll be part of the DAC Literary Arts Extravaganza with a reading called “Five Uneasy Pieces.” I’m looking forward to it all, but I’m sure I’ll be glad to be looking back on it when the day’s done.

You can search Tweetland for #DAC2009 to see what the cool kids are saying about the conference.

IF, Visuality, and Other Bits of DAC

Among the many great presentations here at DAC 2009 at UC Irvine, the paper by Aaron Kashtan, “Because It’s Not There: Verbal Visuality and the Threat of Graphics in Interactive Fiction,” was particularly nice to hear. Aaron discussed my 2000 interactive fiction Ad Verbum, related it to Emily Short’s City of Secrets, and presented a nice argument about how these two engage (differently) with text’s ability to represent the visual. Here’s the abstract:

In this paper I analyze two contemporary works of interactive fiction (IF), Nick Montfort’s Ad Verbum and Emily Short’s City of Secrets, as examples of two contrasting ways in which IF reacts to the perceived threat of computer graphics. In the post-commercial era of IF, graphics represent a factor that, without being acknowledged, has profoundly shaped the development of the medium. Post-graphical works of IF may be distinguished according to how they respond to the threat or promise of graphics. Ad Verbum’s response to graphics is to emphasize the purely textual, and thus anti-graphical and anti-visual, aspects of the medium. The implication is that IF’s closest affinities are not with visual prose but with printed works of procedural textuality, and that IF is a visual medium. By contrast, City of Secrets activates a mode of visuality that depends less on immediate presence than on emotional affect and imaginative participation. Short suggests that IF is a visual medium, but that it differs from graphical video games in that its visuality depends on absence rather than presence.

I was also really impressed by Brett Camper’s discussion of the MSX-inspired “fake 8-bit” game La-Mulana and, on a very different level, the wide-ranging first talk of the conference, by Kate Hayles, which engaged cognition, tools, attention, and evolution.

DAC 2009 has proceedings which were handed out to attendees on CD-ROM and which will be (to some extent?) available. So, while I hope to mention a few more DAC highlights, I won’t aim to summarize talks.

Racing the Beam a Front Line Awards Finalist

An interesting development: The magazine Game Developer recently announced the finalists for the 2009 Front Line Awards, gathering “the year’s best game-making tools in the categories of programming, art, audio, game engine, middleware, and books.”

In the book category, the finalists are:

  • Game Coding Complete 3rd Edition by Mike McShaffry (Charles River Media)
  • Game Engine Architecture by Jason Gregory (AK Peters)
  • Mastering Unreal Technology Vol. 1 by Jason Busby, Zak Parrish, and Jeff Wilson (Sams Publishing)
  • Racing the Beam: The Atari Video Computer System by Nick Montfort and Ian Bogost (The MIT Press)
  • Real Time Cameras: A Guide for Game Designers and Developers by Mark Haigh-Hutchinson (Morgan Kaufmann)

In 2007, Pat Harrigan and Noah Wardrip-Fruin’s collection Second Persion was a finalist, so we’re not breaking any ground here for digital media studies or MIT Press. But it’s nice to be selected by the folks at Game Developer.

Platform Readings: Jaguar, Pseudo 3D

As an Atari Jaguar owner, I suppose I have something of a soft spot for the system, but I really do wish that it had more than one awesome game. There’s a recent article on the failure of Atari’s last console by Matthew Kaplan. He ends up singing of the Jaguar rather as if it has been the Great White Hope, sadly fallen to Japanese consoles, but touches on several interesting aspects of the console along the way. Technology, pricing, and marketing are all discussed in some detail. This will help us remember the “64-bit” claims that were made for the system and the never-shipped VR helmet that made appearances at trade shows. Thanks to Jason Scott for this link.

Pseudo 3D graphics is the road less traveled these days, but this non-polygon method of making racetracks and other planar spaces appear to be 3D is fascinating. It’s written up very clearly, with code, example images, and discussion of games that use unusual pseudo-3D techniques, in an article by Louis Gorenfeld. I like how the advantages and disadvantages of these techniques are discussed – the method is treated as neither strictly inferior or “way better” than what we usually think of as 3D. This one’s not only relevant to platform studies, but an obvious topic for a blog called Post Position. Thanks to Josh Diaz for the link.

“Platforms” and Positioning

Tarleton Gillespie, author of Wired Shut: Copyright and the Shape of Digital Culture, presented an interesting paper at MIT’s Media in Transition 6 conference – one that is helpfully available online, and which is called “The Politics of ‘Platforms.'”

Gillespie considers the way that YouTube and other companies in the business of “content hosting” have positioned themselves as offering “platforms” – a stance that has populist benefits and which at least has the potential to distance these companies from liability for material they serve up. Interestingly, Gillespie finds that the computational sense of platform pre-dates this Web 2.0 and content-delivery sense. Admittedly, that sense, too, is a relatively new way of thinking about platform, and the most recent OED sense. Gillespie quotes this fine blog post by Marc Andreessen:

The key term in the definition of platform is “programmed”. If you can program it, then it’s a platform. If you can’t, then it’s not.

So, if you’re thinking about computing on the Internet, whenever anyone uses the word “platform”, ask: “Can it be programmed?” Specifically, with software code provided by the user? If not, it’s not a platform, and you can safely ignore whoever’s talking — which means you can safely ignore 80%+ of the people in the world today who are using the term “platform” and don’t know what it means.

This, by the way, is essentially sense of platform that the Platform Studies book series aims to investigate, although we don’t advocate that people ignore Google, YouTube, and so on.

The focus of the series is on computational platforms not because Ian and I disdain other uses of the word “platform” – we certainly don’t when we go to train stations – but because this is a particularly fertile area for digital media investigations, as we tried to show in Racing the Beam. Platform studies is an essentially computational as well as cultural endeavor, one that works to connect computation (not communication alone) to human creativity of various sorts.

Gillespie doesn’t buy Andreessen’s take on platforms, writing, rather, that “[p]latforms are platforms not necessarily because they allow code to be written or run, but because they afford an opportunity to communicate, interact, or sell.” A descriptive linguist would be hard-pressed to argue with this. The concept of platform is a rich one, and Gillespie’s paper delves into the rhetoric and politics of its use by media companies. I think a better understanding of the way computational platforms work and how they have influenced culture – a better view of those obscure, arcane platforms that have been little studied from cultural perspectives but which gave their name to the communication platforms of today’s web – will not only let us learn more about computing and creativity. It will also leave us better equipped to deal with what “platform” means in other contexts, the issue that Gillespie has very usefully started to explore.