Introducing Curveship

This is the first of a series of posts about my interactive fiction system, Curveship.

Curveship is an interactive fiction development system that provides a model of a physical world, and its workings, as do existing state-of-the-art IF systems (such as Inform 6, Inform 7, TADS 2, and TADS 3). It will not have as many libraries, and will have no multimedia features, when it is released, but it will provide another significant capability: it will allow IF authors 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 the IF world can now be changed. While existing IF systems allow for the simulation of a character who can move around and change the state of the world, Curveship provides for control over the narrator, who can tell 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, not just a fixed PC or a hard-coded series of them, to tell the story from the perspective of that character’s knowledge and perceptions.

Curveship will have a closed round of testing and revision soon, and will be publicly released soon thereafter. This may happen as early as the end of summer, but if that timing makes little sense for the project or the IF community (IF programmers may be too busy finishing their IF Comp games at that point) the release could happen later.

I have had a very short page about the system up for a while at Curveship.com. As it explains in slightly more detail, the system’s starting point was my too-cleverly-named research system nn. I have been working for a while to get a usable programming interface set, to clean up the code, and to add some capabilities that are necessary for a usable IF system but didn’t have much research value to me, at least initially. Finally, the name of the system comes from a poem by Hart Crane. “Curveship is being fashioned to model the essential qualities of variation—the curve of a story through its telling—just as friendship and authorship represent the essence of being a friend and author.”

I’ve recently given a talk about the system to a group of roboticists and computational linguists at a workshop, and more recently (yesterday) got to discuss the practicalities and details of the system a bit with the Boston IF group; those folks provided some good suggestions at the levels I’m most concerned about now. I’m now going to begin writing, as often as I can, about the system, what principles it is based on, and how it works at high and low levels.

Curveship is a Python framework; to write a fiction file you simply write some Python code, instantiating classes for the most part, writing your own subclasses if you want items to do something unusual. There are a few fairly radical differences between Curveship and existing IF systems, but the two that will probably be most visible are the modeling of actions and the string-with-slots representation that is used for text generation. In Curveship, items do not change their own state. Changes of state, and the movement of items from one place or container to another, are accomplished only by actions. And, when actions are narrated or objects described, this is done based on a formalism that is a bit harder to write than a simple string would be. These are two of the the main aspects of Curveship that, although they demand more work from the IF author, allow for powerful, general ways of narrating.

Ideally, as I continue these posts, I’d like to write in response to your particular interests and curiosities. I’ll be glad to answer questions in comments if there’s a reasonably sort answer; if not, I’ll try to answer them in the context of a longer post.

Web Comics Touched by the Brush

The Moon Fell on Me is an infrequent, gemlike Web comic by the itinerant Franklin Einspruch, who happened to come to my recent interactive fiction talk at AXIOM. He told me he was trying to do something different with this Web project. Visit his site even briefly and you’ll see that he has done it. No pen was used in the creation of this Web comic. The panels are not organized to lead toward jokes. The lines of images are clearly based on personal experience, but they reach out beyond an individual or subculture. Instead of the occasionally hilarious, forward-a-link, forget-in-moment frames of the typical Web comic – however incisive that comic might be about geeks or life or both – The Moon Fell on Me offers sequential art that is worth looking at again and again, that resonates with its moment and seems worth contemplating beyond it.

Story Generation with Pookie and JR

Excerpts from the Chronicles of Pookie & JR:
Previously, Pookie and JR had only ever met at parties.
For the first few nights, Pookie and JR keep to their corners.
JR changes Pookie’s water. Pookie makes a mess of his feeding dish.
JR cooks slowly, foraging in this strange kitchen.
Tonight’s dinner puts one withered leek out of its misery.
JR hasn’t been sleeping much lately.
Pookie keeps his thoughts to himself.
To be continued…

J. R. Carpenter, author of Words the Dog Knows, Entre Ville, The Cape, and other fine works of e-lit, print, and xerography, has delightfully repurposed one of my 1k story generators to have it tell stories involving her and a hermit crab named Pookie. The program has grown to about 2k, but it uses the same simple (and surprisingly effective) method as my first generator does: It simply removes all but 5-9 sentences from a sequence, eliding some of what’s been written. Sometimes the reader is left to wonder who the hermit is. Here’s a direct link to the Python code for the program, and here’s the page on Excerpts from the Chronicles of Pookie & JR.

Rafael Pérez y Pérez to Speak at MIT

Next week, the Purple Blurb series offers a second special summer talk by a leading researcher in creative text generation. Rafael Pérez y Pérez will speak on …

MEXICA: A Computer Model for Plot Generation of Prehispanic Stories

MEXICA is a computer model that generates plots for short stories about the Mexicas, the old inhabitants of what today is México City, based on the engagement-reflection cognitive account of writing. During engagement MEXICA generates material guided by content and rhetorical constraints, avoiding the use of explicit characters’ goals or story-structures. During reflection the system breaks impasses, evaluates the novelty and interestingness of the story in progress and verifies that coherence requirements are satisfied. In this talk I will explain the main characteristics of the system, I will show how emotions are employed to progress a story in a coherent way and generate novel situations, and how the dramatic tension of the story in progress might be employed to evaluate its interestingness. I will present results showing how story generation is affected by various model parameters and I will compare MEXICA with other story-generators programs. Finally, I will mention how we are employing MEXICA as starting point for new research projects.

Pérez y Pérez will speak on Wednesday July 15, 6pm-7pm, at MIT in room 14E-310. This is in the same location as Pablo Gervás’s talk in May, and just one more floor up the stairs from the Trope Tank, where other Purple Blurb events were located. The talk is (as with all Purple Blurb presentations) open to the public.

Rafael Pérez y Pérez.
Rafael Pérez y Pérez, creator of the MEXICA story system.

Rafael Pérez y Pérez earned a BSc. in Electronics and Computers at Universidad Iberoamericana in México City, a MSc. in Knowledge Based Systems and a DPhil. in Artificial Intelligence at Sussex University in England. His research has focused on computer models of creativity. He and his students have developed programs that write short stories, compose music, and solve geometry problems, among other things. In 2006 he organised the Mexican Creativity, Cognition and Computers research group (MCCC) which aims to gather together a multidisciplinary group of researchers and students interested in computational creativity. He has published different papers in the area and has participated as a PC member and co-chair in international events related to computational creativity. Currently he is a researcher and lecturer at The Autonomous Metropolitan University (Universidad Autónoma Metropolitana or UAM) in México City and an invited Lecturer in the MSc and PhD programs in Computer Science at The National Autonomous University of México (Universidad Nacional Autónoma de México or UNAM).

Computational Creativity at ICCC-X

The First International Conference on Computational Creativity will be taking place in Portugal on January 7-9 2010. ICCC-X will follow on a decade of smaller-scale workshops and symposia. The call for papers lists the deadline of September 26 (extended 5 days) for papers, and promises:

The conference will include traditional paper presentations, will showcase the application of computational creativity to the sciences, creative industries and arts, and will incorporate a “show and tell” session, which will be devoted to demonstrations of computational systems exhibiting behaviour which would be deemed creative in humans.

Note also that contributions are solicited in several areas, including “specific applications to music, language and the arts, to architecture and design, to scientific discovery, to education and to entertainment.”

Twine is Rolled Out

Twine

Chris Klimas, the hypertext and IF author who runs Gimcrack’d, has just released free versions of Twine for Mac and Windows, along with documentation and several screencasts that explain how the system works and a command-line tool, called “twee,” for working with stories in Twine’s format. Twine is a system for constructing interactive stories using a visual map, not unlike Eastgate Systems’ Storyspace. While it lacks the august heritage of that piece of software, Twine is freely available and free to use for any purpose, even commercially.

When Twine build a story for publication or for the author’s examination, it does this in HTML/CSS. That means that readers won’t need any special software to explore stories written in Twine. Lots of text formatting can be done without getting into HTML and CSS, although authors are welcome to get into it as deeply as they like. The system supports some sophisticated presentation capabilities, including a stretchtext mode. It’s not quite a guard field, but the “choice” macro locks off certain options when others have been taken. Under the hood of Twine is TiddlyWiki, a personal Wiki took for the Web. This handy personal notebook system has been reshaped for interactive narrative rather than productivity, though, and pretty thoughtfully.

Having just started up Twine and fiddled with it a bit, I’m impressed at how easy it is to use, even if one doesn’t read the documentation or watch the screencasts first. It seemed at first that there would be no way link two different occurrences of a word to two different texts, but after a quick bit of reading I was able to figure out how to change [[word]] to [[word|word2]] in one place and give one of the links a different internal name. I’m looking forward to using Twine (and probably twee) further. It could be useful for doing a small project – perhaps a collaboration? – and it might work well as an option for students, too.

Jack Toresal and The Secret Letter Released

Jack Toresal and The Secret Letter

Michael Gentry, author of the stunning, large-scale, Lovecraftian interactive fiction Anchorhead, has another full-scale IF, his first since that award-winning game came out in 1998.

Dave Cornelson, who founded the Speed IF competitions and the IFWiki, has led his interactive fiction company, Textfyre, to publish its first game.

The game that is so notable in both of these ways is Jack Toresal and The Secret Letter. It is available for either Windows or Mac for about $25. As with all of the planned offerings of Textfyre, this game is directed at a specific audience: young readers wanting to experience the pleasures of reading while playing computer games. The hope, no doubt, is that parents will appreciate the fun and literacy-enhancing qualities of interactive fiction.

You can check out the game online: There is an in-browser demo that runs using Microsoft Silverlight. (The game itself was developed in Inform 7, and was programmed by Graeme Jefferis, not Gentry.) The interface offers a book-like framework for the IF session and allows the player to flip ahead to a map or back to previous sections of the transcript. The illustrations were done by Erika Swanson. You can read more about the development of the game and the progress of the company on The Textfyre Times, Dave Cornelson’s blog.

The setting and the situation at the beginning of Jack Toresal is quite compelling, and after only a bit of interaction, I could see already that there are some interesting twists (including gender play), lots to explore, and a variety of people to meet and conversations to have. (I’ve played the game just a bit on my own; I was glad to also get to play and discuss the game with the Boston IF group yesterday.) Gentry’s writing is appropriate to the game’s audience, and is also effective and lively. Although this game probably lacks the tentacle attacks and generations of incest that made Anchorhead so chilling, it doesn’t pull punches for the kiddies – you can get Jack very unpleasantly killed if you don’t lead him to outwit his opponents.

Since Cascade Mountain Publishing ceased its run in 2000, I haven’t heard of a commercial IF company or publisher that has completed a project and released a game. Yes, there have been people selling their own IF in various forms – I’ve been one of them, with my hardback edition of Winchester’s Nightmare; Peter Nepstad has also sold his 1893: A World’s Fair Mystery. But Textfyre seems remarkable in accomplishing the commercial development and publication of a piece of interactive fiction that otherwise wouldn’t have been written, in putting together projects that involve many people. The company has wisely focused on a particular market, and on a particular type of reader/player that is not well-served by existing IF. Textfyre used a new development model in which programming is separated from writing and design, which themselves are potentially separated. (Gentry did both in this first title, but that won’t particularly be the case in others.) This first result, even though it is for younger readers, seems to be a good use of a major talent. Even to us older readers, it could be as interesting as a major release from an independent author. I’ll look forward to playing Jack Toresal and The Secret Letter further, and will hope that this release will just be an auspicious beginning for Textfyre.

A Machine to Play Pitfall

Carlos Diuk, Andre Cohen, and Michael L. Littman of Littman’s RL3 Laboratory at Rutgers devised a new way of doing reinforcement learning, using Object-Oriented Markov Decision Processes, a representation that looks at a higher level than usual and considers objects and interactions. They had a paper about this at last year’s International Conference on Machine Learning (ICML). Better yet, they demonstrated their OO-MDPs representation by using it in a system that learned to play Pitfall in an emulator. I don’t believe that the system got all the treasures, but watching it play and explore the environment was certainly impressive. It seems like the technique is an interesting advance. By trying it out on a classic game, the researchers suggest that it will have plenty of “serious” uses in addition to being used in video game testing and in game AI.

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

Guardian Hails IF, Novelists

Keith Stuart’s provocative article in The Guardian plugs modern-day interactive fiction and suggests that novelists should be more involved in the making of video games, as they have been in the past. The article is on the right track. There is certainly reason for video game companies to license, or, less frequently, collaborate with those who make movies. But there are lots of things that games can do, and novelists could bring interesting perspectives, skills, and art to games – even they aren’t text-based interactive fiction. Of course, the right match has to be made and the writer has to be persuaded that video games are serious enough. I suggest Ubisoft grab Paul Auster, a dizzying writer. If he didn’t mind the association that come with writing and co-directing the movie Smoke, video games should be no problem.

Thanks to Emily Short for noticing this one.

CALC-09, Afternoon

The Workshop on Computational Approaches to Linguistic Creativity has just concluded. I posted about the morning; here are my notes on the afternoon talks.

The first item for the afternoon was my invited talk, “Curveship: An Interactive Fiction System for Interactive Narrating” I worked a while to provide the paper to accompany my talk, trying to introduce IF, explain the basics of narrative variation, and get into at least some of the technical details of my system, including the string-with-slots representation, which I’ve been working on a great deal recently. I also tried to include handy references and pointers. Incidentally, I’ve been meaning to post more about Curveship, and I’d love to hear any questions you have about it at this point, even before I’ve properly introduced the system on this blog.

After my talk, we had more time for poster presentation; one poster was on author and character goals for story generation.

The “From Morphology to Pragmatics to Text” session concluded the day:

Andrew Goldberg presented work by three others on a ML algorithm to assess the creativity of sentences: outliers that are still meaningful. The Winconsin Creative Writing dataset was assembled and used. Using language modeling, word norms, and WordNet, the did partially predicted creativity scores. (Pointed out in the Q&A: All the non-creative sentences were much shorter, so you could just use one feature – length!)

Stefano Vegnaduzzo presented state-of-the-art work on complex adjectives – ones that are made of at least two words separated by a hyphen. These are frequent, as corpus analysis of Wikipedia and the Web shows. Two-word complex adjectives, identified with a part-of-speech tagger, were the focus. Morphological productive processes allow the unintentional, unlimited, regular creation of words; building complex adjectives is one. Checking for hapax legomena gives a measure of productivity within morphological categories: “non-X” was tops in both corpora. Realized and potential productivity were found, and found to be similar across corpora.

Allan Ramsay presented work on how the same words can have different meanings in different contexts. The sentence “I’m sorry I missed your talk” was one fixed text, along with “I’m sorry, Dave, I can’t do that.” It’s not because “sorry” is ambiguous. “Sorry” expresses a relationship between an individual and a state of affairs (which the individual wishes were not the case). There’s no first-order representation. The representation is extremely elaborate, but not too complex. Appropriate background knowledge is essential. One conclusion: A system that takes part in conversations will have to build meaning representations and carry out inference. (In Q&A, I learned that there’s more in the paper about being mistaken, lying, and using irony and sarcasm.)

One way to get at the papers from this workshop is by seeing the title and author information on the CALC-09 site and then using your favorite search engine to locate them online – I assume all, or at least almost all, have been placed online by authors. ACL also offers past workshop proceedings for purchase. Maybe the CALC-09 proceedings will be available that way, too?

CALC-09, Morning

The Workshop on Computational Approaches to Linguistic Creativity (CALC-09) is taking place now at the University of Colorado at Boulder.

In the first session on metaphors and eggcorns, researchers reported on using natural language understanding techniques in innovative ways:

Beata Beigman Klebanov presented on the use of a topic model (LDA, latent Dirichlet allocation) to detect the most obvious or deliberate types of metaphor, which are discussions of one domain the terms of another and which were annotated by people in this experiment. For different k, metaphorical uses were found to be less frequent in the k most topical words in the discourse overall.

Steven Bethard presented work dealing with sentence-level conceptual metaphors from a psycholinguistic standpoint. In earlier work, metaphors were used as stimuli and subjects’ N400 brain waves, associated with anomaly, were recorded. This suggests that it’s important to know about metaphorical frequency, how often words are used in a metaphorical way. A support vector machine classifier was trained on an annotated corpus. LDA, with and without categories, was used to disambiguate metaphors, and to determine whether they are abstract or concrete.

Sravana Reddy presented “Understanding Eggcorns,” about linguistic errors caused by semantic reanalysis: entrée -> ontray, as first named on Language Log in 2003. Eggcorns are more related to folk etymology and puns than malapropism; there has been little study. Can the path of transformation be discerned? Error-detection is an application; also, humor generation. Using the Eggcorn Database and WordNet, a semantic network was built; context information was then added and other augmentations were made. A typology with five categories was developed based on the results.

Session 2 was on generating creative texts:

Ethel Ong presented work on pun generation using a pronouncing dictionary, WordNet, and (more effectively) ConceptNet. A system called TPEG extracted word relaltionships to build templates for pun generation, keeping the syntactical relationship but modeling semantic and phonetic word relationships as described in Kim Binstead’s work. Variables in the template model parts of speech, sound, and compound words.

Yael Netzer presented the Gaiku system for haiku generation. Constructed a haiku corpus, system to build templates. First try generated grammatical output, but didn’t have a good “story.” Story is a sequence of concepts: Butterfly, spring, flower. Word association information, not found in WordNet, was added. An analysis of haiku was done to see if it appears more associate than news text. The final generated haiku were evaluated in a “Turing test.”

Lyric generation in Tamil and syntactic constructions were discussed in the poster session presentations.

Note that paper titles and the full list of author names can be found on the CALC page.

Well Played

Well Played 1.0: Video Game, Value and Meaning is now out from ETC Press. It’s available in print from Lulu.com and has been offered to the creative commons and can be downloaded as a PDF or read on the Web.

My contribution is “Portal of Ivory, Passage of Horn,” an article comparing two of the top games of 2007. Thanks to everyone who discussed this comparison with me at Grand Text Auto when I first blogged about this pair of games. My article is, I think, both more extensive and more focused than what I originally wrote, and I hope it helps to advance the discussion of video games.

Editor Drew Davidson writes of the book:

Well Played

What makes a game good? or bad? or better?

Video games can be “well played” in two senses. On the one hand, well played is to games as well read is to books. On the other hand, well played as in well done.

This book is full of in-depth close readings of video games that parse out the various meanings to be found in the experience of playing a game. 22 contributors (developers, scholars, reviewers and bloggers) look at video games through both senses of “well played.”

The goal is to help develop and define a literacy of games as well as a sense of their value as an experience. Video games are a complex medium that merits careful interpretation and insightful analysis.

Well Played Table of Contents

New Media Art

New Media Art, Mark Tribe and Reena Jana, Taschen, 2006
New Media Art, Mark Tribe and Reena Jana, Taschen, 2006

Here’s a nice slice of recent digital art – online, in performance, and installed – expertly introduced. The book is well-illustrated (no surprise from this publisher) and has a welcome emphasis on the computational. Sure, some of the purest pieces of software art (Galloway’s fork bomb, obfuscated code, and the like) aren’t mentioned, but port scanning, packet sniffing, and the glitchy transformation of HTML are all represented. As with all Basic Genre Series books, there’s an introduction followed by page spreads, each on a single work. The format has its pros and cons, but the results, in this case, certainly offer a nice adjunct to Christiane Paul’s similarly introductory book, Digital Art. The engagement of artists with social issues, the critique of technology, video gaming, and free software are particularly evident in New Media Art. And, how great that Super Mario Clouds and the work of Jodi now sit on the shelf beside books on abstract expressionism, Greek art, and the still life.