Bioengineering 84, Section 1

Introduction to Interactive Fiction (1 unit, P/NP)

Professor Ian Holmes
Tuesday 10:00-11:00, 41 Evans Hall, Class number: 41118

Interactive Fiction (IF) is a genre of literature where the reader has an opportunity to influence the outcome of the story. It often (though by no means always) takes the form of a text-centric computer game. This class will survey the history of IF, from its experimental roots (e.g. Jorge Luis Borges' "Garden of Forking Paths"), through the first commercial phase of the 1980's ("Choose Your Own Adventure" novels, Infocom text adventures), the hobbyist phase of the 90's and 00's (Graham Nelson's reverse-engineering of the Infocom Z-machine), and the current "text renaissance." Participants in the class will create one short work of interactive fiction themselves, and play many others. Guest lecturers will include celebrated authors from the IF community.

Instructor Bio

Ian Holmes is a computational biologist and part-time game developer. Starting in the late 1980's he created and sold two independent games, in the RPG/adventure and first-person shooter genres. His subsequent career has focused mainly on artificially intelligent systems for molecular biology and genomics. Recently, he has resumed a serious interest in computer games, and is perpetually working on several side projects and experimental prototypes.

Faculty web site:


Anyone is welcome to this class. Realistically, we expect students to fall into two categories: those mainly interested in the humanities who have done very little programming, and those who have some coding experience but have not written much prose. Both types of participant are welcome; in particular, it deserves emphasis that NON-PROGRAMMERS WILL NOT BE AT A DISADVANTAGE. If anything, it's the other way around: it is much easier to write–by trial and error–a computer program that makes a machine do something, than it is to write prose that makes a human feel something. But don't worry if you've not written much prose (or much code). The first step is to get you playing some IF games and thinking critically about them.