Interactive Fiction

You are standing in an open field west of a white house, with a boarded front door.

There is a small demo here.

What is IF?

A Brief History

Before the first person shooter there was the second person thinker

The Setting

  • The mid-70s
  • Computers are big
  • No graphics (mostly)

1976: Adventure

  • Based on a real cave!
    • The Mammoth Cave system in Kentucky
    • Specifically, Colossal Cave
  • Magic, treasure, and whatnot...
  • Developed by Will Crowther
  • Expanded by Don Woods
  • DEC PDP-10
  • Fortran
  • Rudimentary parser

It was a hit

1979: Infocom

Then Adventure hit MIT and everything changed The Inform Designer's Manual, Graham Nelson
  • The largest and most widely-known company producing IF
  • Zork, A Mind Forever Voyaging, The Hitchhiker's Guide to the Galaxy
  • Sophisticated parser
  • Cross-platform adventures
  • Feelies


Murder scene feelie from Deadline

A Mind Forever Voyaging

AMFV map
  • Bought by Activision in 1986
  • Shut down in 1989
  • Trademark abandoned in 2002

1989: Legend Entertainment

  • Gateway
  • Eric the Unready
  • Spellcasting
Gateway UI screenshot

Modern Times

Windows kernel

Zork in the debugger

And then... something magical happened

But we'll get to that



ZIL truck
  • Zork Implementation Language
  • A derivative of MDL
    • Which is a derivative of Lisp
  • Created by Infocom



  • Created by Graham Nelson in 1993
    • Inform 6 released 1996
    • Object-oriented, procedural
  • Inform 7 released 2006
    • Natural language programming
    • Declarative, procedural
  • Compiles for Z-Machine and Glulx

A demo is a kind of thing

A table is a supporter in the Great Hall.
The description of the table is
"[if nothing is on the table]It's a table, Jim.[end if]".
Instead of examining the table for the first time:
	say "Dammit, Jim! I'm a parser, not a descriptionist!"
Inform 7 source code


  • Text Adventure Development System
    • Michael J. Roberts, 1988
  • Similar to C, C++ and the like

#include <adv3.h>


  • System for CYOA games
  • Created by Chris Klimas in 2009
    • Now maintained by the community
  • Author-friendly

(if:$examined != true)[Demo!]

Twine UI
Twine code


  • Developed by inkle
  • A narrative scripting language for games
  • Integration with Unity

=== demo ===

Welcome to the house of horrors!

-> intro

=== intro ===
In front of you, you can see a table.

+ {not table_first_time} [Examine the table] -> table_first_time
+ {table_first_time} [Examine the table] -> table_second_time

Some stats

Z-Machine Glulx TADS Twine ink Web
45 23 3 45 3 7

What is IF?

The truth is fluid. The truth is subjective.

Blue Lacuna

Blue Lacuna prologue

Fallen London

Fallen London sample screen

Visual novels?

Analogue: A Hate Story

Analogue: A Hate Story dialogue

Analogue: A Hate Story

Analogue: A Hate Story block search

Analogue: A Hate Story

Analogue: A Hate Story block


Kinda-sorta RPGs?

Sunless Sea

Sunless Sea sailing mode

Sunless Sea

Sunless Sea story mode

Sunless Skies

Sunless Skies flight

Sunless Skies

Sunless Skies cannibalism


Heaven's Vault

Heaven's Vault dialogue

Heaven's Vault

Heaven's Vault Elboreth

Heaven's Vault

Heaven's Vault flight

Commercial IF slowly died, and was reborn!

All this can be traced back to the days of Adventure

When the dreams were bigger

And the future brighter

Recommended Games

Something Old

Something New

I could go on...

Closing remarks

More Info

Infocom Source

50 Years of Text Games

It is pitch black. You are likely to be eaten by a grue.